Verilog , en maskinvare beskrivelse språk som brukes til å generere digitale kretser for programmerbare chips , kan brukes til å skrive koden som beskriver digitale kretser , simulere kretsen atferd og program maskinvare. Et godt eksempel på en enkel Verilog krets er en som skaper en puls etter en kort forsinkelse. Du kan skrive en Verilog program som oppnår dette med noen få linjer med kode uten noen tidligere erfaring med programmering . Du trenger
Verilog Integrated Development Environment (IDE ), for eksempel Altera Quartus II
Vis flere instruksjoner
en
Åpne Verilog IDE og opprette et nytt prosjekt ved klikke på " File" og deretter velge "New Project Wizard . " Et prosjekt etablering vises. Velg et navn og katalog for dette prosjektet . For eksempel kan du kalle prosjektet " forsinkelse " og plassere den i katalogen " C: . \\ Verilog Prosjekter "
2
Trykk på " Neste"-knappen for å gå gjennom resten av sidene , forlater alle innstillingene på standardverdiene. Trykk på " Finish" -knappen for å opprette prosjektet .
3
Velg "File " og deretter " Ny" for å åpne en fil oppretting vindu . Velg " Verilog HDL File " og trykk på "OK" -knappen for å legge til en ny Verilog fil til prosjektet . En tom Verilog filen vises i hovedteksten editor vinduet .
4
Definer en ny "modul" som har samme navn som prosjektet. Denne modulen skal huse all koden for forsinkelsen puls program . Når du definerer en modul , kan du også definere noen parametre som innganger og utganger. Forsinkelsen modulen trenger to parametre : et klokkesignal og en utgang for den genererte puls . Skriv følgende for å definere modul med disse parameterne : en
modul forsinkelse (klokke , puls) ;
5
Definer to signaler: en inngang klokke signal og en utgang puls signal. Den klokke -signalet blir brukt til å telle en kort sekvens før sending av en puls -signal gjennom utgangen. Dette tillater deg å ta tiden en forsinkelse basert på antall klokke overganger som oppstår. Skriv følgende signal definisjoner:
innspill klokke , utgang puls ,
6
Definer et register som lagrer den nåværende antall klokke overganger som har skjedd . Siden dette registeret brukes til å telle antall overganger , et godt navn for det er " teller . " Skriv følgende for å definere og klargjøre dette registeret : en
reg teller; innledende begynne telle = 0 ;
Side 7
Skriv følgende uttalelse å utføre en sekvens av handlinger med hverandre mens klokken tikker signal : en
alltid @ ( posedge klokke)
8
Increment den " telle "Registrer etter en med hver overgang av klokken : en
teller < = teller + 1;
9
Test for å se om det " teller " register tilsvarer 10 , eller noen annen vilkårlig verdi. Dette er hvordan du kan nå dine forsinkelse puls . Pulsen er bare slippes ut etter et angitt antall klokke overganger . Hvis den klokketakt er 10 perioder pr sekund, så den puls blir generert etter en ett - sekunds forsinkelse . Du kan teste "teller " registrere seg med en " hvis " statement , for eksempel følgende : en
if ( teller == 10 )
10
Plasser en enkelt bit på " puls "output signal ved å skrive:
puls < = 1'b1 ;
11
End " hvis "statement med følgende uttalelse : en
slutten
12
End modulen med følgende uttalelse : en
endmodule
13
kompilere og teste din krets. Denne kretsen genererer en puls som varer en enkelt klokkeovergang . Den puls genereres bare etter en forhåndsbestemt forsinkelse , i dette tilfelle 10 klokke overganger. Du kan endre denne verdien til annen pulsen generasjon som passer dine kriterier.