Kazalo:

Osnovna štoparica z uporabo VHDL in plošče Basys3: 9 korakov
Osnovna štoparica z uporabo VHDL in plošče Basys3: 9 korakov

Video: Osnovna štoparica z uporabo VHDL in plošče Basys3: 9 korakov

Video: Osnovna štoparica z uporabo VHDL in plošče Basys3: 9 korakov
Video: КАК НАСТРОИТЬ L4D2 2024, November
Anonim
Image
Image

Dobrodošli v navodilih za izdelavo štoparice z uporabo osnovne plošče VHDL in Basys 3. Z veseljem delimo naš projekt z vami! To je bil zadnji projekt za tečaj CPE 133 (digitalno oblikovanje) na Cal Poly, SLO jeseni 2016. Projekt, ki smo ga zgradili, je preprosta štoparica, ki zažene, ponastavi in ustavi čas. Kot vhodi vzamejo tri gumbe na plošči Basys3, čas pa je prikazan na štirimestnem sedem-segmentnem zaslonu plošče. Pretekli čas je prikazan v obliki sekund: centisekund. Sistemsko uro plošče uporablja kot vhod za spremljanje pretečenega časa in čas prikaže na štiri števke sedem-segmentnega zaslona.

1. korak: Materiali

Nastavitev vhodov in izhodov
Nastavitev vhodov in izhodov

Materiali, ki jih potrebujete za ta projekt:

  • 1 računalnik z nameščenim Vivado Design Suite WebPack iz Xilinxa (raje različica 2016.2)
  • 1 plošča Digilent Basys3 Xilinx Artix-7 FPGA
  • 1 kabel vrat USB

2. korak: Nastavitev vhodov in izhodov

Zgornja slika prikazuje zgornji blok diagram glavnega modula štoparice. Štoparica sprejema vhode "CLK" (ura), "S1" (gumb za zagon), "S2" (gumb za premor) in "RST" (ponastavitev) in ima 4-bitni izhod "Anode", 7-bit izhod "segment" in enobitni izhod "DP" (decimalna vejica). Ko je vhod "S1" visok, štoparica začne šteti čas. Ko je "S2" nizko, štoparica zaustavi čas. Ko je "RST" visoko, se štoparica ustavi in ponastavi čas. V vezju so štirje podmoduli: delilec ure, števec številk, gonilnik sedem-segmentnega zaslona in dajalnik sedem-segmentnega zaslona. Glavni modul štoparice povezuje vse podmodule skupaj z vhodi in izhodi.

3. korak: Ustvarjanje ur

Izdelava ur
Izdelava ur

Modul delilnika ure sprejema sistemsko uro in z vhodom delitelja ustvari uro katere koli hitrosti, ki ni večja od hitrosti sistemske ure. Štoparica uporablja dva različna modula ure, enega, ki ustvarja uro 500 Hz in drugega, ki ustvarja uro 100 Hz. Shema delilnika ure je prikazana na zgornji sliki. Ločilnik ure sprejema enobitni vhod "CLK", 32-bitni vhod "delitelj" in enobitni izhod "CLKOUT". "CLK" je sistemska ura in "CLKOUT" je nastala ura. Modul vključuje tudi vrata NOT, ki preklopijo signal "CLKTOG", ko štetje doseže vrednost delitelja.

4. korak: štetje do deset

Štejem do deset
Štejem do deset

Števec števk šteje vsako števko od 0 do 10 in ustvari drugo uro, v kateri naslednja številka ne deluje, ki niha, ko štetje doseže 10. Modul sprejme 3 enobitne vhode "S", "RST" in "CLK" "in ima za posledico enobitni izhod" N "in 4-bitni izhod" D ". Vhod "S" je omogočanje vhoda. Ura se vklopi, ko je "S" visoka, in izklopi, ko je "S" nizka. "RST" je vhod za ponastavitev, zato se ura ponastavi, ko je "RST" visoko. "CLK" je vhod za uro za števec številk. "N" je izhod ure, ki postane vhodna ura za naslednjo številko. Izhod "D" predstavlja binarno vrednost števke, na kateri je števec.

5. korak: Prikaz številk

Prikaz številk
Prikaz številk

Sedemsegmentni kodirnik zaslona bo kodiral binarno številko, prejeto iz sedemsegmentnega gonilniškega modula zaslona, in jo spremenil v tok bitov, ki bodo interpretirani kot vrednosti "1" ali "0" za vsak segment zaslona. Modul sprejme binarno številko kot 4-bitno vhodno "številko" in povzroči 7-bitne izhodne "segmente". Modul je sestavljen iz enojnega procesnega bloka, ki dodeli poseben 7-bitni tok za vsako možno vhodno vrednost od 0 do 9. Vsak bit v sedem-bitnih tokovih predstavlja enega od sedmih segmentov števk na zaslonu. Vrstni red segmentov v toku je »abcdefg« z »0«, ki predstavljajo segmente, ki zasvetijo za dano število.

6. korak: Kako prikazati štoparico

Kako prikazati štoparico
Kako prikazati štoparico

V sedemsegmentnem gonilniškem modulu zaslona so štirje 4-bitni vhodi "D0", "D1", "D2" in "D3", od katerih vsak predstavlja štiri števke, ki jih je treba prikazati. Vhod "CLK" je vhod ure v sistemu. Enobitni izhod "DP" predstavlja decimalno vejico na sedemsegmentnem zaslonu. 4-bitni izhod "Anodes" določa, katera številka na sedem-segmentnem zaslonu je prikazana, 4-bitna izhodna "temp" pa je odvisna od stanja 2-bitnega krmilnega vhoda "SEL". Modul uporablja 4 multiplekserje za krmilni vhod "SEL" in tri izhode; "Anode", "temp" in "DP".

7. korak: Združite vse skupaj

Procesni blok "if", ki teče pri frekvenci 500Hz, se uporablja za ustvarjanje gumbov za zagon in premor. Nato povežite vse podmodule v glavnem modulu štoparice tako, da razglasite komponente vsakega posameznega podmodula in uporabite različne signale. Številčni podmoduli sprejmejo izhod ure prejšnjega številskega podmodula, prvi pa 100Hz. Izhodi "D" številskih podmodulov nato postanejo vhodi "D" sedemsegmentnega gonilniškega modula zaslona. In nazadnje "temp" izhod sedemsegmentnega gonilniškega modula zaslona postane "temp" vhod modula kodirnika sedmih segmentov.

8. korak: Omejitve

Omejitve
Omejitve

Uporabite 3 tipke (W19, T17 in U18) za vhode "RST", "S1" in "S2". W19 je gumb za ponastavitev, T17 je gumb za zagon (S1), U18 pa gumb za premor (S2). Omejitev za vhod vhoda ure je potrebna tudi z vrati W5. Ne pozabite dodati te vrstice omejitvi ure:

create_clock -add -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports {CLK}]

Anode in segmente povežite tudi s ploščo, tako da se štoparica prikaže na sedem-segmentnem zaslonu, kot je prikazano v datoteki omejitev.

9. korak: Testiranje

Testiranje
Testiranje

Prepričajte se, da naprava deluje tako, da se igrate s tremi gumbi: pritisnete in držite jih v vsakem možnem vrstnem redu, da odkrijete morebitne težave s kodo.

Priporočena: