Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Dobro došli u uputstva o tome kako izgraditi štopericu pomoću osnovne ploče VHDL i Basys 3. Drago nam je što možemo podijeliti naš projekt s vama! Ovo je bio posljednji projekt za tečaj CPE 133 (digitalni dizajn) u Cal Polyu, SLO u jesen 2016. Projekt koji smo izgradili je jednostavna štoperica koja pokreće, resetira i pauzira vrijeme. Kao ulaz unosi tri tipke na Basys3 ploči, a vrijeme se prikazuje na četveroznamenkastom sedmo-segmentnom zaslonu ploče. Proteklo vrijeme prikazuje se u formatu sekundi: centisekunde. Koristi sistemski sat ploče kao ulaz za praćenje proteklog vremena i prikazuje vrijeme na četiri znamenke zaslona od sedam segmenata.
Korak 1: Materijali
Materijali koji će vam biti potrebni za ovaj projekt:
- 1 računalo s Vivado Design Suite WebPack instaliranim iz Xilinxa (radije verzija 2016.2)
- 1 Digilent Basys3 Xilinx Artix-7 FPGA ploča
- 1 kabel USB priključka
Korak 2: Postavljanje ulaza i izlaza
Gornja slika prikazuje blok dijagram najviše razine glavnog modula štoperice. Štoperica prima ulaze "CLK" (sat), "S1" (gumb za pokretanje), "S2" (tipka za pauzu) i "RST" (reset) i ima 4-bitni izlaz "Anode", 7-bit izlazni "segment" i jednobitni izlaz "DP" (decimalna točka). Kad je ulaz "S1" visok, štoperica počinje odbrojavati vrijeme. Kad je "S2" nisko, štoperica pauzira vrijeme. Kad je "RST" visoko, štoperica se zaustavlja i poništava vrijeme. U krugu postoje četiri podmodula: razdjelnik sata, brojač znamenki, upravljački program za prikaz u sedam segmenata i koder zaslona u sedam segmenata. Glavni modul štoperice povezuje sve podmodule zajedno s ulazima i izlazima.
Korak 3: Izrada satova
Modul razdjelnika sata uzima sistemski sat i koristi ulaz djelitelja za stvaranje takta bilo koje brzine koja nije veća od brzine takta sustava. Štoperica koristi dva različita modula takta, jedan koji stvara sat od 500 Hz i drugi koji stvara sat od 100 Hz. Shema razdjelnika sata prikazana je na gornjoj slici. Razdjelnik takta prima jednobitni ulaz "CLK", te 32-bitni ulaz "Razdjelnik" i jednobitni izlaz "CLKOUT". "CLK" je sistemski sat, a "CLKOUT" je rezultirajući sat. Modul također uključuje vrata NOT, koja prebacuju signal "CLKTOG" kada odbrojavanje dosegne vrijednost djelitelja.
Korak 4: Brojanje do deset
Brojač znamenki broji svaku znamenku od 0 do 10 i stvara još jedan sat za sljedeću znamenku koja će isključiti to osciliranje kada broj dosegne 10. Modul prima 3 jednobitna ulaza "S", "RST" i "CLK" "i rezultira jednobitnim izlazom" N "i 4-bitnim izlazom" D ". Ulaz "S" je omogućavanje ulaza. Sat se uključuje kada je "S" visoko i isključuje se kada je "S" nisko. "RST" je ulaz za resetiranje pa se sat resetira kada je "RST" visoko. "CLK" je ulaz sata za brojač znamenki. "N" je izlaz sata koji postaje ulazni sat za sljedeću znamenku. Izlaz "D" predstavlja binarnu vrijednost znamenke na kojoj se nalazi brojač.
Korak 5: Prikaz brojeva
Kodirač zaslona sa sedam segmenata kodirat će binarni broj primljen od modula upravljačkog programa zaslona sa sedam segmenata i pretvorit će ga u niz bitova koji će se za svaki segment prikaza interpretirati kao vrijednosti "1" ili "0". Modul prima binarni broj kao 4-bitnu ulaznu "znamenku" i rezultira 7-bitnim izlaznim "segmentima". Modul se sastoji od bloka procesa s jednim slučajem koji dodjeljuje određeni 7-bitni tok za svaku moguću ulaznu vrijednost od 0 do 9. Svaki bit u sedmobitnom toku predstavlja jedan od sedam segmenata znamenki na zaslonu. Redoslijed segmenata u toku je "abcdefg" s "0" koji predstavljaju segmente koji svijetle za dati broj.
Korak 6: Kako prikazati štopericu
U sedmosegmentnom upravljačkom modulu zaslona postoje četiri 4-bitna ulaza "D0", "D1", "D2" i "D3", od kojih svaki predstavlja četiri znamenke koje treba prikazati. Ulaz "CLK" je ulaz sata u sustavu. Jednobitni izlaz "DP" predstavlja decimalnu točku na sedmosegmentnom zaslonu. 4-bitni izlaz "Anodes" određuje koja se znamenka na sedmosegmentnom zaslonu prikazuje, a 4-bitna "temp" izlaza ovisi o stanju 2-bitnog upravljačkog ulaza "SEL". Modul koristi 4 multipleksera za upravljački ulaz "SEL" i tri izlaza; "Anode", "temp" i "DP".
Korak 7: Sve spojite
Procesni blok "if" koji radi na taktu od 500Hz koristi se za stvaranje gumba za početak i pauzu. Zatim povežite sve podmodule zajedno u glavnom modulu štoperice deklarirajući komponente svakog pojedinog podmodula i koristeći različite signale. Podmoduli znamenki uzimaju izlaz sata prethodnog znamenkastog podmodula, a prvi uzima sat od 100Hz. "D" izlazi digitalnih podmodula tada postaju "D" ulazi sedmosegmentnog upravljačkog modula zaslona. I na kraju, "temp" izlaz sedmosegmentnog upravljačkog modula zaslona postaje "temp" ulaz sedam segmentnog modula kodera.
Korak 8: Ograničenja
Koristite 3 tipke (W19, T17 i U18) za ulaze "RST", "S1" i "S2". W19 je gumb za resetiranje, T17 je gumb za pokretanje (S1), a U18 je gumb za pauzu (S2). Ograničenje za ulaz ulaza sata također je potrebno pomoću priključka W5. Također, ne zaboravite dodati ovaj redak ograničenju sata:
create_clock -add -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports {CLK}]
Također povežite Anode i segmente s pločom tako da se štoperica prikaže na ekranu sa sedam segmenata kao što se vidi u datoteci ograničenja.
Korak 9: Testiranje
Pobrinite se da vaš uređaj radi igrajući se s tri tipke: pritiskajući ih i držeći ih svim mogućim redoslijedom kako biste pronašli moguće probleme s vašim kodom.