បញ្ហា (The Problem)៖ ការធ្វើតេស្តបន្ទះសៀគ្វីអេឡិចត្រូនិកដែលមានទំហំតូចជួបប្រទះភាពស្មុគស្មាញ និងចំណាយខ្ពស់ ដោយសារខ្វះចំណុចភ្ជាប់សម្រាប់ឧបករណ៍តេស្តធម្មតា (Bed-of-nails)។ ការស្រាវជ្រាវនេះមានគោលបំណងដោះស្រាយបញ្ហានេះតាមរយៈការបង្កើតចំណុចប្រទាក់ API ដែលមានតម្លៃទាបសម្រាប់ប្រើប្រាស់បច្ចេកទេសស្កេនព្រំដែន (Boundary-Scan)។
វិធីសាស្ត្រ (The Methodology)៖ ការស្រាវជ្រាវនេះបានរចនាសៀគ្វីភ្ជាប់កុំព្យូទ័រ និងបង្កើតកម្មវិធី Java API ផ្អែកលើស្តង់ដារ IEEE 1149.1 ដើម្បីភ្ជាប់ទៅកាន់ច្រកតេស្ត (Test Access Port) របស់ឧបករណ៍ FPGA ។
លទ្ធផលសំខាន់ៗ (The Verdict)៖
| វិធីសាស្ត្រ (Method) | គុណសម្បត្តិ (Pros) | គុណវិបត្តិ (Cons) | លទ្ធផលគន្លឹះ (Key Result) |
|---|---|---|---|
| Traditional Bed-of-nails Testing / Expensive ATE ការធ្វើតេស្តដោយប្រើឧបករណ៍ Bed-of-nails និងឧបករណ៍តេស្តតម្លៃថ្លៃ (ATE) |
មានប្រសិទ្ធភាពខ្ពស់សម្រាប់បន្ទះសៀគ្វីធំៗជំនាន់មុន ដែលមានចន្លោះសម្រាប់ភ្ជាប់ជើងសាកល្បងដោយផ្ទាល់។ មិនត្រូវការការរចនាសៀគ្វីបន្ថែម (DFT) ស្មុគស្មាញនៅលើបន្ទះនោះទេ។ | មានតម្លៃថ្លៃខ្លាំង និងមិនអាច ឬពិបាកប្រើប្រាស់ជាមួយបន្ទះសៀគ្វីជំនាន់ថ្មីដែលមានទំហំតូច (ដូចជា BGA និង SMT) ដោយសារគ្មានកន្លែងសម្រាប់ភ្ជាប់ឧបករណ៍។ | មិនស័ក្តិសម និងមានការចំណាយខ្ពស់ពេកសម្រាប់បច្ចេកវិទ្យាវេចខ្ចប់គ្រឿងអេឡិចត្រូនិកខ្នាតតូចទំនើប។ |
| Java API Boundary-Scan via PC Parallel Port ការស្កេនព្រំដែន (Boundary-Scan) តាមរយៈកម្មវិធី Java API និងច្រកប៉ារ៉ាឡែលរបស់កុំព្យូទ័រ |
ចំណាយតិច ងាយស្រួលអភិវឌ្ឍនិងពង្រីកមុខងារដោយប្រើវិធីសាស្ត្រ Object-Oriented ក្នុងភាសា Java និងអាចតេស្តជើងសៀគ្វី (Pins) បានគ្រប់ជ្រុងជ្រោយដោយមិនបាច់ប៉ះផ្ទាល់។ | ល្បឿនមានកម្រិតទាប (រាំងស្ទះដោយសារសមត្ថភាពរបស់ច្រកប៉ារ៉ាឡែលរបៀប SPP) និងទាមទារឱ្យមានការរៀបចំកូដ VHDL ជាមុន (Design-for-Test)។ | សម្រេចបានប្រេកង់ស្កេនអតិបរមា 3.3574 KHz លើឧបករណ៍ FPGA XC4010E ដែលមាន 488 សែល (Cells) ដោយផ្តល់លទ្ធផលត្រឹមត្រូវតាមសៀគ្វីជាក់ស្តែង។ |
ការចំណាយលើធនធាន (Resource Cost)៖ ការស្រាវជ្រាវនេះតម្រូវឱ្យមានការរួមបញ្ចូលគ្នានូវផ្នែករឹងតម្លៃថោក កម្មវិធីអភិវឌ្ឍន៍សៀគ្វីឌីជីថល និងចំណេះដឹងផ្នែកសរសេរកូដកម្រិតខ្ពស់ ដើម្បីបង្កើតប្រព័ន្ធតេស្តនេះ។
ការសិក្សានេះត្រូវបានធ្វើឡើងនៅក្នុងប្រទេសថៃ (សហការរវាងក្រុមហ៊ុន Seagate និងសាកលវិទ្យាល័យកាសេតសាត) ដោយប្រើប្រាស់បន្ទះសៀគ្វី Xilinx XC4010E ជំនាន់ចាស់ និងច្រកប៉ារ៉ាឡែលកុំព្យូទ័រ (Parallel Port) ដែលបច្ចុប្បន្នហួសសម័យទៅហើយ។ ទោះជាយ៉ាងណាក៏ដោយ គោលគំនិតនៃការប្រើប្រាស់ JTAG សម្រាប់ការធ្វើតេស្តសៀគ្វីនៅតែមានសារៈសំខាន់ខ្លាំងសម្រាប់ការអប់រំផ្នែកវិស្វកម្ម ដោយវាផ្តល់នូវមូលដ្ឋានគ្រឹះដ៏ល្អសម្រាប់និស្សិតកម្ពុជាក្នុងការយល់ដឹងពីបច្ចេកទេស Design-for-Test (DFT) ក្នុងតម្លៃទាប។
វិធីសាស្ត្រក្នុងការបង្កើតឧបករណ៍តេស្តសៀគ្វីអេឡិចត្រូនិកតម្លៃទាបនេះ គឺមានអត្ថប្រយោជន៍ និងអាចយកមកអនុវត្តបាននៅក្នុងវិស័យអប់រំ និងឧស្សាហកម្មអេឡិចត្រូនិកខ្នាតតូចនៅកម្ពុជា។
ជារួម ការធ្វើបច្ចុប្បន្នភាពបច្ចេកទេសនេះទៅប្រើជាមួយច្រកតភ្ជាប់ទំនើប (ដូចជា USB ឬ Firewire) នឹងធ្វើឱ្យវាលេចចេញជាដំណោះស្រាយដ៏មានសក្តានុពល និងចំណាយតិចបំផុតសម្រាប់ការផលិត សាកល្បង និងអប់រំផ្នែកអេឡិចត្រូនិកនៅកម្ពុជា។
ដើម្បីអនុវត្តតាមការសិក្សានេះ និស្សិតគួរអនុវត្តតាមជំហានខាងក្រោម៖
| ពាក្យបច្ចេកទេស | ការពន្យល់ជាខេមរភាសា (Khmer Explanation) | និយមន័យសាមញ្ញ (Simple Definition) |
|---|---|---|
| Boundary-Scan (ការស្កេនព្រំដែន) | ជាបច្ចេកទេសធ្វើតេស្តសៀគ្វីអេឡិចត្រូនិកនៅលើបន្ទះ PCB ដោយមិនចាំបាច់ប្រើម្ជុលចាក់ផ្ទាល់លើជើងសៀគ្វី (Bed-of-nails) តែប្រើប្រាស់ខ្សែសញ្ញាបញ្ជូនទិន្នន័យជាស៊េរីកាត់តាមជើងសៀគ្វីនីមួយៗ (តាមរយៈរេជីស្ទ័រ) ដើម្បីពិនិត្យមើលស្ថានភាពនៃការតភ្ជាប់របស់វា។ | ដូចជាការត្រួតពិនិត្យសុខភាពសិស្សម្នាក់ៗនៅក្នុងជួរ ដោយគ្រាន់តែឱ្យសិស្សចាប់ដៃគ្នាបន្តវេនប្រាប់ព័ត៌មានពីម្នាក់ទៅម្នាក់ ជំនួសឱ្យការដើរទៅពិនិត្យផ្ទាល់ម្តងម្នាក់ៗ។ |
| JTAG / IEEE 1149.1 (ក្រុមសកម្មភាពតេស្តរួម / ស្តង់ដារ IEEE 1149.1) | ជាស្តង់ដារអន្តរជាតិសម្រាប់អនុវត្តបច្ចេកទេសស្កេនព្រំដែន ដែលកំណត់ពីរបៀបភ្ជាប់ និងបញ្ជូនសញ្ញាតេស្តចំនួន ៤ ឬ ៥ (TDI, TDO, TMS, TCK, TRST) ចូលទៅក្នុងបន្ទះសៀគ្វីដើម្បីត្រួតពិនិត្យកំហុស។ | ដូចជាច្បាប់ចរាចរណ៍អន្តរជាតិដែលគ្រប់គ្នាយល់ព្រមអនុវត្តតាម ដើម្បីធានាថាទិន្នន័យអាចធ្វើដំណើរឆ្លងកាត់សៀគ្វីផ្សេងៗគ្នាដោយមានរបៀបរៀបរយ។ |
| FPGA (Field-Programmable Gate Array) (អារេក្លោងទ្វារដែលអាចសរសេរកម្មវិធីបាន) | ជាប្រភេទបន្ទះសៀគ្វីរួមបញ្ចូលគ្នា (IC) ដែលអនុញ្ញាតឱ្យវិស្វករអាចសរសេរកូដរចនា និងផ្លាស់ប្តូរមុខងាររបស់វាតាមតម្រូវការ ទោះបីជាវាត្រូវបានផលិតចេញពីរោងចក្ររួចរាល់ហើយក៏ដោយ។ | ដូចជាដុំឡេហ្គោ (Lego) ដែលអ្នកអាចយកមកផ្គុំជារូបរាងអ្វីក៏បាន (ឡាន ផ្ទះ រ៉ូបូត) ទៅតាមការគិតរបស់អ្នក ផ្ទុយពីប្រដាប់ក្មេងលេងដែលចាក់ពុម្ពចេញជារូបរាងស្រេច។ |
| TAP Controller (Test Access Port Controller) (ឧបករណ៍បញ្ជាច្រកចូលតេស្ត) | ជាម៉ាស៊ីនកំណត់ស្ថានភាព (State Machine) ដែលមាន ១៦ ស្ថានភាព នៅខាងក្នុងបន្ទះសៀគ្វី JTAG សម្រាប់គ្រប់គ្រងដំណើរការនៃការធ្វើតេស្ត ដូចជាការចាប់យកទិន្នន័យ (Capture) បញ្ជូនទិន្នន័យ (Shift) ឬធ្វើបច្ចុប្បន្នភាពទិន្នន័យ (Update)។ | ដូចជាអ្នកប្តូរផ្លូវរថភ្លើងដែលអង្គុយរង់ចាំបញ្ជាដើម្បីកាច់ចង្កូតរថភ្លើងឱ្យចូលទៅផ្លូវត្រូវ ថាតើត្រូវឈប់ ត្រូវទៅមុខ ឬត្រូវទម្លាក់ទំនិញ។ |
| BSDL (Boundary-Scan Description Language) (ភាសាពិពណ៌នាការស្កេនព្រំដែន) | ជាឯកសារទិន្នន័យដែលផ្តល់ដោយក្រុមហ៊ុនផលិតសៀគ្វី ដែលពិពណ៌នាអំពីលក្ខណៈពិសេសនៃការស្កេនព្រំដែនរបស់បន្ទះសៀគ្វីនីមួយៗ (ដូចជាចំនួនជើងសៀគ្វី និងទីតាំងសែល) ដើម្បីឱ្យកម្មវិធីតេស្តអាចស្គាល់និងដំណើរការជាមួយវាបាន។ | ដូចជាប្លង់អគារ ដែលប្រាប់អ្នករៀបចំកម្មវិធីថាអគារនេះមានទ្វារប៉ុន្មាន បន្ទប់ណាខ្លះ ដើម្បីងាយស្រួលដើរចូលពិនិត្យដោយមិនវង្វេង។ |
| VHDL (VHSIC Hardware Description Language) (ភាសាពិពណ៌នាផ្នែករឹង) | ជាភាសាសរសេរកូដកម្រិតខ្ពស់មួយប្រភេទដែលប្រើសម្រាប់ពិពណ៌នាពីរចនាសម្ព័ន្ធ និងអាកប្បកិរិយារបស់ប្រព័ន្ធសៀគ្វីឌីជីថល ដើម្បីយកទៅបំប្លែងបញ្ចូលទៅក្នុងឧបករណ៍ដែលអាចសរសេរកម្មវិធីបានដូចជា FPGA។ | ដូចជាភាសាដែលស្ថាបត្យករប្រើសម្រាប់គូរប្លង់ផ្ទះលម្អិត ដើម្បីឱ្យជាងសំណង់យកទៅសាងសង់ឱ្យលេចចេញជារូបរាងពិតប្រាកដ។ |
| Design-for-Test (DFT) (ការរចនាសម្រាប់ការធ្វើតេស្ត) | ជាបច្ចេកទេសវិស្វកម្មដែលតម្រូវឱ្យមានការបញ្ចូលមុខងារ ឬសៀគ្វីពិសេសៗទៅក្នុងរចនាសម្ព័ន្ធដើមនៃប្រព័ន្ធតាំងពីដំណាក់កាលគូរប្លង់ ដើម្បីងាយស្រួលក្នុងការត្រួតពិនិត្យរកកំហុសពេលវាផលិតរួច។ | ដូចជាការសាងសង់អគារដោយទុកច្រកសម្ងាត់ ឬទ្វារសុវត្ថិភាពតាំងពីពេលគូរប្លង់ ដើម្បីឱ្យអ្នកពន្លត់អគ្គិភ័យងាយស្រួលចូលជួយសង្គ្រោះពេលមានអាសន្ន។ |
| JNI (Java Native Interface) (ចំណុចប្រទាក់ដើមរបស់ Java) | ជាយន្តការមួយនៅក្នុងភាសា Java ដែលអនុញ្ញាតឱ្យកូដ Java អាចហៅ និងដំណើរការជាមួយបណ្ណាល័យកូដ (Libraries) ដែលសរសេរដោយភាសាផ្សេងទៀត (ដូចជា C/C++) ឬកូដដែលទាក់ទងដោយផ្ទាល់ជាមួយផ្នែករឹង (Hardware) ដូចជាច្រកប៉ារ៉ាឡែលរបស់កុំព្យូទ័រ។ | ដូចជាអ្នកបកប្រែភាសាដែលជួយឱ្យអ្នកគ្រប់គ្រង (Java) អាចបញ្ជាផ្ទាល់ទៅកាន់កម្មករក្នុងស្រុក (Hardware) ដែលនិយាយភាសាផ្សេងគ្នាបានយ៉ាងរលូន។ |
អត្ថបទដែលបានបោះពុម្ពនៅលើ KhmerResearch ដែលទាក់ទងនឹងប្រធានបទនេះ៖
ប្រធានបទ និងសំណួរស្រាវជ្រាវដែលទាក់ទងនឹងឯកសារនេះ ដែលអ្នកអាចស្វែងរកបន្ថែម៖