Innholdsfortegnelse:

VHDL stoppeklokke: 8 trinn (med bilder)
VHDL stoppeklokke: 8 trinn (med bilder)

Video: VHDL stoppeklokke: 8 trinn (med bilder)

Video: VHDL stoppeklokke: 8 trinn (med bilder)
Video: EE2902 stopwatch in vhdl 2024, Juli
Anonim
VHDL stoppeklokke
VHDL stoppeklokke

Dette er en opplæring om hvordan du lager en stoppeklokke ved hjelp av VHDL og et FPGA-kretskort, som et Basys3 Atrix-7-kort. Stoppeklokken kan telle fra 00,00 sekunder til 99,99 sekunder. Den bruker to knapper, en for start/stopp -knappen og en for tilbakestillingsknappen. Tallene vises på brettets sjusegmentdisplay ved hjelp av dets anoder og katoder. Det er tre forskjellige filer som trengs for å få denne stoppeklokken til å fungere.

Trinn 1: Maskinvare/programvare

  • Basys3 Atrix-7 FPGA Board
  • Vivado Design Suite fra Xilinx
  • USB 2.0 A Hann til Micro-B Hann

Trinn 2: Blokkdiagram

Blokkdiagram
Blokkdiagram

Den totale stoppeklokken har tre innganger og to utganger. De tre inngangene er start/stopp, tilbakestilling og klokke. Start/stopp og tilbakestilling er knapper og klokken er brettets 100MHz klokke. De to utgangene er anoder og katoder for displayet med syv segmenter.

Den første modulen (klokkedeleren) har en inngang og to utganger. Inngangen er brettets 100MHz klokke og utgangene er to separate klokker, en som kjører på 480Hz og en annen som kjører 0,5MHz.

Den andre modulen (display) har fem innganger og to utganger. Inngangene er brettets 100MHz -klokke, de to klokkene fra klokkedelermodulen, og start/stopp- og tilbakestillingsknappene. Utgangene er anoder og katoder.

Den siste modulen (modellert av hele blokkdiagrammet) har tre innganger og to utganger. Dette er filen som bringer alt sammen. Inngangene er brettets 100MHz og knappene start/stopp og tilbakestilling. Utgangene er anoder og katoder som styrer syv-segmentet. Alle innganger og utganger er fysisk på tavlen for den siste modulen.

Trinn 3: Oppgi diagram

Statlig diagram
Statlig diagram

Bildet ovenfor viser tilstandsdiagrammet for hvordan stoppeklokken fungerer. Trykk på tilbakestillingsknappen har ingen innvirkning på stoppeklokken. Neste tilstand bestemmes av start/stopp -knappen. Starten/stoppet er "HØYT" når det trykkes ned, men ikke når det holdes nede, og "LAVT" når knappen har slått tilbake eller holdt nede etter å ha blitt "HØY" et øyeblikk.

Hvis stoppeklokken teller og start/stopp -knappen går "HØY", slutter den å telle. Hvis stoppeklokken stoppes og start/stopp -knappen går "HØY", begynner den å telle igjen. For begge delstatene, hvis start/stopp -knappen er "LAV", vil den forbli i tilstanden den er i for øyeblikket.

Trinn 4: Clock Divider Module

Klokkedelermodulen har en inngang, brettets 100MHz klokke og to utganger, 480Hz og 0.5MHz klokker. 480Hz-klokken brukes til å holde alle lysdiodene på sjusegmentsdisplayet "på" samtidig ved å bytte raskt gjennom de fire. 0,5 MHz-klokken brukes til at stoppeklokken faktisk skal telle med centisekunder.

Trinn 5: Skjermmodul

Denne skjermmodulen har fem innganger, brettets 100MHz klokke, de to klokkene fra klokkemodulen, start/stopp og tilbakestillingsknappene, og to utganger, anoder og katoder. Denne modulen har også "logikken" for hvordan stoppeklokken teller og inkorporerer den endelige tilstandsmaskinen.

Trinn 6: Bindingsmodul

Denne siste modulen er den som bringer de to andre modulene sammen. Den har tre innganger, brettets 100MHz klokke og start/stopp og tilbakestillingsknappene, og to utganger, anoder og katoder. 100MHz -klokken går til klokkedelermodulen og skjermmodulen, og start/stopp- og tilbakestillingsknappene går til skjermmodulen. Utgangene til klokkedelermodulen (480Hz og 0,5MHz) går til de to klokkeinngangene på displaymodulen. Utgangene til displaymodulen (anoder og katoder) går til den siste modulens utganger.

Trinn 7: Begrensninger

Begrensninger
Begrensninger

De to inngangene kan være hvilken som helst knapp på Basys3 Atrix-7 FPGA-kortet, og utgangene kommer til å være de fire anodene og de åtte katodene (fordi du også vil ha et desimalpunkt mellom sekunder og millisekunder) for syv-segmentet.

Trinn 8: Ferdig

Last opp programmet til ditt Basys3 Atrix-7 FPGA Board og trykk på start/stopp-knappen for å få stoppeklokken i gang!

Anbefalt: