VHDLwhiz.com
VHDL ចុះឈ្មោះម៉ាស៊ីនបង្កើតចំណុចប្រទាក់សាកល្បង UART - សៀវភៅណែនាំអ្នកប្រើប្រាស់
កំណែ៖ 1.0.0
កាលបរិច្ឆេទ៖ ថ្ងៃទី១៤ ខែកញ្ញា ឆ្នាំ២០២៣
អ្នកនិពន្ធ: Jonas Julian Jensen
ផលិតផល URL: https://vhdlwhiz.com/product/vhdl-registers-uart-test-interfacegenerator
អ៊ីមែលទំនាក់ទំនង៖ jonas@vhdlwhiz.com
ឯកសារនេះពិពណ៌នាអំពីការប្រើប្រាស់ឧបករណ៍បង្កើតចំណុចប្រទាក់តេស្ត UART របស់ VHDLwhiz ដើម្បីបង្កើតម៉ូឌុល VHDL ផ្ទាល់ខ្លួន និងស្គ្រីប Python សម្រាប់ការអាន និងសរសេរតម្លៃចុះឈ្មោះ FPGA ។
អាជ្ញាប័ណ្ណ
អាជ្ញាប័ណ្ណ MIT គ្របដណ្តប់លើតម្រូវការរក្សាសិទ្ធិ និងលក្ខខណ្ឌប្រើប្រាស់របស់កូដប្រភព។
យោងទៅ LICENSE.txt file នៅក្នុង Zip file សម្រាប់ព័ត៌មានលម្អិត។
កំណត់ហេតុផ្លាស់ប្តូរ
ការផ្លាស់ប្តូរទាំងនេះសំដៅទៅលើគម្រោង files ហើយឯកសារនេះត្រូវបានធ្វើបច្ចុប្បន្នភាពទៅតាមនោះ។
| កំណែ | សុន្ទរកថា |
| 1.0.0 | ការចេញផ្សាយដំបូង |
ការពិពណ៌នា
ឯកសារនេះពិពណ៌នាដូចខាងក្រោម files និងថតឯកសារ៖
- gen_uart_regs.py
- generated/uart_regs.vhd
- generated/uart_regs.py
- generated/instantiation_template.vho
- rtl/uart_regs_backend.vhd
- rtl/uart_rx.vhd
- rtl/uart_tx.vhd
- ការបង្ហាញ/បន្ទះឈើ_ទឹកកក/
- demo/xilinx_arty_a7_35/
- demo/xilinx_arty_s7_50/
នេះ។ gen_uart_regs.py ស្គ្រីបនិងគាំទ្រ VHDL files នៅក្នុងគម្រោងនេះអនុញ្ញាតឱ្យអ្នកបង្កើតចំណុចប្រទាក់ផ្ទាល់ខ្លួនសម្រាប់ការអាន និងសរសេរតម្លៃចុះឈ្មោះ FPGA នៃប្រភេទ និងទទឹងផ្សេងៗដោយប្រើ UART ។
អ្នកអាចប្រើម៉ូឌុល VHDL និងស្គ្រីប Python ដែលបានបង្កើតដើម្បីអាន ឬសរសេរទៅកាន់ចំនួនចុះឈ្មោះណាមួយនៅក្នុងការរចនារបស់អ្នក។ ការចុះឈ្មោះដែលអាចចូលប្រើ UART អាចមានប្រភេទ std_logic, std_logic_vector បានចុះហត្ថលេខា ឬមិនបានចុះហត្ថលេខា។
អ្នកអាចសម្រេចចិត្តលើសមាសភាពច្បាស់លាស់នៃបញ្ជីបញ្ចូល និងទិន្នផល និងប្រភេទនៅពេលបង្កើតលទ្ធផល files ដោយប្រើស្គ្រីប gen_uart_regs.py ។
ស្គ្រីប Python ត្រូវបានបង្កើតឡើងដោយផ្នែកដោយមានជំនួយពីឧបករណ៍ឆ្លាតវៃសិប្បនិម្មិត ChatGPT ខណៈដែលកូដ VHDL ត្រូវបានបង្កើតដោយដៃ។
តម្រូវការ
ស្គ្រីបនៅក្នុងគម្រោងនេះត្រូវតែដំណើរការតាមរយៈអ្នកបកប្រែ Python 3 ហើយកញ្ចប់ Pyserial ត្រូវតែត្រូវបានដំឡើង។
អ្នកអាចដំឡើង Pyserial តាមរយៈ Pip ដោយប្រើពាក្យបញ្ជានេះ៖ pip ដំឡើង pyserial
ពិធីការ
VHDL files និងស្គ្រីប Python ប្រើពិធីការស៊ុមទិន្នន័យដែលមានតួអក្សរបញ្ជាចំនួនបួន៖
| ឈ្មោះ | តម្លៃ | មតិយោបល់ |
| អាន REQ | អុកអូអេ | ពាក្យបញ្ជាពីម៉ាស៊ីនទៅ FPGA ដើម្បីចាប់ផ្តើមលំដាប់សរសេរដើម្បីផ្ញើការចុះឈ្មោះទាំងអស់ត្រឡប់មកវិញនៅលើ UART |
| START_WRITE | អុក ១ ប៊ី | សម្គាល់ការចាប់ផ្តើមនៃលំដាប់សរសេរក្នុងទិសដៅណាមួយ។ |
| END_WRITE | អុកស៊ីអូ | សម្គាល់ចុងបញ្ចប់នៃលំដាប់សរសេរក្នុងទិសដៅណាមួយ។ |
| រត់គេចខ្លួន | អុកអូដ | តួអក្សរ Escape ដែលប្រើសម្រាប់ការគេចចេញពីពាក្យបញ្ជាណាមួយ រួមទាំងតួអក្សរ ESCAPE ខ្លួនវា នៅពេលដែលពួកវាលេចឡើងជាទិន្នន័យរវាងសញ្ញាសម្គាល់ START_WRITE និង END_WRITE ។ |
រាល់បៃ READ_REQ ដែលមិនបានគេចផុតដែលបានផ្ញើទៅ FPGA គឺជាការណែនាំដើម្បីផ្ញើការចុះឈ្មោះដែលអាចចូលប្រើ UART ទាំងអស់ (ធាតុចូល និងលទ្ធផល) ត្រឡប់ទៅម៉ាស៊ីនវិញតាមរយៈ UART ។ ពាក្យបញ្ជានេះជាធម្មតាត្រូវបានចេញដោយស្គ្រីប uart_regs.py ប៉ុណ្ណោះ។
នៅពេលទទួលបានពាក្យបញ្ជានេះ FPGA នឹងឆ្លើយតបដោយការផ្ញើខ្លឹមសារនៃការចុះឈ្មោះទាំងអស់ត្រឡប់ទៅម្ចាស់ផ្ទះវិញ។ ទីមួយ សញ្ញាបញ្ចូល បន្ទាប់មកសញ្ញាទិន្នផល។ ប្រសិនបើប្រវែងរបស់ពួកគេមិនបន្ថែមដល់ពហុគុណនៃ 8 ប៊ីតទេ ប៊ីតទាបនៃបៃចុងក្រោយនឹងត្រូវបានដាក់លេខសូន្យ។
លំដាប់នៃការសរសេរតែងតែចាប់ផ្តើមដោយ START_WRITE បៃ ហើយបញ្ចប់ដោយ END_WRITE បៃ។ បៃណាមួយរវាងពួកវាត្រូវបានចាត់ទុកថាជាបៃទិន្នន័យ។ ប្រសិនបើបៃទិន្នន័យណាមួយមានតម្លៃដូចគ្នានឹងតួអក្សរវត្ថុបញ្ជា នោះបៃទិន្នន័យត្រូវតែគេចចេញ។ នេះមានន័យថាការផ្ញើតួអក្សរ ESCAPE បន្ថែមមុនពេលទិន្នន័យបៃដើម្បីបង្ហាញថាវាជាទិន្នន័យពិតប្រាកដ។
ប្រសិនបើ START_WRITE ដែលមិនបានគេចខ្លួនមកដល់កន្លែងណាមួយក្នុងចរន្តបៃ វាត្រូវបានចាត់ទុកថាជាការចាប់ផ្តើមនៃលំដាប់សរសេរ។ ម៉ូឌុល uart_regs_backend ប្រើព័ត៌មាននេះដើម្បីធ្វើសមកាលកម្មឡើងវិញក្នុងករណីដែលទំនាក់ទំនងមិនសមកាលកម្ម។
នេះគឺជាស្គ្រីបដែលអ្នកត្រូវតែចាប់ផ្តើមជាមួយដើម្បីបង្កើតចំណុចប្រទាក់។ ខាងក្រោមនេះគឺជារូបថតអេក្រង់នៃម៉ឺនុយជំនួយដែលអ្នកអាចទទួលបានដោយការដំណើរការ៖ python gen_uart_regs.py -h
ដើម្បីបង្កើតចំណុចប្រទាក់ផ្ទាល់ខ្លួន អ្នកត្រូវតែដំណើរការស្គ្រីបជាមួយនឹងការចុះឈ្មោះដែលអាចគ្រប់គ្រង UART ដែលអ្នកចង់បាននីមួយៗដែលបានរាយបញ្ជីជាអាគុយម៉ង់។ ប្រភេទដែលមានគឺ std_logic, std_logic_vector, unsigned និងចុះហត្ថលេខា។
របៀបលំនាំដើម (ទិសដៅ) គឺនៅក្នុង ហើយប្រភេទលំនាំដើមគឺ std_logic_vector លុះត្រាតែការចុះឈ្មោះមានប្រវែង៖ 1. បន្ទាប់មក វានឹងមានលំនាំដើមទៅជា std_logic។
ដូច្នេះ ប្រសិនបើអ្នកចង់បង្កើតសញ្ញាបញ្ចូល std_logic អ្នកអាចប្រើអាគុយម៉ង់ណាមួយទាំងនេះ៖
my_sl=1
my_sl=1: ក្នុង
my_sl=1: ក្នុង: std_logic
វ៉ារ្យ៉ង់ខាងលើទាំងអស់នឹងនាំឱ្យស្គ្រីបបង្កើតសញ្ញាដែលអាចចូលប្រើ UART នេះ៖
ចូរដំណើរការស្គ្រីបជាមួយអាគុយម៉ង់ដើម្បីបង្កើតចំណុចប្រទាក់ជាមួយនឹងការចុះឈ្មោះជាច្រើននៃទិសដៅ ប្រវែង និងប្រភេទផ្សេងៗគ្នា៖
បង្កើត files
ការដំណើរការដោយជោគជ័យនៃស្គ្រីប gen_uart_regs.py នឹងបង្កើតថតលទ្ធផលដែលមានឈ្មោះដែលបានបង្កើតជាមួយទាំងបី files បានរាយខាងក្រោម។ ប្រសិនបើពួកគេមានរួចហើយ ពួកគេនឹងសរសេរជាន់ពីលើ។
- generated/uart_regs.vhd
- generated/uart_regs.py
- generated/instantiation_template.vho
uart_regs.vhd
នេះគឺជាម៉ូឌុលចំណុចប្រទាក់ផ្ទាល់ខ្លួនដែលបង្កើតដោយស្គ្រីប។ អ្នកត្រូវបង្កើតវាភ្លាមៗនៅក្នុងការរចនារបស់អ្នក ដែលវាអាចចូលប្រើការចុះឈ្មោះដែលអ្នកចង់គ្រប់គ្រងដោយប្រើ UART ។
អ្វីគ្រប់យ៉ាងនៅខាងលើផ្នែក "– UART អាចចូលដំណើរការបានចុះឈ្មោះ" នឹងដូចគ្នាបេះបិទសម្រាប់ម៉ូឌុល uart_regs ទាំងអស់ ខណៈដែលសមាសភាពនៃសញ្ញាច្រកខាងក្រោមបន្ទាត់នោះអាស្រ័យលើអាគុយម៉ង់ដែលបានផ្តល់ឱ្យស្គ្រីបម៉ាស៊ីនភ្លើង។
បញ្ជីខាងក្រោមបង្ហាញពីអង្គភាពសម្រាប់ម៉ូឌុល uart_regs ដែលកើតចេញពីពាក្យបញ្ជាបង្កើត exampឡេបានបង្ហាញនៅក្នុង gen_uart_regs.py ផ្នែក។
អ្នកមិនចាំបាច់ធ្វើសមកាលកម្មសញ្ញា uart_rx ដូចដែលវាត្រូវបានគ្រប់គ្រងនៅក្នុង uart_rx នោះទេ។ ម៉ូឌុល។
នៅពេលដែលម៉ូឌុលទទួលបានសំណើអាន វានឹងចាប់យកតម្លៃនៃសញ្ញាបញ្ចូល និងទិន្នផលទាំងអស់នៅក្នុងវដ្តនាឡិកាបច្ចុប្បន្ន។ បន្ទាប់មករូបថតភ្លាមៗត្រូវបានផ្ញើទៅម៉ាស៊ីនតាមរយៈ UART ។
នៅពេលដែលការសរសេរកើតឡើង ការចុះឈ្មោះលទ្ធផលទាំងអស់ត្រូវបានធ្វើបច្ចុប្បន្នភាពជាមួយនឹងតម្លៃថ្មីក្នុងរង្វង់នាឡិកាដូចគ្នា។ វាមិនអាចទៅរួចទេក្នុងការផ្លាស់ប្តូរតម្លៃសញ្ញាទិន្នផលជាលក្ខណៈបុគ្គល។
ទោះយ៉ាងណាក៏ដោយ ស្គ្រីប uart_regs.py អនុញ្ញាតឱ្យអ្នកប្រើធ្វើបច្ចុប្បន្នភាពតែលទ្ធផលដែលបានជ្រើសរើសដោយអានឡើងវិញនូវតម្លៃបច្ចុប្បន្ននៃការចុះឈ្មោះទាំងអស់។ បន្ទាប់មកវាសរសេរមកវិញនូវតម្លៃទាំងអស់ រួមទាំងតម្លៃដែលបានធ្វើបច្ចុប្បន្នភាពផងដែរ។
uart_regs.py
បង្កើត/uart_regs.py file ត្រូវបានបង្កើតរួមគ្នាជាមួយម៉ូឌុល uart_regs VHDL និងមានព័ត៌មានចុះឈ្មោះផ្ទាល់ខ្លួននៅក្នុងបឋមកថានៃ file. ជាមួយនឹងស្គ្រីបនេះ អ្នកអាចអានពី ឬសរសេរទៅកាន់ការចុះឈ្មោះផ្ទាល់ខ្លួនរបស់អ្នកបានយ៉ាងងាយស្រួល។
ម៉ឺនុយជំនួយ
វាយ python uart_regs.py -h ដើម្បីបោះពុម្ពម៉ឺនុយជំនួយ៖
កំណត់ច្រក UART
ស្គ្រីបមានជម្រើសដើម្បីកំណត់ច្រក UART ដោយប្រើកុងតាក់ -c ។ វាដំណើរការលើ Windows និង Linux ។ កំណត់វាទៅច្រកដែលមានរាយក្នុងបញ្ជីជំនួយ។ ដើម្បីកំណត់ច្រកលំនាំដើម អ្នកក៏អាចកែសម្រួលអថេរ UART_PORT នៅក្នុងស្គ្រីប uart_regs.py ផងដែរ។
ការចុះបញ្ជីការចុះបញ្ជី
ព័ត៌មានអំពីការគូសផែនទីចុះឈ្មោះត្រូវបានដាក់ក្នុងបឋមកថានៃស្គ្រីប uart_regs.py ដោយស្គ្រីប gen_uart_regs.py ។ អ្នកអាចរាយបញ្ជីបញ្ជីដែលមានជាមួយកុងតាក់ -l ដូចដែលបានឃើញខាងក្រោម។ នេះគឺជាពាក្យបញ្ជាក្នុងស្រុក ហើយនឹងមិនធ្វើអន្តរកម្មជាមួយ FPGA គោលដៅទេ។ 
សរសេរទៅចុះឈ្មោះ
អ្នកអាចសរសេរទៅបញ្ជីចេញណាមួយដោយប្រើកុងតាក់ -w ។ ផ្តល់ឈ្មោះចុះឈ្មោះតាមដោយ “=” និងតម្លៃដែលបានផ្តល់ជាគោលពីរ គោលដប់ប្រាំមួយ ឬតម្លៃទសភាគ ដូចបង្ហាញខាងក្រោម។
ចំណាំ ថាការអនុវត្ត VHDL ទាមទារស្គ្រីបដើម្បីសរសេរការចុះឈ្មោះលទ្ធផលទាំងអស់ក្នុងពេលដំណាលគ្នា។ ដូច្នេះ ប្រសិនបើអ្នកមិនបញ្ជាក់សំណុំពេញលេញនៃការចុះឈ្មោះលទ្ធផលទេ ស្គ្រីបនឹងអនុវត្តការអានពីគោលដៅ FPGA ជាមុនសិន ហើយបន្ទាប់មកប្រើតម្លៃទាំងនោះសម្រាប់តម្លៃដែលបាត់។ លទ្ធផលនឹងគឺថាមានតែការចុះឈ្មោះដែលបានបញ្ជាក់ផ្លាស់ប្តូរ។
នៅពេលអ្នកធ្វើការសរសេរ ការចុះឈ្មោះដែលបានបញ្ជាក់ទាំងអស់នឹងផ្លាស់ប្តូរក្នុងអំឡុងពេលវដ្តនាឡិកាដូចគ្នា មិនមែនភ្លាមៗនៅពេលដែលពួកគេបានទទួល UART នោះទេ។
ការចុះឈ្មោះការអាន
ប្រើកុងតាក់ -r ដើម្បីអានតម្លៃចុះឈ្មោះទាំងអស់ ដូចបានបង្ហាញខាងក្រោម។ តម្លៃដែលបានសម្គាល់ជាពណ៌លឿងគឺជាតម្លៃដែលយើងបានផ្លាស់ប្តូរនៅក្នុងការសរសេរពីមុនampលេ
រាល់ការអានបង្ហាញរូបថតភ្លាមៗនៃបញ្ជីបញ្ចូល និងលទ្ធផលទាំងអស់។ ពួកគេទាំងអស់គឺ sampដឹកនាំក្នុងអំឡុងពេលវដ្តនាឡិកាដូចគ្នា។
ការបំបាត់កំហុស
ប្រើកុងតាក់ -d ជាមួយកុងតាក់ផ្សេងទៀត ប្រសិនបើអ្នកត្រូវការបំបាត់កំហុសពិធីការទំនាក់ទំនង។ បន្ទាប់មក ស្គ្រីបនឹងបោះពុម្ពចេញរាល់បៃដែលបានផ្ញើ និងទទួល និង tag ពួកវា ប្រសិនបើពួកវាជាតួអក្សរគ្រប់គ្រង ដូចបានបង្ហាញខាងក្រោម

ការប្រើប្រាស់ចំណុចប្រទាក់នៅក្នុងស្គ្រីប Python ផ្សេងទៀត។
ស្គ្រីប uart_regs.py មានថ្នាក់ UartRegs ដែលអ្នកអាចប្រើយ៉ាងងាយស្រួលជាចំណុចប្រទាក់ទំនាក់ទំនងនៅក្នុងស្គ្រីប Python ផ្ទាល់ខ្លួនផ្សេងទៀត។ គ្រាន់តែនាំចូលថ្នាក់ បង្កើតវត្ថុរបស់វា ហើយចាប់ផ្តើមប្រើវិធីសាស្រ្ត ដូចបានបង្ហាញខាងក្រោម។
យោងទៅ docstrings ក្នុងកូដ Python សម្រាប់វិធីសាស្រ្ត និងការពិពណ៌នា និងប្រភេទតម្លៃត្រឡប់។
instantiation_template.vho
គំរូ instantiation ត្រូវបានបង្កើតរួមជាមួយនឹងម៉ូឌុល uart_regs សម្រាប់ភាពងាយស្រួលរបស់អ្នក។ ដើម្បីសន្សំពេលវេលាសរសេរកូដ អ្នកអាចចម្លងការបញ្ជាក់ម៉ូឌុល និងការប្រកាសសញ្ញាទៅក្នុងការរចនារបស់អ្នក។

ឋិតិវន្ត RTL files
អ្នកត្រូវរួមបញ្ចូលដូចខាងក្រោម files នៅក្នុងគម្រោង VHDL របស់អ្នក ដូច្នេះពួកវាត្រូវបានចងក្រងទៅក្នុងបណ្ណាល័យដូចគ្នាជាមួយនឹងម៉ូឌុល uart_regs៖
- rtl/uart_regs_backend.vhd
- rtl/uart_rx.vhd
- rtl/uart_tx.vhd
ម៉ូឌុល uart_regs_backend អនុវត្តម៉ាស៊ីនកំណត់ដែលកំណត់ម៉ោងចូល និងចេញទិន្នន័យចុះឈ្មោះ។ វាប្រើម៉ូឌុល uart_rx និង uart_tx ដើម្បីគ្រប់គ្រងទំនាក់ទំនង UART ជាមួយម៉ាស៊ីន។
គម្រោងសាកល្បង
មានគម្រោងសាកល្បងចំនួន XNUMX រួមបញ្ចូលនៅក្នុង Zip file. ពួកគេអនុញ្ញាតឱ្យអ្នកគ្រប់គ្រងគ្រឿងកុំព្យូទ័រនៅលើក្តារផ្សេងៗគ្នា ក៏ដូចជាការចុះបញ្ជីខាងក្នុងធំជាងមួយចំនួន។
ថតសាកល្បងរួមមាន uart_regs.vhd និង uart_regs.py ដែលបានបង្កើតជាមុន fileបង្កើតជាពិសេសសម្រាប់ការរចនាទាំងនោះ។
បន្ទះឈើ iCEstick
ថត demo/icecube2_icestick មានការចុះឈ្មោះចូលប្រើប្រាស់ការអនុវត្តសាកល្បងសម្រាប់បន្ទះ Lattice iCEstick FPGA។
ដើម្បីដំណើរការតាមរយៈដំណើរការអនុវត្ត សូមបើក demo/lattice_icestick/icecube2_proj/uart_regs_sbt.project file នៅក្នុងកម្មវិធីរចនា Lattice iCEcube2 ។
បន្ទាប់ពីផ្ទុកគម្រោងក្នុង iCEcube2 GUI សូមចុច Tools → Run All ដើម្បីបង្កើតកម្មវិធី bitmap file.
អ្នកអាចប្រើឧបករណ៍ Lattice Diamond Programmer Standalone ដើម្បីកំណត់រចនាសម្ព័ន្ធ FPGA ជាមួយនឹងផែនទីប៊ីតដែលបានបង្កើត file. នៅពេល Diamond Programmer បើក សូមចុច Open an programmer program ដែលមានស្រាប់ក្នុងប្រអប់ស្វាគមន៍។
ជ្រើសរើសគម្រោង file រកឃើញនៅក្នុង Zip: demo/lattice_icestick/diamond_programmer_project.xcf ហើយចុច OK ។
បន្ទាប់ពីគម្រោងផ្ទុកឡើង សូមចុចចំណុចបីក្នុងប្រអប់ File ឈ្មោះជួរឈរដូចបានបង្ហាញខាងលើ។ រកមើលដើម្បីជ្រើសរើសផែនទីប៊ីត file ដែលអ្នកបានបង្កើតនៅក្នុង iCEcube2៖ demo/lattice_icestick/icecube2_proj/uart_regs_Implmnt/sbt/outputs/bitmap/top_ice stick_bitmap.bin
ជាចុងក្រោយ ជាមួយនឹងបន្ទះ iCEstick ដែលបានដោតចូលទៅក្នុងរន្ធ USB នៅលើកុំព្យូទ័ររបស់អ្នក សូមជ្រើសរើស រចនា → កម្មវិធី ដើម្បីសរសេរកម្មវិធី SPI flash និងកំណត់រចនាសម្ព័ន្ធ FPGA ។
ឥឡូវនេះ អ្នកអាចបន្តអាន និងសរសេរការចុះឈ្មោះដោយប្រើស្គ្រីប demo/lattice_icestick/uart_regs.py ដូចដែលបានពិពណ៌នានៅក្នុងផ្នែក uart_regs.py ។
Xilinx Digilent Arty A7-35T
អ្នកអាចស្វែងរកការអនុវត្តសាកល្បងសម្រាប់ឧបករណ៍វាយតម្លៃ Artix-7 35T Arty FPGA នៅក្នុងថត demo/arty_a7_35។
បើក Vivado ហើយរុករកទៅការស្រង់ចេញ fileប្រើកុងសូល Tcl ដែលរកឃើញនៅខាងក្រោមនៃចំណុចប្រទាក់ GUI ។ វាយពាក្យបញ្ជានេះដើម្បីបញ្ចូលថតគម្រោងសាកល្បង៖ ស៊ីឌី /demo/arty_a7_35/vivado_proj/
ប្រតិបត្តិស្គ្រីប create_vivado_proj.tcl Tcl ដើម្បីបង្កើតគម្រោង Vivado ឡើងវិញ៖ ប្រភព ./create_vivado_proj.tcl
ចុចបង្កើត Bitstream នៅក្នុងរបារចំហៀងដើម្បីដំណើរការតាមជំហានអនុវត្តទាំងអស់ និងបង្កើត bitstream កម្មវិធី file.
ជាចុងក្រោយ ចុចបើកកម្មវិធីគ្រប់គ្រងផ្នែករឹង ហើយសរសេរកម្មវិធី FPGA តាមរយៈ GUI ។
ឥឡូវនេះ អ្នកអាចបន្តអាន និងសរសេរការចុះឈ្មោះដោយប្រើ demo/arty_a7_35/uart_regs.py script ដូចដែលបានពិពណ៌នានៅក្នុងផ្នែក uart_regs.py ។
Xilinx Digilent Arty S7-50
អ្នកអាចស្វែងរកការអនុវត្តការបង្ហាញសម្រាប់ Arty S7: Spartan-7 FPGA development board នៅក្នុង demo/arty_s7_50 folder។
បើក Vivado ហើយរុករកទៅការស្រង់ចេញ fileប្រើកុងសូល Tcl ដែលរកឃើញនៅខាងក្រោមនៃចំណុចប្រទាក់ GUI ។ វាយពាក្យបញ្ជានេះដើម្បីបញ្ចូលថតគម្រោងសាកល្បង៖ ស៊ីឌី /demo/arty_s7_50/vivado_proj/
ប្រតិបត្តិស្គ្រីប create_vivado_proj.tcl Tcl ដើម្បីបង្កើតគម្រោង Vivado ឡើងវិញ៖ ប្រភព ./create_vivado_proj.tcl
ចុចបង្កើត Bitstream នៅក្នុងរបារចំហៀងដើម្បីដំណើរការតាមជំហានអនុវត្តទាំងអស់ និងបង្កើត bitstream កម្មវិធី file.
ជាចុងក្រោយ ចុចបើកកម្មវិធីគ្រប់គ្រងផ្នែករឹង ហើយសរសេរកម្មវិធី FPGA តាមរយៈ GUI ។
ឥឡូវនេះ អ្នកអាចបន្តអាន និងសរសេរការចុះឈ្មោះដោយប្រើស្គ្រីប demo/arty_s7_50/uart_regs.py ដូចដែលបានពិពណ៌នានៅក្នុងផ្នែក uart_regs.py ។
ការអនុវត្ត
មិនមានតម្រូវការអនុវត្តជាក់លាក់ទេ។
ឧបសគ្គ
មិនចាំបាច់មានការកំណត់ពេលវេលាជាក់លាក់សម្រាប់ការរចនានេះទេ ដោយសារចំណុចប្រទាក់ UART មានភាពយឺតយ៉ាវ និងត្រូវបានចាត់ទុកជាចំណុចប្រទាក់អសមកាល។
ការបញ្ចូល uart_rx ទៅម៉ូឌុល uart_regs ត្រូវបានធ្វើសមកាលកម្មនៅក្នុងម៉ូឌុល uart_rx ។ ដូច្នេះ វាមិនចាំបាច់ធ្វើសមកាលកម្មនៅក្នុងម៉ូឌុលកម្រិតកំពូលទេ។
បញ្ហាដែលគេស្គាល់
- អ្នកប្រហែលជាត្រូវកំណត់ម៉ូឌុលឡើងវិញមុនពេលវាអាចប្រើបាន អាស្រ័យលើថាតើស្ថាបត្យកម្ម FPGA របស់អ្នកគាំទ្រតម្លៃចុះឈ្មោះលំនាំដើមឬអត់។
រក្សាសិទ្ធិ VHDLwhiz.com
ឯកសារ/ធនធាន
![]() |
VHDLwhiz VHDL ចុះឈ្មោះឧបករណ៍បង្កើតចំណុចប្រទាក់តេស្ត UART [pdf] សៀវភៅណែនាំអ្នកប្រើប្រាស់ VHDL, VHDL ចុះឈ្មោះម៉ាស៊ីនបង្កើតចំណុចប្រទាក់សាកល្បង UART, ចុះឈ្មោះម៉ាស៊ីនបង្កើតចំណុចប្រទាក់សាកល្បង UART, ម៉ាស៊ីនបង្កើតចំណុចប្រទាក់សាកល្បង UART, តេស្តបង្កើតចំណុចប្រទាក់, ម៉ាស៊ីនបង្កើតចំណុចប្រទាក់, ម៉ាស៊ីនភ្លើង |
