Verilog , en hårdvara deskriptor språk som används för att generera digitala kretsar för programmerbara chip , kan användas för att skriva koden som beskriver digitala kretsar , simulera kretsen beteende och program hårdvara . Ett bra exempel på en enkel Verilog -krets är en som skapar en puls efter en kort fördröjning . Du kan skriva ett Verilog program som åstadkommer detta med ett par rader kod utan föregående erfarenhet av programmering . Saker du behöver
Verilog Integrated Development Environment ( IDE ) , som Altera Quartus II
Visa fler instruktioner
1
Öppna Verilog IDE och skapa ett nytt projekt genom klicka på " File" och sedan välja " New Project Wizard . " Ett projekt skapas visas . Välj ett namn och katalog för det här projektet . Till exempel , kan du namnge projektet " försening " och placera den i katalogen " C: . \\ Verilog Projects "
2
Tryck på " Next " för att gå igenom resten av sidorna , lämnar alla inställningar på sina standardinställningar . Tryck på knappen "Slutför" för att skapa projektet .
3
Välj " File" och sedan " Nytt " för att öppna ett fönster filen skapades . Välj " Verilog HDL File " och tryck på " OK " knappen för att lägga till en ny Verilog -fil till projektet . En tom Verilog filen visas i huvudtexten redigeringsfönstret .
4
Definiera en ny " modul " som har samma namn som projektet . Denna modul kommer att inrymma all kod för förseningen puls programmet . När du definierar en modul , kan du också definiera vissa parametrar såsom in-och utgångar . Den fördröjningsmodul behöver två parametrar: en klocksignal och en utgång för den alstrade pulsen. Skriv följande för att definiera modul med dessa parametrar :
modul dröjsmål (klocka , puls ) ;
5
Definiera två signaler : en inklocksignalen och en utmatningspulssignal . Klocksignalen används till att räkna en kort sekvens innan du skickar en pulssignal genom utgången . Detta gör att du kan ta tid på en fördröjning baserad på antalet klockövergångar som uppstår . Skriv följande signal definitioner :
ingångsklocka , utgående puls,
6
Definiera ett register som lagrar det aktuella antalet klockövergångar som har inträffat . Eftersom detta register används för att räkna antalet övergångar , ett bra namn för det " räknas . " Skriv följande för att definiera och initiera detta register :
reg count; ursprungliga börja räkna = 0 ;
7
Skriv följande uttalande att utföra en sekvens av åtgärder med varje tickande klocksignalen :
alltid @ ( posedge klocka )
8
Öka den " räkna " register efter en med varje övergång av klockan :
count < = count + 1 ;
9
test för att se om " count " register motsvarar 10 , eller vissa annat godtyckligt värde . Detta är hur du kan tid din fördröjning puls . Pulsen är endast avges efter ett visst antal klockövergångar . Om klockhastigheten är 10 cykler per sekund , då puls genereras efter en sekunds fördröjning. Du kan testa " count " registrera sig med ett "om " uttalande , t.ex. följande :
om ( räknar == 10 )
10
Placera en enda bit på " puls " utsignal genom att skriva :
puls < = 1'b1 ;
11
avsluta " om " uttalande med följande uttalande :
slut
12
Avsluta modulen med följande uttalande :
endmodule
13
Kompilera och testa din krets . Denna krets alstrar en puls som varar för en enda klockövergång . Pulsen genereras endast efter en förutbestämd fördröjning , i detta fall 10 klockövergångar . Du kan ändra detta värde då pulsen generation att matcha dina kriterier .