Lär dig Verilog: En kort Tutorial serie på Digital elektronik Design med FPGAs och Verilog HDL (3 / 21 steg)
Steg 3: VM 2.0: projektet första Verilog
Även om du är knappt utsatt för Verilog, känner jag lär du dig bäst genom att hoppa rätt in i HDL poolen. Oroa dig inte, vi ska gå igenom all kod tillsammans och jag ska se till att förklara varför och hur saker fungerar. Jag lärde mig den hårda vägen som Verilog bygger på sig mycket snabbt, så det tillkommer dig att få en solid grund av förståelse.
Obs: Trots hur bekvämt det är att kopiera och klistra in koden, jag rekommenderar starkt du repetera allt så att du förstår det bättre. Prova den. det fungerar.
Innan vi börjar, vill jag du ska särskilt uppmärksamma följande drag av min kod:
• Skiftlägeskänslighet: Verilog är skiftlägeskänsliga! Nyckelord måste skrivas med ordentlig hölje (små bokstäver) och alla användare med namnet ingångar, utgångar eller andra delar av koden måste alltid vara som de förklarades först.
• Indrag: även om inte som uppenbart i detta exempel, indrag är en stor sak i Verilog (som med många andra programmeringsspråk). Kompilator och mjukvaran sviten kommer att arbeta med dåligt formaterad kod, är det dålig stil att inte iaktta indrag regler (som kommer att förklaras senare).
Så utan vidare är här, enligt min mening, "Hej, världen" motsvarigheten i Verilog:
----------------------------------------------------
"tidsskala 1ns / ps
Detta är en kommentar i Verilog
() modul hello_world
ingående switch [0],
ingående switch [1],
produktionen ledde
);
tilldela ledde = Byt [0] & ~ Växla [1];
endmodule
------------------------------------------------------
Nu är detta inte det mest effektiva genomförandet av modulen. Låt oss börja titta på koden bit för bit och se om du kan hitta hur du kan förbättra den.