Gineadóir Comhéadain Tástála VHDLwhiz UART
Eolas Táirge
Sonraíochtaí:
- Ainm Táirge: Cláraíonn VHDL gineadóir comhéadan tástála UART
- Leagan: 1.0.4
- Dáta: 18 Lúnasa, 2024
- Údar: Jonas Julian Jensen
- Táirge URL: Nasc Táirge
- Ríomhphost teagmhála: jonas@vhdlwhiz.com
Cur síos
Ligeann an táirge seo duit comhéadain shaincheaptha a ghiniúint chun luachanna cláir FPGA a léamh agus a scríobh ag baint úsáide as UART. Soláthraíonn an modúl VHDL ginte agus an script Python an cumas chun idirghníomhú le cineálacha éagsúla clár i do dhearadh FPGA.
Riachtanais
- Python 3 ateangaire
- pacáiste pyserial
Prótacal
Úsáideann an táirge prótacal frámaithe sonraí le ceithre charachtar rialaithe:
- Ainm: READ_REQ, Luach: 0x0A - Ordú ón ósta chuig an FPGA chun seicheamh scríobh a thionscnamh chun gach clár a sheoladh ar ais thar UART
- Ainm: START_WRITE, Luach: 0x0B – Marcáil tús seicheamh scríobh i gceachtar treo
- Ainm: END_WRITE, Luach: 0x0C – Marcáil deireadh seicheamh scríobh i gceachtar treo
- Ainm: Éalaigh, Luach: 0x0D – Carachtar éalaithe a úsáidtear chun focail rialaithe a éalú
Treoracha Úsáide Táirge
Rith na Scripteanna
Chun an táirge a úsáid, cinntigh go bhfuil Python 3 suiteáilte agat agus an pacáiste Pyserial. Rith na scripteanna trí ateangaire Python 3.
Comhéadain Chustaim a Ghiniúint
Bain úsáid as an script gen_uart_regs.py chun comhéadain saincheaptha a ghiniúint chun luachanna cláir FPGA a léamh agus a scríobh. Is féidir leat comhdhéanamh na gclár agus na gcineálacha ionchuir agus aschuir a shonrú agus an t-aschur á ghiniúint agat files.
Idirghníomhú le Cláir
Is féidir leat léamh ó nó scríobh chuig aon líon clár i do dhearadh FPGA ag baint úsáide as an modúl VHDL ginte agus script Python. Is féidir cineálacha mar std_logic, std_logic_vector, sínithe, nó gan síniú a bheith sna cláir inrochtana.
Ceadúnas
- Clúdaíonn ceadúnas MIT ceanglais chóipchirt agus téarmaí úsáide an chóid foinse. Déan tagairt don LICENSE.txt file sa Zip file le haghaidh sonraí.
Loga athrú
- Tagraíonn na hathruithe seo don tionscadal files, agus déantar an doiciméad seo a nuashonrú dá réir
Leagan | Nótaí |
1.0.0 | Eisiúint tosaigh |
1.0.1 | Bug tagartha seasta «féin» ar iarraidh agus é á iompórtáil mar uart_regs.py mar mhodúl Python. Theip ar an scríobh a phriontáil go heisceacht
seachain priontáil chuig an consól agus tú ag rith mar mhodúl allmhairithe. |
1.0.2 | Deisigh do earráid Vivado [Synth 8-248] nuair nach bhfuil aon rialacha mód amuigh. |
1.0.3 | Deisigh Vivado Rabhadh Linter: Tá cumasú ag an gclár tiomáinte ag
athshocrú sioncrónach |
1.0.4 | Ceartaigh an cás cúinne nuair a fhaigheann tú focal míchumtha agus an carachtar éalaithe mar an beart deiridh. Chaillfí an chéad fhocal eile freisin toisc nár ghlan muid recv_data_prev_is_escape agus sinn ag filleadh ar IDLE.
Ní cheadaíonn an script gen_uart_regs.py anois ach ainmneacha uathúla reg. |
Cur síos
- Déanann an doiciméad seo cur síos ar na nithe seo a leanas files agus fillteáin:
- gen_uart_regs.py
- ginte/uart_regs.vhd
- ginte/uart_regs.py
- ginte/instantiation_template.vho
- rtl/uart_regs_backend.vhd
- rtl/uart_rx.vhd
- rtl/uart_tx.vhd
- taispeána/lattice_icestick/
- taispeána/xilinx_arty_a7_35/
- taispeána/xilinx_arty_s7_50/
- An script gen_uart_regs.py agus VHDL tacaíochta files sa tionscadal seo beidh tú in ann comhéadain shaincheaptha a ghiniúint chun luachanna cláir FPGA de chineálacha agus leithead éagsúla a léamh agus a scríobh ag baint úsáide as UART.
- Is féidir leat an modúl VHDL ginte agus script Python a úsáid chun léamh ó aon líon clár i do dhearadh nó scríobh chucu. Is féidir na cineálacha std_logic, std_logic_vector, sínithe nó gan síniú a bheith ar chláir inrochtana UART.
- Is féidir leat cinneadh a dhéanamh ar chomhdhéanamh beacht na gclár agus na gcineálacha ionchuir agus aschuir agus an t-aschur á ghiniúint agat files ag baint úsáide as an script gen_uart_regs.py.
- Cruthaíodh na scripteanna Python go páirteach le cabhair ó uirlis hintleachta saorga ChatGPT, agus tá an cód VHDL lámhdhéanta.
Riachtanais
- Ní mór na scripteanna sa tionscadal seo a reáchtáil trí ateangaire Python 3 agus ní mór an pacáiste Pyserial a shuiteáil.
- Is féidir leat pyserial a shuiteáil trí Pip ag baint úsáide as an ordú seo: pip install pyserial
Prótacal
- An VHDL fileÚsáideann s agus Python script prótacal frámaithe sonraí le ceithre rialú
Ainm | Luach | Trácht |
READ_REQ | 0x0A | Ordú ón ósta go dtí an FPGA chun scríobh a thionscnamh
seicheamh chun gach clár a sheoladh ar ais thar UART |
START_WRITE | 0x0B | Marcáil tús seicheamh scríofa i gceachtar acu
treo |
END_WRITE | 0×0C | Marcáil deireadh seicheamh scríobh i gceachtar treo |
Éalaigh | 0x0d | Carachtar éalaithe a úsáidtear chun aon cheann de na focail rialaithe a éalú, an carachtar ESCAPE féin san áireamh, nuair a léirítear iad mar shonraí idir na marcóirí START_WRITE agus END_WRITE. |
Is treoir é aon bheart READ_REQ nár éirigh leis a sheoltar chuig an FPGA chun a chláir uile atá inrochtana ag UART (ionchuir agus aschuir) a sheoladh ar ais chuig an óstach thar UART. De ghnáth ní eisítear an t-ordú seo ach amháin ag an script uart_regs.py.
Ar an ordú seo a fháil, freagróidh an FPGA trí ábhar na gclár go léir a sheoladh ar ais chuig an óstach. Gcéad dul síos, na comharthaí ionchuir, ansin na comharthaí aschuir. Más rud é nach ionann a gcuid faid agus iolraí de 8 ngiotán, beidh na giotáin íochtair den bheart deiridh ina nialais stuáilte.
Tosaíonn seicheamh scríobh i gcónaí leis an START_WRITE beart agus críochnaíonn sé leis an mbeart END_WRITE. Meastar gur bearta sonraí iad bearta ar bith eatarthu siúd. Má tá an luach céanna ag beart sonraí ar bith agus atá ag carachtar rialaithe, ní mór an beart sonraí a éalú. Ciallaíonn sé seo carachtar ESCAPE breise a sheoladh roimh an beart sonraí chun a chur in iúl gur sonraí iarbhír iad.
Má thagann START_WRITE neamhéalaithe amach áit ar bith sa sruth beart, measfar gur tús seicheamh scríofa é. Úsáideann an modúl uart_regs_backend an fhaisnéis seo chun athshioncronú ar eagla go n-éireoidh an chumarsáid as sioncronú.
gen_uart_regs.py
- Is é seo an script nach mór duit tosú leis chun an comhéadan a ghiniúint. Seo thíos gabháil scáileáin den roghchlár cabhrach ar féidir leat a fháil trína rith: python gen_uart_regs.py -h
- Chun comhéadan saincheaptha a ghiniúint, ní mór duit an script a rith le gach ceann de na cláir inrialaithe UART atá uait atá liostaithe mar argóintí. Is iad na cineálacha atá ar fáil ná std_logic, std_logic_vector, gan síniú agus sínithe.
- Tá an modh réamhshocraithe (treo) isteach agus is é std_logic_vector an cineál réamhshocraithe ach amháin má tá an clár d'fhaid: 1. Ansin, beidh sé réamhshocraithe go std_logic.
- Mar sin, más mian leat comhartha ionchuir std_logic a chruthú, is féidir leat aon cheann de na hargóintí seo a úsáid:
- mo_sl=1
- mo_sl=1:isteach
- my_sl=1:i:std_logic
- Is é an toradh a bheidh ar na leaganacha thuas go léir ná go nginfidh an script an comhartha seo atá inrochtana do UART:
- Rithfimid an script le hargóintí chun comhéadan a ghiniúint le roinnt clár de threoracha, faid agus cineálacha éagsúla
Gineadh files
- Má ritheann an script gen_uart_regs.py go rathúil beidh fillteán aschuir ainmnithe leis na trí cinn files liostaithe thíos. Má tá siad ann cheana, déanfar iad a fhorscríobh.
- ginte/uart_regs.vhd
- ginte/uart_regs.py
- ginte/instantiation_template.vho
- uart_regs.vhd
- Is é seo an modúl comhéadan saincheaptha ginte ag an script. Ní mór duit é a chur ar an toirt i do dhearadh, áit ar féidir leis rochtain a fháil ar na cláir is mian leat a rialú ag baint úsáide as UART.
- Beidh gach rud atá os cionn na rannóige “- UART inrochtana cláir” comhionann le haghaidh gach modúl uart_regs, agus braitheann comhdhéanamh na gcomharthaí poirt faoin líne sin ar na hargóintí a thugtar don script ghineadóra.
- Taispeánann an liostú thíos an t-aonán don mhodúl uart_regs mar thoradh ar an ordú giniúna example léirithe sa gen_uart_regs.py secti
- Ní gá duit an comhartha uart_rx a shioncronú, mar a láimhseáiltear san uart_rx é. modúl.
- Nuair a fhaigheann an modúl iarratas léite, gabhfaidh sé luachanna gach comhartha ionchuir agus aschuir laistigh den timthriall clog reatha. Seoltar an pictiúr meandarach ansin chuig an ósta thar UART.
- Nuair a tharlaíonn scríobh, nuashonraítear gach clár aschuir leis na luachanna nua laistigh den timthriall clog céanna. Ní féidir luachanna comhartha aschuir a athrú ina n-aonar.
- Mar sin féin, ceadaíonn an script uart_regs.py don úsáideoir ach aschuir roghnaithe a nuashonrú trí luachanna reatha na gclár go léir a léamh ar ais ar dtús. Scríobhann sé gach luach ansin, lena n-áirítear na cinn nuashonraithe.
- uart_regs.py
- An ghintear/uart_regs.py file a ghintear in éineacht leis an modúl uart_regs VHDL agus tá an fhaisnéis clár saincheaptha i gceanntásc an file. Leis an script seo, is féidir leat léamh ó do chláir shaincheaptha nó scríobh chucu gan stró.
Roghchlár cabhrach
- Clóscríobh python uart_regs.py -h chun an roghchlár cabhrach a phriontáil:
An port UART a shocrú
- Tá roghanna ag an script chun an port UART a shocrú ag baint úsáide as an lasc -c. Oibríonn sé seo ar Windows agus Linux. Socraigh é chuig ceann de na calafoirt atá ar fáil atá liostaithe sa roghchlár cabhrach. Chun port réamhshocraithe a shocrú, is féidir leat an athróg UART_PORT a chur in eagar sa script uart_regs.py.
Ag liostú cláir
- Cuireann an script gen_uart_regs.py faisnéis faoi mhapáil an chláir i gceanntásc na scripte uart_regs.py. Is féidir leat na cláir atá ar fáil a liostú leis an lasc -l, mar a fheictear thíos. Is ordú áitiúil é seo agus ní idirghníomhóidh sé leis an sprioc FPGA
Ag scríobh chuig cláir
- Is féidir leat scríobh chuig aon cheann de na cláir as mód tríd an lasc -w a úsáid. Tabhair an t-ainm cláir agus “=” ina dhiaidh sin agus an luach tugtha mar luach dénártha, heicsidheachúla nó deachúlach, mar a thaispeántar thíos.
- Tabhair faoi deara go n-éilíonn cur i bhfeidhm VHDL ar an script gach clár aschuir a scríobh go comhuaineach. Mar sin, mura sonraíonn tú sraith iomlán de chláir aschuir, déanfaidh an script léamh ón sprioc FPGA ar dtús agus ansin úsáidfidh tú na luachanna sin do na cinn atá ar iarraidh. Is é an toradh a bheidh air ná nach n-athraíonn ach na cláir shonraithe
- Nuair a dhéanann tú scríobh, athrófar gach clár sonraithe le linn an timthrialla cloig chéanna, ní chomh luath agus a fhaightear iad thar UART.
Cláir a léamh
- Úsáid an lasc -r chun gach clárluach a léamh, mar a thaispeántar thíos. Is iad na luachanna atá marcáilte le buí na cinn a d’athraigh muid sa scríobh example
- Taispeánann gach léamh léargas meandrach ar gach clár ionchuir agus aschuir. Tá siad go léir sampstiúir le linn an timthrialla clog céanna
Dífhabhtaithe
Úsáid an lasc -d le haon cheann de na lasca eile más gá duit an prótacal cumarsáide a dhífhabhtú. Ansin, priontálfaidh an script gach beart a sheoltar agus a fuarthas agus tag iad más carachtair rialaithe iad, mar a thaispeántar thíos.
Ag baint úsáide as an comhéadan i scripteanna Python eile
- Tá rang UartRegs sa script uart_regs.py is féidir leat a úsáid go héasca mar chomhéadan cumarsáide i scripteanna Python saincheaptha eile. Níl ort ach an rang a allmhairiú, cruthaigh rud de, agus tosú ag baint úsáide as na modhanna, mar a thaispeántar thíos.
- Déan tagairt do na docstrings sa chód Python le haghaidh modh agus tuairiscí agus cineálacha luach tuairisceáin.
instantiation_template.vho
- Gintear an teimpléad toirtithe in éineacht leis an modúl uart_regs ar mhaithe leat. Chun am códaithe a shábháil, is féidir leat an toirt modúil agus dearbhuithe comhartha a chóipeáil isteach i do dhearadh.
RTL Statach files
- Ní mór duit an méid seo a leanas a chur san áireamh files i do thionscadal VHDL ionas go gcuirfear le chéile iad sa leabharlann chéanna leis an modúl uart_regs:
- rtl/uart_regs_backend.vhd
- rtl/uart_rx.vhd
- rtl/uart_tx.vhd
- Cuireann an modúl uart_regs_backend i bhfeidhm na meaisíní staide críochta a chlogálann isteach agus amach sonraí an chláir. Úsáideann sé na modúil uart_rx agus uart_tx chun cumarsáid UART leis an óstach a láimhseáil.
Tionscadail taispeána
- Tá trí thionscadal taispeána san áireamh sa Zip file. Ligeann siad duit na forimeallaigh ar na boird éagsúla a rialú chomh maith le cúpla clár inmheánach níos mó.
- Áirítear ar na fillteáin taispeána uart_regs.vhd réamhghinte agus uart_regs.py files déanta go sonrach do na dearaí sin.
ICEstick laitíse
- San fhillteán taispeána/icecube2_icestick tá forfheidhmiú taispeána um rochtain cláir do bhord FPGA Lattice ICEstick.
- Chun an próiseas cur chun feidhme a rith, oscail an demo/lattice_icestick/icecube2_proj/uart_regs_sbt.project file i mbogearraí dearaidh Lattice ICEcube2.
- Tar éis duit an tionscadal a lódáil sa GUI iCEcube2, cliceáil Uirlisí → Rith Uile chun léarscáil ghiotán an chláir a ghiniúint file.
- Is féidir leat an uirlis Standalone Ríomhchláraitheoir Lattice Diamond a úsáid chun an FPGA a chumrú leis an mapa giotán ginte file. Nuair a osclaíonn Diamond Ríomhchláraitheoir, cliceáil Oscail tionscadal ríomhchláraitheoir atá ann cheana féin sa bhosca dialóige fáilte.
- Roghnaigh tionscadal file le fáil sa Zip: demo/lattice_icestick/diamond_programmer_project.xcf agus cliceáil OK.
- Tar éis ualaí an tionscadail, cliceáil ar na trí phonc sa File Colún ainm, mar a thaispeántar thuas. Brabhsáil chun an léarscáil ghiotán a roghnú file a ghin tú in ICEcube2
- taispeána/lattice_icestick/icecube2_proj/uart_regs_Implmnt/sbt/outputs/bitmap/top_icestick_bitmap.bin
- Ar deireadh, agus an bord iCEstick plugáilte isteach i gcalafort USB ar do ríomhaire, roghnaigh Design→Clár chun an splanc SPI a ríomh agus an FPGA a chumrú.
- Is féidir leat dul ar aghaidh anois le cláir a léamh agus a scríobh tríd an script demo/lattice_icestick/uart_regs.py a úsáid mar a thuairiscítear sa rannóg uart_regs.py.
Xilinx Digilent Arty A7-35T
- Is féidir leat an cur i bhfeidhm taispeána do threalamh meastóireachta Artix-7 35T Arty FPGA a fháil san fhillteán demo/arty_a7_35.
- Oscail Vivado agus déan nascleanúint chuig an gceann a bhaintear files ag baint úsáide as an consól Tcl atá le fáil ag bun an chomhéadain GUI. Clóscríobh an t-ordú seo chun an fillteán tionscadail taispeána a chur isteach:
- cd /demo/arty_a7_35/vivado_proj/
- Rith an script create_vivado_proj.tcl Tcl chun an tionscadal Vivado a athghiniúint:
- foinse ./create_vivado_proj.tcl
- Cliceáil Gin Giotán sa bharra taoibh chun na céimeanna cur chun feidhme go léir a rith agus an sruth giotán ríomhchláraithe a ghiniúint file.
- Ar deireadh, cliceáil Bainisteoir Crua-earraí Oscailte agus cláraigh an FPGA tríd an GUI.
- Is féidir leat dul ar aghaidh anois le cláir a léamh agus a scríobh tríd an script demo/arty_a7_35/uart_regs.py a úsáid mar a thuairiscítear sa rannóg uart_regs.py.
Xilinx Digilent Arty S7-50
- Is féidir leat an forfheidhmiú taispeána don bhord forbartha Arty S7: Spartan-7 FPGA a fháil san fhillteán demo/arty_s7_50.
- Oscail Vivado agus déan nascleanúint chuig an gceann a bhaintear files ag baint úsáide as an consól Tcl atá le fáil ag bun an chomhéadain GUI. Clóscríobh an t-ordú seo chun an fillteán tionscadail taispeána a chur isteach:
- cd /demo/arty_s7_50/vivado_proj/
- Rith an script create_vivado_proj.tcl Tcl chun an tionscadal Vivado a athghiniúint:
- foinse ./create_vivado_proj.tcl
- Cliceáil Gin Giotán sa bharra taoibh chun na céimeanna cur chun feidhme go léir a rith agus an sruth giotán ríomhchláraithe a ghiniúint file.
- Ar deireadh, cliceáil Bainisteoir Crua-earraí Oscailte agus cláraigh an FPGA tríd an GUI.
- Is féidir leat dul ar aghaidh anois le cláir a léamh agus a scríobh tríd an script demo/arty_s7_50/uart_regs.py a úsáid mar a thuairiscítear sa rannóg uart_regs.py.
Cur i bhfeidhm
- Níl aon riachtanais shonracha cur chun feidhme ann.
Srianta
- Níl aon srianta sonracha ama ag teastáil don dearadh seo toisc go bhfuil comhéadan UART mall agus go gcaitear leis mar chomhéadan asincrónach.
- Déantar an t-ionchur uart_rx chuig an modúl uart_regs a shioncronú laistigh den mhodúl uart_rx. Mar sin, ní gá é a shioncronú sa mhodúl barrleibhéil.
Saincheisteanna aitheanta
- Seans go mbeidh ort an modúl a athshocrú sular féidir é a úsáid, ag brath ar cibé an dtacaíonn d’ailtireacht FPGA le luachanna réamhshocraithe an chláir.
Tuilleadh eolais
- Cóipcheart VHDLwhiz.com
CCanna
C: Cad é an cuspóir atá leis an gineadóir comhéadan tástála UART?
A: Ceadaíonn gineadóir comhéadan tástála UART comhéadain saincheaptha a chruthú chun idirghníomhú le luachanna cláir FPGA ag baint úsáide as cumarsáid UART.
C: Conas an pacáiste Pyserial a shuiteáil?
A: Is féidir leat Pyserial a shuiteáil trí Pip ag baint úsáide as an ordú: pip install pyserial
Doiciméid / Acmhainní
![]() |
Gineadóir Comhéadain Tástála VHDLwhiz UART [pdfLámhleabhar Úsáideora Gineadóir Comhéadain Tástála UART, Gineadóir Chomhéadain Tástála, Gineadóir Comhéadain, Gineadóir |