Sadržaj:

Osnovna štoperica pomoću VHDL -a i Basys3 ploče: 9 koraka
Osnovna štoperica pomoću VHDL -a i Basys3 ploče: 9 koraka

Video: Osnovna štoperica pomoću VHDL -a i Basys3 ploče: 9 koraka

Video: Osnovna štoperica pomoću VHDL -a i Basys3 ploče: 9 koraka
Video: Ubistvo Mila Ilića 2024, Juli
Anonim
Image
Image

Dobro došli u uputstva o tome kako izgraditi štopericu pomoću osnovne VHDL i Basys 3 ploče. Sa zadovoljstvom dijelimo naš projekt s vama! Ovo je bio posljednji projekt za kurs 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 tastera na Basys3 ploči, a vreme se prikazuje na četvorocifrenom sedmo-segmentnom displeju 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 ekrana sa sedam segmenata.

Korak 1: Materijali

Postavljanje ulaza i izlaza
Postavljanje ulaza i izlaza

Materijali koji će vam biti potrebni za ovaj projekat:

  • 1 računar sa Vivado Design Suite WebPack instaliranim sa Xilinxa (preferirajte verziju 2016.2)
  • 1 Digilent Basys3 Xilinx Artix-7 FPGA ploča
  • 1 kabel USB porta

Korak 2: Postavljanje ulaza i izlaza

Gornja slika prikazuje blok dijagram najvišeg nivoa modula štoperice. Štoperica prima ulaze "CLK" (sat), "S1" (dugme za pokretanje), "S2" (dugme za pauzu) i "RST" (resetovanje) i ima 4-bitni izlaz "Anode", 7-bit izlaz "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: satni razdjelnik, brojač znamenki, upravljački program za prikaz u sedam segmenata i koder ekrana u sedam segmenata. Glavni modul štoperice povezuje sve podmodule zajedno sa ulazima i izlazima.

Korak 3: Pravljenje satova

Izrada satova
Izrada satova

Modul razdjelnika sata uzima sistemski sat i koristi ulaz djelitelja za stvaranje takta bilo koje brzine koja nije veća od brzine sistemskog sata. Š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", 32-bitni ulaz "Razdjelnik" i jednobitni izlaz "CLKOUT". "CLK" je sistemski sat, a "CLKOUT" je rezultirajući sat. Modul takođe uključuje NOT gate, koji prebacuje signal "CLKTOG" kada odbrojavanje dostigne vrijednost djelitelja.

Korak 4: Brojanje do deset

Brojanje do deset
Brojanje do deset

Brojač cifara broji svaku znamenku od 0 do 10 i stvara još jedan sat za sljedeću cifru koja će isključiti tu oscilaciju kada broj dostigne 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č brojeva. "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

Prikazivanje brojeva
Prikazivanje brojeva

Kodirač zaslona sa sedam segmenata kodirat će binarni broj primljen od sedmosegmentnog upravljačkog modula zaslona 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 "cifru" i rezultira 7-bitnim izlaznim "segmentima". Modul se sastoji od pojedinačnog bloka procesa 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 ekranu. Redoslijed segmenata u toku je "abcdefg" sa "0" koje predstavljaju segmente koji svijetle za dati broj.

Korak 6: Kako prikazati štopericu

Kako prikazati štopericu
Kako prikazati štopericu

U modulu upravljačkog programa za prikaz u sedam segmenata postoje četiri 4-bitna ulaza "D0", "D1", "D2" i "D3", od kojih svaki predstavlja četiri znamenke koje treba prikazati. Ulaz "CLK" je satni ulaz sistema. Jednobitni izlaz "DP" predstavlja decimalnu tačku na sedmosegmentnom ekranu. 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 kreiranje tipki za pokretanje i pauziranje. Zatim povežite sve podmodule zajedno u glavnom modulu štoperice deklarisanjem komponenti svakog pojedinačnog podmodula i korišćenjem različitih signala. Podmoduli znamenki prihvaćaju izlaz takta prethodnog znamenka, a prvi uzima sat od 100Hz. "D" izlazi brojčanih podmodula tada postaju "D" ulazi sedmosegmentnog upravljačkog modula zaslona. I na kraju, "temp" izlaz sedmosegmentnog upravljačkog modula displeja postaje "temp" ulaz sedmosegmentnog modula kodera.

Korak 8: Ograničenja

Ograničenja
Ograničenja

Koristite 3 tipke (W19, T17 i U18) za ulaze "RST", "S1" i "S2". W19 je dugme za resetovanje, T17 je dugme za pokretanje (S1), a U18 je dugme za pauzu (S2). Ograničenje za ulaz ulaza sata je takođe potrebno pomoću porta W5. Također, ne zaboravite dodati ovu liniju 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

Testiranje
Testiranje

Pobrinite se da vaš uređaj radi tako što ćete se igrati s tri tipke: pritiskom i držanjem u svakom mogućem redoslijedu kako biste pronašli sve moguće probleme sa svojim kodom.

Preporučuje se: