VHDLwhiz-ලාංඡනය

VHDLwhiz UART පරීක්ෂණ අතුරුමුහුණත් උත්පාදක යන්ත්‍රය

VHDLwhiz-UART-පරීක්ෂණ-අතුරුමුහුණත-උත්පාදක-PRODUCT

නිෂ්පාදන තොරතුරු

පිරිවිතර:

  • නිෂ්පාදන නාමය: VHDL UART පරීක්ෂණ අතුරුමුහුණත් උත්පාදක යන්ත්‍රය ලියාපදිංචි කරයි
  • අනුවාදය: 1.0.4
  • දිනය: 18 අගෝස්තු 2024
  • කර්තෘ: Jonas Julian Jensen
  • නිෂ්පාදනය URL: නිෂ්පාදන සබැඳිය
  • සම්බන්ධතා ඊමේල්: jonas@vhdlwhiz.com

විස්තරය

මෙම නිෂ්පාදනය ඔබට UART භාවිතයෙන් FPGA රෙජිස්ටර් අගයන් කියවීම සහ ලිවීම සඳහා අභිරුචි අතුරුමුහුණත් ජනනය කිරීමට ඉඩ සලසයි. ජනනය කරන ලද VHDL මොඩියුලය සහ Python ස්ක්‍රිප්ට් මඟින් ඔබේ FPGA සැලසුමේ විවිධ වර්ගයේ රෙජිස්ටර් සමඟ අන්තර් ක්‍රියා කිරීමේ හැකියාව ලබා දේ.

අවශ්යතා

  • පයිතන් 3 පරිවර්තකය
  • පයිසීරියල් පැකේජය

ප්රොටෝකෝලය

නිෂ්පාදනය පාලන අක්ෂර හතරක් සහිත දත්ත රාමු කිරීමේ ප්‍රොටෝකෝලයක් භාවිතා කරයි:

  • නම: කියවන්න_REQ, අගය: 0x0A – සියලුම රෙජිස්ටර් UART හරහා ආපසු යැවීමට ලිවීමේ අනුපිළිවෙලක් ආරම්භ කිරීමට සත්කාරකයෙන් FPGA වෙත විධානය කරන්න.
  • නම: START_ලියන්න, අගය: 0x0B – ඕනෑම දිශාවකට ලිවීමේ අනුපිළිවෙලක ආරම්භය සලකුණු කරයි.
  • නම: END_LITE, අගය: 0x0C – ඕනෑම දිශාවකට ලිවීමේ අනුපිළිවෙලක අවසානය සලකුණු කරයි.
  • නම: පැන යාම, අගය: 0x0D – පාලන වචන වලින් පැන යාමට භාවිතා කරන Escape චරිතය

නිෂ්පාදන භාවිත උපදෙස්

ස්ක්‍රිප්ට් ධාවනය කිරීම

නිෂ්පාදනය භාවිතා කිරීමට, ඔබ Python 3 සහ Pyserial පැකේජය ස්ථාපනය කර ඇති බවට වග බලා ගන්න. Python 3 පරිවර්තකයක් හරහා ස්ක්‍රිප්ට් ධාවනය කරන්න.

අභිරුචි අතුරුමුහුණත් ජනනය කිරීම

FPGA රෙජිස්ටර් අගයන් කියවීම සහ ලිවීම සඳහා අභිරුචි අතුරුමුහුණත් ජනනය කිරීමට gen_uart_regs.py ස්ක්‍රිප්ට් එක භාවිතා කරන්න. ප්‍රතිදානය ජනනය කිරීමේදී ඔබට ආදාන සහ ප්‍රතිදාන රෙජිස්ටර් සහ වර්ගවල සංයුතිය නියම කළ හැකිය. files.

රෙජිස්ට්‍රාර් සමඟ අන්තර් ක්‍රියා කිරීම

ජනනය කරන ලද VHDL මොඩියුලය සහ පයිතන් ස්ක්‍රිප්ට් භාවිතයෙන් ඔබට ඔබේ FPGA සැලසුමේ ඇති ඕනෑම රෙජිස්ටර් ගණනකින් කියවීමට හෝ ලිවීමට හැකිය. ප්‍රවේශ විය හැකි රෙජිස්ටර් වලට std_logic, std_logic_vector, signed හෝ unsigned වැනි වර්ග තිබිය හැකිය.

බලපත්රය

  • MIT බලපත්‍රය මූලාශ්‍ර කේතයේ ප්‍රකාශන හිමිකම් අවශ්‍යතා සහ භාවිත නියමයන් ආවරණය කරයි. LICENSE.txt වෙත යොමු වන්න file Zip හි file විස්තර සඳහා.

චේන්ජ්ලොග්

  • මෙම වෙනස්කම් ව්යාපෘතියට යොමු වේ files, සහ මෙම ලේඛනය ඒ අනුව යාවත්කාලීන වේ
අනුවාදය අදහස්
1.0.0 මුල් නිකුතුව
1.0.1 පයිතන් මොඩියුලයක් ලෙස uart_regs.py ලෙස ආයාත කිරීමේදී අස්ථානගත වූ «ස්වයං» යොමු දෝෂය නිරාකරණය කරන ලදී. ලිවීම අසාර්ථක මුද්‍රණය exception ලෙස වෙනස් කරන ලදී.

ආයාත කළ මොඩියුලයක් ලෙස ක්‍රියාත්මක වන විට කොන්සෝලයට මුද්‍රණය කිරීමෙන් වළකින්න.

1.0.2 අවුට් මාදිලි රෙගුලාසි නොමැති විට Vivado [Synth 8-248] දෝෂය නිවැරදි කරන්න.
1.0.3 Vivado Linter අනතුරු ඇඟවීම නිවැරදි කරන්න: Register මඟින් සක්‍රීය කර ඇත

සමමුහුර්ත යළි පිහිටුවීම

1.0.4 අවසාන බයිටය ලෙස escape අක්ෂරය භාවිතා කරමින් විකෘති වචනයක් ලැබෙන විට කෝනර් කේස් එක නිවැරදි කරන්න. IDLE වෙත ආපසු යන විට අපි recv_data_prev_is_escape හිස් නොකළ නිසා ඊළඟ වචනය ද නැති වනු ඇත.

gen_uart_regs.py ස්ක්‍රිප්ට් එක දැන් අනන්‍ය reg නාම පමණක් ඉඩ දෙයි.

විස්තරය

  • මෙම ලේඛනය පහත විස්තර කරයි files සහ ෆෝල්ඩර:
  • gen_uart_regs.py
  • ජනනය කරන ලද/uart_regs.vhd
  • ජනනය කරන ලද/uart_regs.py
  • ජනනය කරන ලද/instantiation_template.vho
  • rtl/uart_regs_backend.vhd
  • rtl/uart_rx.vhd
  • rtl/uart_tx.vhd
  • demo/lattice_icestick/
  • demo/xilinx_arty_a7_35/
  • demo/xilinx_arty_s7_50/
  • gen_uart_regs.py ස්ක්‍රිප්ට් එක සහ සහය දක්වන VHDL fileUART භාවිතයෙන් විවිධ වර්ගවල සහ පළලින් යුත් FPGA ලියාපදිංචි අගයන් කියවීම සහ ලිවීම සඳහා අභිරුචි අතුරුමුහුණත් උත්පාදනය කිරීමට මෙම ව්‍යාපෘතියේ s ඔබට ඉඩ සලසයි.
  • ඔබගේ නිර්මාණයේ ඇති ඕනෑම රෙජිස්ටර් ගණනකින් කියවීමට හෝ ලිවීමට ඔබට ජනනය කරන ලද VHDL මොඩියුලය සහ Python ස්ක්‍රිප්ට් භාවිතා කළ හැක. UART ප්‍රවේශ විය හැකි ලේඛනවලට std_logic, std_logic_vector, අත්සන් කළ හෝ අත්සන් නොකළ වර්ග තිබිය හැක.
  • ප්‍රතිදානය උත්පාදනය කිරීමේදී ආදාන සහ ප්‍රතිදාන ලේඛනවල සහ වර්ගවල නිශ්චිත සංයුතිය පිළිබඳව ඔබට තීරණය කළ හැකිය filegen_uart_regs.py ස්ක්‍රිප්ට් භාවිතා කරයි.
  • පයිතන් ස්ක්‍රිප්ට් අර්ධ වශයෙන් ChatGPT කෘතිම බුද්ධි මෙවලම ආධාරයෙන් නිර්මාණය කරන ලද අතර VHDL කේතය අතින් සකස් කර ඇත.

අවශ්යතා

  • මෙම ව්‍යාපෘතියේ ස්ක්‍රිප්ට් පයිතන් 3 පරිවර්තකයක් හරහා ධාවනය කළ යුතු අතර පයිසරියල් පැකේජය ස්ථාපනය කළ යුතුය.
  • ඔබට මෙම විධානය භාවිතා කර Pip හරහා pyserial ස්ථාපනය කළ හැකිය: pip install pyserial

ප්රොටෝකෝලය

  • වී.එච්.ඩී.එල් files සහ Python ස්ක්‍රිප්ට් මඟින් පාලන හතරක් සහිත දත්ත රාමු කිරීමේ ප්‍රොටෝකෝලයක් භාවිතා කරයි.
නම වටිනාකම අදහස් දක්වන්න
කියවන්න_REQ 0x0A ලිවීමක් ආරම්භ කිරීමට සත්කාරකයෙන් FPGA වෙත විධානය කරන්න

UART හරහා සියලුම ලේඛන ආපසු යැවීමේ අනුපිළිවෙල

START_ලියන්න ඩී ලිවීමේ අනුපිළිවෙලක ආරම්භය සනිටුහන් කරන්නේ

දිශාව

END_LITE 0x0 සී ඕනෑම දිශාවකට ලිවීමේ අනුපිළිවෙලක අවසානය සලකුණු කරයි
ගැලවීම 0x0D START_WRITE සහ END_WRITE සලකුණු අතර දත්ත ලෙස දිස්වන විට, ESCAPE අක්ෂරය ඇතුළුව, ඕනෑම පාලන වචන වලින් ගැලවීමට භාවිතා කරන Escape අක්ෂරය.

FPGA වෙත යවන ලද ඕනෑම ගැලවී නොගිය READ_REQ බයිටයක් 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-UART-පරීක්ෂණ-අතුරුමුහුණත-උත්පාදක-රූපය-1
  • අභිරුචි අතුරුමුහුණතක් උත්පාදනය කිරීම සඳහා, ඔබ විස්තාරක ලෙස ලැයිස්තුගත කර ඇති ඔබගේ අපේක්ෂිත UART පාලනය කළ හැකි රෙජිස්ටර් සමඟ ස්ක්‍රිප්ට් ධාවනය කළ යුතුය. පවතින වර්ග වන්නේ std_logic, std_logic_vector, unsigned සහ Signed ය.
  • පෙරනිමි ප්‍රකාරය (දිශාව) ඇති අතර රෙජිස්ටර් දිග නොමැති නම් පෙරනිමි වර්ගය std_logic_vector වේ: 1. එවිට, එය std_logic වෙත පෙරනිමි වේ.
  • මේ අනුව, ඔබට std_logic ආදාන සංඥාවක් සෑදීමට අවශ්‍ය නම්, ඔබට මෙම ඕනෑම තර්කයක් භාවිතා කළ හැක:
  • my_sl=1
  • my_sl=1:in
  • my_sl=1:in:std_logic
  • ඉහත ප්‍රභේද සියල්ලේ ප්‍රතිඵලයක් ලෙස මෙම UART-ප්‍රවේශ විය හැකි සංඥාව උත්පාදනය කිරීමට ස්ක්‍රිප්ට් සිදුවේ.VHDLwhiz-UART-පරීක්ෂණ-අතුරුමුහුණත-උත්පාදක-රූපය-2
  • විවිධ දිශාවන්, දිග සහ වර්ගවල රෙජිස්ටර් කිහිපයක් සහිත අතුරු මුහුණතක් ජනනය කිරීම සඳහා තර්ක සමඟ ස්ක්‍රිප්ට් එක ධාවනය කරමු.VHDLwhiz-UART-පරීක්ෂණ-අතුරුමුහුණත-උත්පාදක-රූපය-3

උත්පාදනය කරන ලදී files

  • gen_uart_regs.py ස්ක්‍රිප්ටයේ සාර්ථක ධාවනයක් තුන සමඟ ජනනය කරන ලද ප්‍රතිදාන ෆෝල්ඩරයක් නිපදවනු ඇත. fileපහත ලැයිස්තුගත කර ඇත. ඒවා දැනටමත් තිබේ නම්, ඒවා නැවත ලියනු ලැබේ.
  • ජනනය කරන ලද/uart_regs.vhd
  • ජනනය කරන ලද/uart_regs.py
  • ජනනය කරන ලද/instantiation_template.vho
  • uart_regs.vhd
  • මෙය ස්ක්‍රිප්ට් මගින් ජනනය කරන ලද අභිරුචි අතුරුමුහුණත් මොඩියුලයයි. ඔබට එය UART භාවිතයෙන් ඔබට පාලනය කිරීමට අවශ්‍ය රෙජිස්ටර් වෙත ප්‍රවේශ විය හැකි, ඔබේ සැලසුම තුළ එය ක්ෂණිකව දැක්විය යුතුය.
  • “- UART ප්‍රවේශ විය හැකි ලේඛන” කොටසට ඉහළින් ඇති සියල්ල සෑම uart_regs මොඩියුලයක් සඳහාම සමාන වන අතර, එම රේඛාවට පහළින් ඇති තොට සංඥාවල සංයුතිය උත්පාදක ස්ක්‍රිප්ටයට ලබා දී ඇති තර්ක මත රඳා පවතී.
  • පහත ලැයිස්තුගත කිරීම uart_regs මොඩියුලය සඳහා වන උත්පාදන විධානයේ ප්‍රතිඵලයක් ලෙස පෙන්වයි.ample gen_uart_regs.py අංශයේ පෙන්වා ඇතVHDLwhiz-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-UART-පරීක්ෂණ-අතුරුමුහුණත-උත්පාදක-රූපය-5

UART වරාය සැකසීම

  • -c ස්විචය භාවිතයෙන් UART port එක සැකසීමට ස්ක්‍රිප්ට් එකේ විකල්ප ඇත. මෙය වින්ඩෝස් සහ ලිනක්ස් මත ක්‍රියා කරයි. උදව් මෙනුවේ ලැයිස්තුගත කර ඇති ලබා ගත හැකි port එකකට එය සකසන්න. පෙරනිමි port එකක් සැකසීමට, ඔබට uart_regs.py script එකේ UART_PORT විචල්‍යය සංස්කරණය කළ හැකිය.

ලැයිස්තුගත කිරීමේ ලේඛන

  • රෙජිස්ටර් සිතියම්ගත කිරීම පිළිබඳ තොරතුරු gen_uart_regs.py ස්ක්‍රිප්ට් එක මඟින් uart_regs.py ස්ක්‍රිප්ට් එකේ ශීර්ෂයේ තබා ඇත. පහත දැක්වෙන පරිදි, -l ස්විචය භාවිතයෙන් ඔබට ලබා ගත හැකි රෙජිස්ටර් ලැයිස්තුගත කළ හැකිය. මෙය දේශීය විධානයක් වන අතර ඉලක්කගත FPGA සමඟ අන්තර් ක්‍රියා නොකරයි.VHDLwhiz-UART-පරීක්ෂණ-අතුරුමුහුණත-උත්පාදක-රූපය-6

රෙජිස්ටර් වලට ලිවීම

  • -w ස්විචය භාවිතයෙන් ඔබට ඕනෑම out mode රෙජිස්ටර් එකකට ලිවිය හැක. පහත දැක්වෙන පරිදි, “=” ට පසුව ලියාපදිංචි නාමය සහ ද්විමය, ෂඩාස්‍ර හෝ දශම අගය ලෙස ලබා දී ඇති අගය සපයන්න.VHDLwhiz-UART-පරීක්ෂණ-අතුරුමුහුණත-උත්පාදක-රූපය-7
  • VHDL ක්‍රියාත්මක කිරීම සඳහා ස්ක්‍රිප්ට් එකට සියලුම ප්‍රතිදාන රෙජිස්ටර් එකවර ලිවීමට අවශ්‍ය බව සලකන්න. එබැවින්, ඔබ සම්පූර්ණ ප්‍රතිදාන රෙජිස්ටර් කට්ටලයක් සඳහන් නොකරන්නේ නම්, ස්ක්‍රිප්ට් එක මුලින්ම ඉලක්කගත FPGA වෙතින් කියවීමක් සිදු කර පසුව අතුරුදහන් වූ ඒවා සඳහා එම අගයන් භාවිතා කරයි. ප්‍රතිඵලය වනුයේ නිශ්චිත රෙජිස්ටර් පමණක් වෙනස් වීමයි.
  • ඔබ ලිවීමක් සිදු කරන විට, සියලුම නිශ්චිත රෙජිස්ටර් එකම ඔරලෝසු චක්‍රය තුළ වෙනස් වනු ඇත, ඒවා UART හරහා ලැබුණු විගස නොවේ.

ලේඛන කියවීම

  • පහත දැක්වෙන පරිදි සියලුම ලියාපදිංචි අගයන් කියවීමට -r ස්විචය භාවිතා කරන්න. කහ පාටින් ලකුණු කරලා තියෙන අගයන් අපි කලින් ලියන ex එකේ වෙනස් කරපු ඒවාampleVHDLwhiz-UART-පරීක්ෂණ-අතුරුමුහුණත-උත්පාදක-රූපය-8
  • සෑම කියවීමක්ම සියලුම ආදාන සහ ප්‍රතිදාන ලේඛනවල ක්ෂණික ඡායාරූපයක් පෙන්වයි. ඔවුන් සියල්ලෝම එස්ampඑකම ඔරලෝසු චක්‍රය තුළ නායකත්වය දුන්නේය.

නිදොස් කිරීම

ඔබට සන්නිවේදන ප්‍රොටෝකෝලය නිදොස් කිරීමට අවශ්‍ය නම් වෙනත් ඕනෑම ස්විචයක් සමඟ -d ස්විචය භාවිතා කරන්න. එවිට, ස්ක්‍රිප්ට් එක යවන ලද සහ ලැබුණු බයිට් සියල්ල මුද්‍රණය කරයි tag ඒවා පාලන අක්ෂර නම්, පහත දැක්වෙන පරිදි.VHDLwhiz-UART-පරීක්ෂණ-අතුරුමුහුණත-උත්පාදක-රූපය-9

අනෙකුත් පයිතන් ස්ක්‍රිප්ට් වල අතුරු මුහුණත භාවිතා කිරීම

  • uart_regs.py ස්ක්‍රිප්ට් එකේ UartRegs පන්තියක් අඩංගු වන අතර එය ඔබට වෙනත් අභිරුචි Python ස්ක්‍රිප්ට් වල සන්නිවේදන අතුරුමුහුණත ලෙස පහසුවෙන් භාවිතා කළ හැක. සරලව පන්තිය ආයාත කර, එහි වස්තුවක් සාදා, පහත පෙන්වා ඇති පරිදි ක්‍රම භාවිතා කිරීම ආරම්භ කරන්න.VHDLwhiz-UART-පරීක්ෂණ-අතුරුමුහුණත-උත්පාදක-රූපය-10
  • ක්‍රම සහ විස්තර සහ ප්‍රතිලාභ වර්ග සඳහා පයිතන් කේතයේ ඇති docstrings වෙත යොමු වන්න.

instantation_template.vho

  • ඔබගේ පහසුව සඳහා uart_regs මොඩියුලය සමඟ ක්ෂණික අච්චුව ජනනය කෙරේ. කේතීකරණ කාලය ඉතිරි කර ගැනීම සඳහා, ඔබට මොඩියුලය ක්ෂණිකව සහ සංඥා ප්‍රකාශයන් ඔබේ සැලසුමට පිටපත් කළ හැකිය.VHDLwhiz-UART-පරීක්ෂණ-අතුරුමුහුණත-උත්පාදක-රූපය-11VHDLwhiz-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 සන්නිවේදනය හැසිරවීමට uart_rx සහ uart_tx මොඩියුල භාවිතා කරයි.

ආදර්ශන ව්‍යාපෘති

  • Zip හි ආදර්ශන ව්‍යාපෘති තුනක් ඇතුළත් වේ file. විවිධ පුවරු වල ඇති පර්යන්ත මෙන්ම විශාල අභ්‍යන්තර රෙජිස්ටර් කිහිපයක් පාලනය කිරීමට ඔවුන් ඔබට ඉඩ සලසයි.
  • ආදර්ශන ෆෝල්ඩරවලට පෙර-ජනනය කරන ලද uart_regs.vhd සහ uart_regs.py ඇතුළත් වේ fileඑම නිර්මාණ සඳහා විශේෂයෙන් සාදා ඇත.

දැලිස් iCEstick

  • demo/icecube2_icestick ෆෝල්ඩරයේ Lattice iCEstick FPGA පුවරුව සඳහා ලියාපදිංචි ප්‍රවේශ demo ක්‍රියාත්මක කිරීමක් අඩංගු වේ.
  • ක්‍රියාත්මක කිරීමේ ක්‍රියාවලිය හරහා ක්‍රියාත්මක වීමට, demo/lattice_icestick/icecube2_proj/uart_regs_sbt.project විවෘත කරන්න file Lattice iCEcube2 නිර්මාණ මෘදුකාංගයේ.
  • iCEcube2 GUI තුළ ව්‍යාපෘතිය පූරණය කිරීමෙන් පසුව, ක්‍රමලේඛන බිටු සිතියම ජනනය කිරීමට මෙවලම්→Run All ක්ලික් කරන්න. file.
  • ජනනය කරන ලද බිට්මැප් සමඟ FPGA වින්‍යාස කිරීමට ඔබට Lattice Diamond Programmer Standalone මෙවලම භාවිතා කළ හැක. file. දියමන්ති ක්‍රමලේඛකයා විවෘත වූ විට, පිළිගැනීමේ සංවාද කොටුවේ පවතින ක්‍රමලේඛක ව්‍යාපෘතියක් විවෘත කරන්න ක්ලික් කරන්න.
  • ව්යාපෘතිය තෝරන්න file Zip හි ඇති: demo/lattice_icestick/diamond_programmer_project.xcf සහ OK ක්ලික් කරන්න.VHDLwhiz-UART-පරීක්ෂණ-අතුරුමුහුණත-උත්පාදක-රූපය-13
  • ව්‍යාපෘතිය පූරණය වූ පසු, එහි තිත් තුන ක්ලික් කරන්න File ඉහත පෙන්වා ඇති පරිදි තීරුව නම් කරන්න. බිට්මැප් තේරීමට බ්‍රවුස් කරන්න file ඔබ iCEcube2 හි ජනනය කළ
  • demo/lattice_icestick/icecube2_proj/uart_regs_Implmnt/sbt/outputs/bitmap/top_icestick_bitmap.bin
  • අවසාන වශයෙන්, iCEstick පුවරුව ඔබේ පරිගණකයේ USB පෝට් එකකට සම්බන්ධ කර ඇති අතර, SPI ෆ්ලෑෂ් ක්‍රමලේඛනය කිරීමට Design→Program තෝරන්න සහ FPGA වින්‍යාස කරන්න.
  • දැන් ඔබට uart_regs.py කොටසේ විස්තර කර ඇති පරිදි demo/lattice_icestick/uart_regs.py ස්ක්‍රිප්ට් එක භාවිතයෙන් රෙජිස්ටර් කියවීමට සහ ලිවීමට ඉදිරියට යා හැක.

Xilinx Digilent Arty A7-35T

  • ඔබට Demo/arty_a7_35 ෆෝල්ඩරය තුළ Artix-7 35T Arty FPGA ඇගයීම් කට්ටලය සඳහා ආදර්ශන ක්‍රියාත්මක කිරීම සොයාගත හැකිය.
  • Vivado විවෘත කර උපුටා ගත් වෙත සංචාලනය කරන්න fileGUI අතුරුමුහුණතේ පතුලේ ඇති Tcl කොන්සෝලය භාවිතා කරයි. ආදර්ශන ව්‍යාපෘති ෆෝල්ඩරය ඇතුළු කිරීමට මෙම විධානය ටයිප් කරන්න:
  • සීඩී /නිරූපණ/arty_a7_35/vivado_proj/
  • Vivado ව්‍යාපෘතිය නැවත උත්පාදනය කිරීමට create_vivado_proj.tcl Tcl ස්ක්‍රිප්ට් ක්‍රියාත්මක කරන්න:
  • මූලාශ්රය ./create_vivado_proj.tcl
  • සියලුම ක්‍රියාත්මක කිරීමේ පියවර හරහා ක්‍රමලේඛන බිට්ස්ට්‍රීම් උත්පාදනය කිරීමට පැති තීරුවේ ඇති බිට්ස්ට්‍රීම් උත්පාදනය ක්ලික් කරන්න file.
  • අවසාන වශයෙන්, Open Hardware Manager ක්ලික් කර GUI හරහා FPGA වැඩසටහන්ගත කරන්න.
  • uart_regs.py කොටසේ විස්තර කර ඇති පරිදි demo/arty_a7_35/uart_regs.py ස්ක්‍රිප්ට් භාවිතයෙන් ඔබට දැන් රෙජිස්ටර් කියවීමට සහ ලිවීමට ඉදිරියට යා හැක.

Xilinx Digilent Arty S7-50

  • ඔබට Demo/arty_s7_7 ෆෝල්ඩරය තුළ Arty S7: Spartan-50 FPGA සංවර්ධන පුවරුව සඳහා ආදර්ශන ක්‍රියාත්මක කිරීම සොයාගත හැකිය.
  • Vivado විවෘත කර උපුටා ගත් වෙත සංචාලනය කරන්න fileGUI අතුරුමුහුණතේ පතුලේ ඇති Tcl කොන්සෝලය භාවිතා කරයි. ආදර්ශන ව්‍යාපෘති ෆෝල්ඩරය ඇතුළු කිරීමට මෙම විධානය ටයිප් කරන්න:
  • සීඩී /නිරූපණ/arty_s7_50/විවාඩෝ_ප්‍රොජ්/
  • Vivado ව්‍යාපෘතිය නැවත උත්පාදනය කිරීමට create_vivado_proj.tcl Tcl ස්ක්‍රිප්ට් ක්‍රියාත්මක කරන්න:
  • මූලාශ්රය ./create_vivado_proj.tcl
  • සියලුම ක්‍රියාත්මක කිරීමේ පියවර හරහා ක්‍රමලේඛන බිට්ස්ට්‍රීම් උත්පාදනය කිරීමට පැති තීරුවේ ඇති බිට්ස්ට්‍රීම් උත්පාදනය ක්ලික් කරන්න file.
  • අවසාන වශයෙන්, Open Hardware Manager ක්ලික් කර GUI හරහා FPGA වැඩසටහන්ගත කරන්න.
  • uart_regs.py කොටසේ විස්තර කර ඇති පරිදි demo/arty_s7_50/uart_regs.py ස්ක්‍රිප්ට් භාවිතයෙන් ඔබට දැන් රෙජිස්ටර් කියවීමට සහ ලිවීමට ඉදිරියට යා හැක.

ක්රියාත්මක කිරීම

  • නිශ්චිත ක්රියාත්මක කිරීමේ අවශ්යතා නොමැත.

සීමා කිරීම්

  • UART අතුරුමුහුණත මන්දගාමී වන අතර අසමමුහුර්ත අතුරු මුහුණතක් ලෙස සලකන බැවින් මෙම සැලසුම සඳහා නිශ්චිත කාල සීමාවන් අවශ්‍ය නොවේ.
  • uart_regs මොඩියුලයට uart_rx ආදානය uart_rx මොඩියුලය තුළ සමමුහුර්ත කර ඇත. මේ අනුව, එය ඉහළ මට්ටමේ මොඩියුලය තුළ සමමුහුර්ත කිරීමට අවශ්ය නොවේ.

දන්නා ගැටළු

  • ඔබේ FPGA ගෘහ නිර්මාණ ශිල්පය පෙරනිමි ලේඛන අගයන් සඳහා සහය දක්වයිද යන්න මත පදනම්ව, මොඩියුලය භාවිතා කිරීමට පෙර එය නැවත සැකසීමට ඔබට අවශ්‍ය විය හැකිය.

වැඩි විස්තර

නිතර අසන පැන

ප්‍රශ්නය: UART පරීක්ෂණ අතුරුමුහුණත් උත්පාදකයේ අරමුණ කුමක්ද?

A: UART පරීක්ෂණ අතුරුමුහුණත් උත්පාදක යන්ත්‍රය, UART සන්නිවේදනය භාවිතයෙන් FPGA ලියාපදිංචි අගයන් සමඟ අන්තර් ක්‍රියා කිරීමට අභිරුචි අතුරුමුහුණත් නිර්මාණය කිරීමට ඉඩ සලසයි.

ප්‍ර: Pyserial පැකේජය ස්ථාපනය කරන්නේ කෙසේද?

A: ඔබට විධානය භාවිතා කර Pip හරහා Pyserial ස්ථාපනය කළ හැකිය: pip install pyserial

ලේඛන / සම්පත්

VHDLwhiz UART පරීක්ෂණ අතුරුමුහුණත් උත්පාදක යන්ත්‍රය [pdf] පරිශීලක අත්පොත
UART පරීක්ෂණ අතුරුමුහුණත් උත්පාදක යන්ත්‍රය, පරීක්ෂණ අතුරුමුහුණත් උත්පාදක යන්ත්‍රය, අතුරුමුහුණත් උත්පාදක යන්ත්‍රය, උත්පාදක යන්ත්‍රය

යොමු කිරීම්

කමෙන්ට් එකක් දාන්න

ඔබගේ විද්‍යුත් තැපැල් ලිපිනය ප්‍රකාශනය නොකෙරේ. අවශ්‍ය ක්ෂේත්‍ර සලකුණු කර ඇත *