VHDLwhiz UART የሙከራ በይነገጽ አመንጪ
የምርት መረጃ
ዝርዝር መግለጫዎች፡-
- የምርት ስም፡- VHDL የ UART ሙከራ በይነገጽ ጀነሬተርን ይመዘግባል
- ስሪት: 1.0.4
- ቀን፡ ኦገስት 18፣ 2024
- ደራሲ: ዮናስ ጁሊያን ጄንሰን
- ምርት URL: የምርት አገናኝ
- የእውቂያ ኢሜይል፡- jonas@vhdlwhiz.com
መግለጫ
ይህ ምርት UART ን በመጠቀም የFPGA መመዝገቢያ ዋጋዎችን ለማንበብ እና ለመፃፍ ብጁ በይነገጾችን እንዲያመነጩ ይፈቅድልዎታል። የመነጨው VHDL ሞጁል እና Python ስክሪፕት በእርስዎ FPGA ንድፍ ውስጥ ከተለያዩ የመመዝገቢያ አይነቶች ጋር የመገናኘት ችሎታን ይሰጣሉ።
መስፈርቶች
- Python 3 አስተርጓሚ
- pyserial ጥቅል
ፕሮቶኮል
ምርቱ ከአራት ቁጥጥር ቁምፊዎች ጋር የውሂብ ፍሬም ፕሮቶኮልን ይጠቀማል፡-
- ስም፡ READ_REQ፣ ዋጋ፡ 0x0A - ሁሉንም መዝገቦች በ UART ላይ ለመላክ የመፃፍ ቅደም ተከተል ለማስጀመር ከአስተናጋጁ ወደ FPGA ትእዛዝ ይስጡ
- ስም፡ START_ጻፍ፣ ዋጋ፡ 0x0B - በሁለቱም አቅጣጫዎች የጽሑፍ ቅደም ተከተል መጀመሪያ ላይ ምልክት ያደርጋል
- ስም፡ END_ፃፍ፣ ዋጋ፡ 0x0C - በየትኛውም አቅጣጫ የፅሁፍ ቅደም ተከተል መጨረሻ ላይ ምልክት ያደርጋል
- ስም፡ ማምለጥ፣ ዋጋ፡ 0x0D - የቁጥጥር ቃላትን ለማምለጥ የሚያገለግል የማምለጫ ቁምፊ
የምርት አጠቃቀም መመሪያዎች
ስክሪፕቶችን በማሄድ ላይ
ምርቱን ለመጠቀም Python 3 መጫኑን እና የ Pyserial ጥቅል እንዳለዎት ያረጋግጡ። ስክሪፕቶቹን በ Python 3 አስተርጓሚ ያሂዱ።
ብጁ በይነገጾች ማመንጨት
የ FPGA መመዝገቢያ ዋጋዎችን ለማንበብ እና ለመጻፍ ብጁ በይነገጽ ለመፍጠር የgen_uart_regs.py ስክሪፕት ይጠቀሙ። ውጤቱን በሚፈጥሩበት ጊዜ የግብአት እና የውጤት መዝገቦችን እና ዓይነቶችን ስብጥር መግለጽ ይችላሉ files.
ከተመዝጋቢዎች ጋር መስተጋብር መፍጠር
የመነጨውን VHDL ሞጁል እና Python ስክሪፕት በመጠቀም በ FPGA ንድፍዎ ውስጥ ካሉት የመዝገብ ቁጥር ማንበብ ወይም መጻፍ ይችላሉ። ተደራሽ የሆኑት መዝገቦች እንደ std_logic፣ std_logic_vector፣ የተፈረሙ ወይም ያልተፈረሙ አይነት ሊኖራቸው ይችላል።
ፍቃድ
- የ MIT ፍቃድ የምንጭ ኮድ የቅጂ መብት መስፈርቶችን እና የአጠቃቀም ደንቦችን ይሸፍናል። LICENSE.txtን ይመልከቱ file በዚፕ ውስጥ file ለዝርዝሮች.
ለውጥ ሎግ
- እነዚህ ለውጦች ፕሮጀክቱን ያመለክታሉ files፣ እና ይህ ሰነድ በዚሁ መሰረት ተዘምኗል
ሥሪት | አስተያየቶች |
1.0.0 | የመጀመሪያ ልቀት |
1.0.1 | እንደ uart_regs.py እንደ ፓይዘን ሞጁል ሲያስገቡ ቋሚ የጠፋ የ«ራስ» ማመሳከሪያ ስህተት። የጽሑፍ ያልተሳካ ህትመት ወደ ልዩ ተለውጧል
እንደ አስመጪ ሞጁል በሚሰራበት ጊዜ ኮንሶል ላይ ማተምን ያስወግዱ። |
1.0.2 | የቪቫዶ [Synth 8-248] ስሕተት ከውጪ የወጡ ሁኔታዎች በሌሉበት ያርሙ። |
1.0.3 | Vivado Linter ማስጠንቀቂያን አስተካክል፡ መመዝገቢያ መንዳት ችሏል።
የተመሳሰለ ዳግም ማስጀመር |
1.0.4 | የማምለጫ ቁምፊ እንደ የመጨረሻ ባይት የተሳሳተ ቃል ሲቀበሉ የማዕዘን መያዣውን ያስተካክሉ። ወደ IDLE ስንመለስ recv_data_prev_is_escape ስላላጸዳን ቀጣዩ ቃል ይጠፋል።
የgen_uart_regs.py ስክሪፕት አሁን የሚፈቅደው ልዩ የሆኑ የሬግ ስሞችን ብቻ ነው። |
መግለጫ
- ይህ ሰነድ የሚከተሉትን ይገልጻል 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/xilinx_arty_a7_35/
- demo/xilinx_arty_s7_50/
- የgen_uart_regs.py ስክሪፕት እና ደጋፊ VHDL fileበዚህ ፕሮጀክት ውስጥ ያሉ የ FPGA መመዝገቢያ ዋጋዎችን ለማንበብ እና ለመጻፍ ብጁ በይነገጾችን እንዲያመነጩ ያስችሉዎታል የተለያዩ አይነቶች እና ስፋቶች UART ን በመጠቀም።
- በንድፍዎ ውስጥ ካሉት የመመዝገቢያ ቁጥሮች ለማንበብ ወይም ለመፃፍ የመነጨውን VHDL ሞጁል እና Python ስክሪፕት መጠቀም ይችላሉ። የUART ተደራሽነት መዝገቦች std_logic፣ std_logic_vector፣ የተፈረሙ ወይም ያልተፈረሙ ዓይነቶች ሊኖራቸው ይችላል።
- ውጤቱን በሚያመነጩበት ጊዜ የግብአት እና የውጤት መመዝገቢያ እና ዓይነቶችን ትክክለኛ ስብጥር መወሰን ይችላሉ fileየ gen_uart_regs.py ስክሪፕት በመጠቀም።
- የፓይዘን ስክሪፕቶች በከፊል የተፈጠሩት በ ChatGPT አርቴፊሻል ኢንተለጀንስ መሳሪያ ሲሆን የVHDL ኮድ ደግሞ በእጅ የተሰራ ነው።
መስፈርቶች
- በዚህ ፕሮጀክት ውስጥ ያሉት ስክሪፕቶች በፓይዘን 3 አስተርጓሚ መካሄድ አለባቸው እና የ Pyserial ጥቅል መጫን አለበት።
- ይህንን ትእዛዝ በመጠቀም ፒሴሪያል በፒፕ በኩል መጫን ይችላሉ-pip install pyserial
ፕሮቶኮል
- ቪኤችዲኤል files እና Python ስክሪፕት ከአራት ቁጥጥር ጋር በዳታ-ፍሬሚንግ ፕሮቶኮል ይጠቀማሉ
ስም | ዋጋ | አስተያየት |
REQ_አንብብ | 0x0A | መጻፍ ለመጀመር ከአስተናጋጁ ወደ FPGA ያዙ
ሁሉንም መዝገቦች በ UART መልሰው ለመላክ ቅደም ተከተል |
START_ጻፍ | 0x0B | በሁለቱም ውስጥ የጽሑፍ ቅደም ተከተል መጀመሩን ምልክት ያደርጋል
አቅጣጫ |
END_ፃፍ | 0x0 ሴ | በሁለቱም አቅጣጫ የፅሁፍ ቅደም ተከተል መጨረሻ ላይ ምልክት ያደርጋል |
ማምለጥ | 0x0D | ከቁጥጥር ቃላቶች ለማምለጥ የሚያገለግል የማምለጫ ቁምፊ እራሱን የESCAPE ቁምፊን ጨምሮ በSTART_WRITE እና END_WRITE ማርከሮች መካከል እንደ ዳታ በሚታዩበት ጊዜ። |
ወደ 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 -h
- ብጁ በይነገጽ ለማመንጨት ስክሪፕቱን በእያንዳንዱ የፈለጉት የ UART ቁጥጥር መመዝገቢያ እንደ ነጋሪ እሴት ከተዘረዘሩት ጋር ማስኬድ አለቦት። ያሉት ዓይነቶች std_logic፣ std_logic_vector፣ ያልተፈረሙ እና የተፈረሙ ናቸው።
- ነባሪው ሁነታ (አቅጣጫ) ገብቷል እና መዝገቡ ረጅም ካልሆነ በቀር ነባሪው አይነት 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 ስክሪፕት ስኬታማ ሩጫ ከሶስቱ ጋር የተፈጠረ የውጤት አቃፊ ይፈጥራል። fileከዚህ በታች ተዘርዝረዋል. ቀድሞውንም ካሉ፣ ይገለበጣሉ።
- የመነጨ/uart_regs.vhd
- የመነጨ/uart_regs.py
- የመነጨ/instantiation_template.vho
- uart_regs.vhd
- ይህ በስክሪፕቱ የተፈጠረ ብጁ የበይነገጽ ሞጁል ነው። UART ን በመጠቀም ሊቆጣጠሩት የሚፈልጓቸውን መዝገቦች ማግኘት በሚችልበት ንድፍዎ ውስጥ አፋጣኝ ማድረግ ያስፈልግዎታል።
- ከ "- UART ተደራሽ መመዝገቢያዎች" ክፍል በላይ ያለው ሁሉም ነገር ለእያንዳንዱ የ uart_regs ሞጁል ተመሳሳይ ይሆናል ፣ ከዚያ መስመር በታች ያሉት የወደብ ምልክቶች ስብጥር ለጄነሬተር ስክሪፕት በተሰጡት ክርክሮች ላይ የተመሠረተ ነው።
- ከዚህ በታች ያለው ዝርዝር የ uart_regs ሞጁሉን ከማመንጨት ትዕዛዝ የተገኘውን አካል ያሳያልample በ 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 ወደብ በማዘጋጀት ላይ
- ስክሪፕቱ -c ማብሪያና ማጥፊያን በመጠቀም የ UART ወደብን ለማዘጋጀት አማራጮች አሉት። ይሄ በዊንዶውስ እና ሊኑክስ ላይ ይሰራል. በእገዛ ምናሌው ውስጥ ከተዘረዘሩት ከሚገኙት ወደቦች ወደ አንዱ ያቀናብሩት። ነባሪ ወደብ ለማዘጋጀት የUART_PORT ተለዋዋጭን በ uart_regs.py ስክሪፕት ውስጥ ማርትዕ ይችላሉ።
የዝርዝር መዝገቦች
- ስለ መመዝገቢያ ካርታው መረጃ በ gen_uart_regs.py ስክሪፕት በ uart_regs.py ስክሪፕት ራስጌ ውስጥ ተቀምጧል። ከታች እንደሚታየው ያሉትን መመዝገቢያዎች በ -l ማብሪያ / ማጥፊያ መዘርዘር ይችላሉ። ይህ የአካባቢ ትእዛዝ ነው እና ከ FPGA ዒላማ ጋር አይገናኝም።
ለመመዝገቢያዎች መጻፍ
- የ -w ማብሪያና ማጥፊያን በመጠቀም ለማንኛውም የውጪ ሞድ መመዝገቢያ መመዝገብ ይችላሉ። ከታች እንደሚታየው የመመዝገቢያውን ስም በ "=" እና እንደ ሁለትዮሽ, ሄክሳዴሲማል ወይም አስርዮሽ ዋጋ የተሰጠውን ዋጋ ያቅርቡ.
- የVHDL አተገባበር ሁሉንም የውጤት መዝገቦች በአንድ ጊዜ ለመፃፍ ስክሪፕቱ እንደሚያስፈልገው ልብ ይበሉ። ስለዚህ፣ የተሟላ የውጤት መመዝገቢያ ስብስብ ካልገለጹ፣ ስክሪፕቱ በመጀመሪያ ከዒላማው FPGA ንባብ ያከናውናል ከዚያም እነዚያን እሴቶች ለጎደሉት ይጠቀማል። ውጤቱም የተገለጹት መዝገቦች ብቻ ይለወጣሉ
- ጽሁፍ ሲያደርጉ ሁሉም የተገለጹ መዝገቦች የሚቀየሩት በተመሳሳይ የሰዓት ዑደት ነው እንጂ ልክ በ UART እንደተቀበሉ አይደለም።
የንባብ መዝገቦች
- ከታች እንደሚታየው ሁሉንም የመመዝገቢያ ዋጋዎች ለማንበብ -r ማብሪያና ማጥፊያ ይጠቀሙ። በቢጫ ምልክት የተደረገባቸው እሴቶች በቀደመው ጻፍ example
- እያንዳንዱ ንባብ ሁሉንም የግብአት እና የውጤት መመዝገቢያ ቅጽበታዊ ገጽ እይታ ያሳያል። ሁሉም ኤስ ናቸውampበተመሳሳይ ሰዓት ዑደት ውስጥ ይመራል
ማረም
የግንኙነት ፕሮቶኮሉን ማረም ካስፈለገዎት -d ማብሪያና ማጥፊያውን ከማንኛውም ሌላ ማብሪያ / ማጥፊያ ይጠቀሙ። ከዚያ ስክሪፕቱ ሁሉንም የተላኩ እና የተቀበሉ ባይት እና ያትማል tag ከታች እንደሚታየው የቁጥጥር ቁምፊዎች ከሆኑ እነሱን.
በይነገጹን በሌሎች የ Python ስክሪፕቶች መጠቀም
- የ uart_regs.py ስክሪፕት በሌሎች ብጁ የፓይዘን ስክሪፕቶች ውስጥ እንደ የግንኙነት በይነገጽ በቀላሉ ሊጠቀሙበት የሚችሉትን የUartRegs ክፍል ይዟል። በቀላሉ ክፍሉን ያስመጡ, የእሱን ነገር ይፍጠሩ እና ከታች እንደሚታየው ዘዴዎቹን መጠቀም ይጀምሩ.
- ዘዴ እና መግለጫዎች እና የመመለሻ እሴት አይነቶችን ለማግኘት በ Python ኮድ ውስጥ ያሉትን ሰነዶች ይመልከቱ።
instantiation_template.vho
- የፈጣን አብነት ለእርስዎ ምቾት ሲባል ከ uart_regs ሞጁል ጋር ነው የተፈጠረው። የኮድ ጊዜን ለመቆጠብ የሞጁሉን ቅጽበታዊ እና የምልክት መግለጫዎችን ወደ ንድፍዎ መቅዳት ይችላሉ።
የማይንቀሳቀስ RTL files
- የሚከተሉትን ማካተት አለብዎት fileእንደ uart_regs ሞዱል በተመሳሳይ ቤተ-መጽሐፍት እንዲሰበሰቡ በእርስዎ VHDL ፕሮጀክት ውስጥ ይገኛሉ፡-
- rtl/uart_regs_backend.vhd
- rtl/uart_rx.vhd
- rtl/uart_tx.vhd
- የ uart_regs_backend ሞጁል የመመዝገቢያ ውሂቡን በሰአት እና በማውጣት ውስን-ግዛት ማሽኖችን ተግባራዊ ያደርጋል። ከአስተናጋጁ ጋር ያለውን የUART ግንኙነት ለመቆጣጠር የ uart_rx እና uart_tx ሞጁሎችን ይጠቀማል።
የማሳያ ፕሮጀክቶች
- በዚፕ ውስጥ የተካተቱ ሶስት ማሳያ ፕሮጀክቶች አሉ። file. በተለያዩ ቦርዶች ላይ ያሉትን ክፍሎች እንዲሁም ጥቂት ትላልቅ የውስጥ መዝገቦችን እንዲቆጣጠሩ ያስችሉዎታል።
- የማሳያ ማህደሩ አስቀድሞ የተፈጠረ uart_regs.vhd እና uart_regs.py ያካትታሉ fileበተለይ ለእነዚያ ዲዛይኖች የተሰራ።
ላቲስ iCEstick
- demo/icecube2_icestick ማህደር ለላቲስ iCEstick FPGA ቦርድ የመመዝገቢያ ማሳያ አተገባበር ይዟል።
- የትግበራ ሂደቱን ለማካሄድ፣ demo/lattice_icestick/icecube2_proj/uart_regs_sbt.project ይክፈቱ file በላቲስ iCEcube2 ዲዛይን ሶፍትዌር።
- ፕሮጀክቱን በ iCEcube2 GUI ውስጥ ከጫኑ በኋላ፣ የፕሮግራም አወጣጥ ቢትማፕ ለማመንጨት Tools → ሁሉንም አሂድ የሚለውን ጠቅ ያድርጉ። file.
- FPGAን በተፈጠረው ቢትማፕ ለማዋቀር የላቲስ አልማዝ ፕሮግራመር ራሱን የቻለ መሳሪያ መጠቀም ይችላሉ። file. ዳይመንድ ፕሮግራመር ሲከፈት፣ የእንኳን ደህና መጣችሁ ንግግር ሳጥን ውስጥ ያለውን የፕሮግራመር ፕሮጄክት ክፈት የሚለውን ይንኩ።
- ፕሮጀክት ይምረጡ file በዚፕ፡ demo/lattice_icestick/diamond_programmer_project.xcf ውስጥ ተገኝቷል እና እሺን ጠቅ ያድርጉ።
- ፕሮጀክቱ ከተጫነ በኋላ በ ውስጥ ያሉትን ሶስት ነጥቦች ጠቅ ያድርጉ File ከላይ እንደሚታየው ዓምድ ስም. ቢትማፕን ለመምረጥ ያስሱ file በ iCEcube2 ውስጥ ያመነጩት።
- demo/lattice_icestick/icecube2_proj/uart_regs_Implmnt/sbt/ውጤቶች/bitmap/top_icestick_bitmap.bin
- በመጨረሻም፣ iCEstick ቦርድ በኮምፒዩተርዎ ላይ ባለው የዩኤስቢ ወደብ ላይ ሲሰካ፣ የ SPI ፍላሽ ፕሮግራም ለማድረግ እና FPGAን ለማዋቀር Design→Program የሚለውን ይምረጡ።
- አሁን በ uart_regs.py ክፍል ላይ እንደተገለጸው demo/lattice_icestick/uart_regs.py ስክሪፕት በመጠቀም መዝገቦችን ማንበብ እና መጻፍ መቀጠል ይችላሉ።
Xilinx Digilent Arty A7-35T
- የአርቲክስ-7 35ቲ አርቲ ኤፍፒጂኤ ግምገማ ኪት ማሳያ አተገባበርን በ demo/arty_a7_35 አቃፊ ውስጥ ማግኘት ይችላሉ።
- ቪቫዶን ይክፈቱ እና ወደ ተወጣው ይሂዱ fileበ GUI በይነገጽ ግርጌ የሚገኘውን Tcl ኮንሶል በመጠቀም። ወደ ማሳያ ፕሮጄክት አቃፊ ለመግባት ይህንን ትዕዛዝ ይተይቡ፡
- ሲዲ /demo/arty_a7_35/vivado_proj/
- የቪቫዶ ፕሮጄክትን እንደገና ለማዳበር create_vivado_proj.tcl Tcl ስክሪፕቱን ያስፈጽሙ፡
- ምንጭ ./create_vivado_proj.tcl
- በሁሉም የትግበራ ደረጃዎች ውስጥ ለማሄድ እና የፕሮግራሚንግ ቢት ዥረት ለማመንጨት በጎን አሞሌው ውስጥ Bitstream Generate ን ጠቅ ያድርጉ file.
- በመጨረሻም የሃርድዌር ማኔጀር ክፈትን ጠቅ ያድርጉ እና FPGA ን በ GUI በኩል ያቅዱ።
- አሁን በ uart_regs.py ክፍል ላይ እንደተገለጸው demo/arty_a7_35/uart_regs.py ስክሪፕት በመጠቀም መዝገቦችን ማንበብ እና መጻፍ መቀጠል ይችላሉ።
Xilinx Digilent Arty S7-50
- ለArty S7፡ Spartan-7 FPGA ልማት ቦርድ የማሳያ አተገባበርን በ demo/arty_s7_50 አቃፊ ውስጥ ማግኘት ይችላሉ።
- ቪቫዶን ይክፈቱ እና ወደ ተወጣው ይሂዱ fileበ GUI በይነገጽ ግርጌ የሚገኘውን Tcl ኮንሶል በመጠቀም። ወደ ማሳያ ፕሮጄክት አቃፊ ለመግባት ይህንን ትዕዛዝ ይተይቡ፡
- ሲዲ /demo/arty_s7_50/vivado_proj/
- የቪቫዶ ፕሮጄክትን እንደገና ለማዳበር create_vivado_proj.tcl Tcl ስክሪፕቱን ያስፈጽሙ፡
- ምንጭ ./create_vivado_proj.tcl
- በሁሉም የትግበራ ደረጃዎች ውስጥ ለማሄድ እና የፕሮግራሚንግ ቢት ዥረት ለማመንጨት በጎን አሞሌው ውስጥ Bitstream Generate ን ጠቅ ያድርጉ file.
- በመጨረሻም የሃርድዌር ማኔጀር ክፈትን ጠቅ ያድርጉ እና FPGA ን በ GUI በኩል ያቅዱ።
- አሁን በ uart_regs.py ክፍል ላይ እንደተገለጸው demo/arty_s7_50/uart_regs.py ስክሪፕት በመጠቀም መዝገቦችን ማንበብ እና መጻፍ መቀጠል ይችላሉ።
መተግበር
- ምንም ልዩ የትግበራ መስፈርቶች የሉም.
ገደቦች
- ለዚህ ንድፍ ምንም የተለየ የጊዜ ገደቦች አያስፈልጉም ምክንያቱም የ UART በይነገጽ ቀርፋፋ እና እንደ ያልተመሳሰለ በይነገጽ ይስተናገዳል።
- የ uart_rx ግቤት ወደ uart_regs ሞጁል በ uart_rx ሞጁል ውስጥ ተመሳስሏል። ስለዚህ፣ በከፍተኛ ደረጃ ሞጁል ውስጥ ማመሳሰል አያስፈልግም።
የታወቁ ጉዳዮች
- የ FPGA አርክቴክቸር ነባሪ የመመዝገቢያ ዋጋዎችን እንደሚደግፍ በመወሰን ሞጁሉን ጥቅም ላይ ከመዋሉ በፊት ዳግም ማስጀመር ሊኖርብዎ ይችላል።
ተጨማሪ መረጃ
- የቅጂ መብት VHDLwhiz.com
የሚጠየቁ ጥያቄዎች
ጥ፡ የ UART ሙከራ በይነገጽ ጀነሬተር ዓላማ ምንድን ነው?
መ: የ UART የሙከራ በይነገጽ ጀነሬተር ከ FPGA መመዝገቢያ ዋጋዎች ጋር የ UART ግንኙነትን በመጠቀም ለመግባባት ብጁ በይነገጾችን ለመፍጠር ያስችላል።
ጥ፡ የፒሴሪያል ጥቅልን እንዴት መጫን እችላለሁ?
መ: ፒሴሪያልን በፒፕ በኩል መጫን ይችላሉ ትዕዛዙን በመጠቀም: pip install pyserial
ሰነዶች / መርጃዎች
![]() |
VHDLwhiz UART የሙከራ በይነገጽ አመንጪ [pdf] የተጠቃሚ መመሪያ የ UART ሙከራ በይነገጽ ጀነሬተር ፣ የሙከራ በይነገጽ ጀነሬተር ፣ በይነገጽ ጀነሬተር ፣ ጀነሬተር |