VHDLwhiz - និមិត្តសញ្ញា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 ប្រើព័ត៌មាននេះដើម្បីធ្វើសមកាលកម្មឡើងវិញក្នុងករណីដែលទំនាក់ទំនងមិនសមកាលកម្ម។

gen_uart_regs.py

នេះគឺជាស្គ្រីបដែលអ្នកត្រូវតែចាប់ផ្តើមជាមួយដើម្បីបង្កើតចំណុចប្រទាក់។ ខាងក្រោមនេះគឺជារូបថតអេក្រង់នៃម៉ឺនុយជំនួយដែលអ្នកអាចទទួលបានដោយការដំណើរការ៖ python gen_uart_regs.py -hVHDLwhiz VHDL ចុះឈ្មោះកម្មវិធីបង្កើតចំណុចប្រទាក់សាកល្បង UART - កូដ

ដើម្បីបង្កើតចំណុចប្រទាក់ផ្ទាល់ខ្លួន អ្នកត្រូវតែដំណើរការស្គ្រីបជាមួយនឹងការចុះឈ្មោះដែលអាចគ្រប់គ្រង 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 នេះ៖VHDLwhiz VHDL ចុះឈ្មោះឧបករណ៍បង្កើតចំណុចប្រទាក់សាកល្បង UART - លេខកូដ 2

ចូរដំណើរការស្គ្រីបជាមួយអាគុយម៉ង់ដើម្បីបង្កើតចំណុចប្រទាក់ជាមួយនឹងការចុះឈ្មោះជាច្រើននៃទិសដៅ ប្រវែង និងប្រភេទផ្សេងៗគ្នា៖VHDLwhiz VHDL ចុះឈ្មោះឧបករណ៍បង្កើតចំណុចប្រទាក់សាកល្បង UART - លេខកូដ 3

បង្កើត 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 ផ្នែក។VHDLwhiz VHDL ចុះឈ្មោះឧបករណ៍បង្កើតចំណុចប្រទាក់សាកល្បង UART - លេខកូដ 4

អ្នកមិនចាំបាច់ធ្វើសមកាលកម្មសញ្ញា uart_rx ដូចដែលវាត្រូវបានគ្រប់គ្រងនៅក្នុង uart_rx នោះទេ។ ម៉ូឌុល។
នៅពេលដែលម៉ូឌុលទទួលបានសំណើអាន វានឹងចាប់យកតម្លៃនៃសញ្ញាបញ្ចូល និងទិន្នផលទាំងអស់នៅក្នុងវដ្តនាឡិកាបច្ចុប្បន្ន។ បន្ទាប់មករូបថតភ្លាមៗត្រូវបានផ្ញើទៅម៉ាស៊ីនតាមរយៈ UART ។
នៅពេលដែលការសរសេរកើតឡើង ការចុះឈ្មោះលទ្ធផលទាំងអស់ត្រូវបានធ្វើបច្ចុប្បន្នភាពជាមួយនឹងតម្លៃថ្មីក្នុងរង្វង់នាឡិកាដូចគ្នា។ វាមិនអាចទៅរួចទេក្នុងការផ្លាស់ប្តូរតម្លៃសញ្ញាទិន្នផលជាលក្ខណៈបុគ្គល។
ទោះយ៉ាងណាក៏ដោយ ស្គ្រីប uart_regs.py អនុញ្ញាតឱ្យអ្នកប្រើធ្វើបច្ចុប្បន្នភាពតែលទ្ធផលដែលបានជ្រើសរើសដោយអានឡើងវិញនូវតម្លៃបច្ចុប្បន្ននៃការចុះឈ្មោះទាំងអស់។ បន្ទាប់មកវាសរសេរមកវិញនូវតម្លៃទាំងអស់ រួមទាំងតម្លៃដែលបានធ្វើបច្ចុប្បន្នភាពផងដែរ។

uart_regs.py
បង្កើត/uart_regs.py file ត្រូវបានបង្កើតរួមគ្នាជាមួយម៉ូឌុល uart_regs VHDL និងមានព័ត៌មានចុះឈ្មោះផ្ទាល់ខ្លួននៅក្នុងបឋមកថានៃ file. ជាមួយនឹងស្គ្រីបនេះ អ្នកអាចអានពី ឬសរសេរទៅកាន់ការចុះឈ្មោះផ្ទាល់ខ្លួនរបស់អ្នកបានយ៉ាងងាយស្រួល។
ម៉ឺនុយជំនួយ
វាយ python uart_regs.py -h ដើម្បីបោះពុម្ពម៉ឺនុយជំនួយ៖VHDLwhiz VHDL ចុះឈ្មោះឧបករណ៍បង្កើតចំណុចប្រទាក់សាកល្បង UART - លេខកូដ 5

កំណត់ច្រក UART

ស្គ្រីបមានជម្រើសដើម្បីកំណត់ច្រក UART ដោយប្រើកុងតាក់ -c ។ វាដំណើរការលើ Windows និង Linux ។ កំណត់វាទៅច្រកដែលមានរាយក្នុងបញ្ជីជំនួយ។ ដើម្បីកំណត់ច្រកលំនាំដើម អ្នកក៏អាចកែសម្រួលអថេរ UART_PORT នៅក្នុងស្គ្រីប uart_regs.py ផងដែរ។
ការចុះបញ្ជីការចុះបញ្ជី
ព័ត៌មានអំពីការគូសផែនទីចុះឈ្មោះត្រូវបានដាក់ក្នុងបឋមកថានៃស្គ្រីប uart_regs.py ដោយស្គ្រីប gen_uart_regs.py ។ អ្នកអាចរាយបញ្ជីបញ្ជីដែលមានជាមួយកុងតាក់ -l ដូចដែលបានឃើញខាងក្រោម។ នេះគឺជាពាក្យបញ្ជាក្នុងស្រុក ហើយនឹងមិនធ្វើអន្តរកម្មជាមួយ FPGA គោលដៅទេ។ VHDLwhiz VHDL ចុះឈ្មោះឧបករណ៍បង្កើតចំណុចប្រទាក់សាកល្បង UART - លេខកូដ 6

សរសេរទៅចុះឈ្មោះ

អ្នក​អាច​សរសេរ​ទៅ​បញ្ជី​ចេញ​ណា​មួយ​ដោយ​ប្រើ​កុងតាក់ -w ។ ផ្តល់ឈ្មោះចុះឈ្មោះតាមដោយ “=” និងតម្លៃដែលបានផ្តល់ជាគោលពីរ គោលដប់ប្រាំមួយ ឬតម្លៃទសភាគ ដូចបង្ហាញខាងក្រោម។VHDLwhiz VHDL ចុះឈ្មោះឧបករណ៍បង្កើតចំណុចប្រទាក់សាកល្បង UART - លេខកូដ 7

ចំណាំ ថាការអនុវត្ត VHDL ទាមទារស្គ្រីបដើម្បីសរសេរការចុះឈ្មោះលទ្ធផលទាំងអស់ក្នុងពេលដំណាលគ្នា។ ដូច្នេះ ប្រសិនបើអ្នកមិនបញ្ជាក់សំណុំពេញលេញនៃការចុះឈ្មោះលទ្ធផលទេ ស្គ្រីបនឹងអនុវត្តការអានពីគោលដៅ FPGA ជាមុនសិន ហើយបន្ទាប់មកប្រើតម្លៃទាំងនោះសម្រាប់តម្លៃដែលបាត់។ លទ្ធផលនឹងគឺថាមានតែការចុះឈ្មោះដែលបានបញ្ជាក់ផ្លាស់ប្តូរ។
នៅពេលអ្នកធ្វើការសរសេរ ការចុះឈ្មោះដែលបានបញ្ជាក់ទាំងអស់នឹងផ្លាស់ប្តូរក្នុងអំឡុងពេលវដ្តនាឡិកាដូចគ្នា មិនមែនភ្លាមៗនៅពេលដែលពួកគេបានទទួល UART នោះទេ។

ការចុះឈ្មោះការអាន
ប្រើកុងតាក់ -r ដើម្បីអានតម្លៃចុះឈ្មោះទាំងអស់ ដូចបានបង្ហាញខាងក្រោម។ តម្លៃដែលបានសម្គាល់ជាពណ៌លឿងគឺជាតម្លៃដែលយើងបានផ្លាស់ប្តូរនៅក្នុងការសរសេរពីមុនampលេVHDLwhiz VHDL ចុះឈ្មោះឧបករណ៍បង្កើតចំណុចប្រទាក់សាកល្បង UART - លេខកូដ 8

រាល់ការអានបង្ហាញរូបថតភ្លាមៗនៃបញ្ជីបញ្ចូល និងលទ្ធផលទាំងអស់។ ពួកគេទាំងអស់គឺ sampដឹកនាំក្នុងអំឡុងពេលវដ្តនាឡិកាដូចគ្នា។

ការបំបាត់កំហុស

ប្រើកុងតាក់ -d ជាមួយកុងតាក់ផ្សេងទៀត ប្រសិនបើអ្នកត្រូវការបំបាត់កំហុសពិធីការទំនាក់ទំនង។ បន្ទាប់មក ស្គ្រីបនឹងបោះពុម្ពចេញរាល់បៃដែលបានផ្ញើ និងទទួល និង tag ពួកវា ប្រសិនបើពួកវាជាតួអក្សរគ្រប់គ្រង ដូចបានបង្ហាញខាងក្រោម

VHDLwhiz VHDL ចុះឈ្មោះឧបករណ៍បង្កើតចំណុចប្រទាក់សាកល្បង UART - លេខកូដ 9

ការប្រើប្រាស់ចំណុចប្រទាក់នៅក្នុងស្គ្រីប Python ផ្សេងទៀត។

ស្គ្រីប uart_regs.py មានថ្នាក់ UartRegs ដែលអ្នកអាចប្រើយ៉ាងងាយស្រួលជាចំណុចប្រទាក់ទំនាក់ទំនងនៅក្នុងស្គ្រីប Python ផ្ទាល់ខ្លួនផ្សេងទៀត។ គ្រាន់តែនាំចូលថ្នាក់ បង្កើតវត្ថុរបស់វា ហើយចាប់ផ្តើមប្រើវិធីសាស្រ្ត ដូចបានបង្ហាញខាងក្រោម។VHDLwhiz VHDL ចុះឈ្មោះឧបករណ៍បង្កើតចំណុចប្រទាក់សាកល្បង UART - លេខកូដ 10

យោងទៅ docstrings ក្នុងកូដ Python សម្រាប់វិធីសាស្រ្ត និងការពិពណ៌នា និងប្រភេទតម្លៃត្រឡប់។

instantiation_template.vho
គំរូ instantiation ត្រូវបានបង្កើតរួមជាមួយនឹងម៉ូឌុល uart_regs សម្រាប់ភាពងាយស្រួលរបស់អ្នក។ ដើម្បីសន្សំពេលវេលាសរសេរកូដ អ្នកអាចចម្លងការបញ្ជាក់ម៉ូឌុល និងការប្រកាសសញ្ញាទៅក្នុងការរចនារបស់អ្នក។VHDLwhiz VHDL ចុះឈ្មោះឧបករណ៍បង្កើតចំណុចប្រទាក់សាកល្បង UART - លេខកូដ 11VHDLwhiz VHDL ចុះឈ្មោះឧបករណ៍បង្កើតចំណុចប្រទាក់សាកល្បង UART - លេខកូដ 12

ឋិតិវន្ត 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 ។VHDLwhiz VHDL ចុះឈ្មោះឧបករណ៍បង្កើតចំណុចប្រទាក់សាកល្បង UART - លេខកូដ 13

បន្ទាប់​ពី​គម្រោង​ផ្ទុក​ឡើង សូម​ចុច​ចំណុច​បី​ក្នុង​ប្រអប់ 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, តេស្តបង្កើតចំណុចប្រទាក់, ម៉ាស៊ីនបង្កើតចំណុចប្រទាក់, ម៉ាស៊ីនភ្លើង

ឯកសារយោង

ទុកមតិយោបល់

អាសយដ្ឋានអ៊ីមែលរបស់អ្នកនឹងមិនត្រូវបានផ្សព្វផ្សាយទេ។ វាលដែលត្រូវការត្រូវបានសម្គាល់ *