Lär dig Verilog: En kort Tutorial serie på Digital elektronik Design med FPGAs och Verilog HDL (6 / 21 steg)
Steg 6: Modul deklarationen
ingående switch [0],
ingående switch [1],
produktionen ledde
);
modulen är ett Verilog nyckelord. Tänk på det som en förklaring; i C++ kan vi ha en funktion förklaring av "Ogiltigt hello_world (< parametrar här >)". Lägg märke till likheterna?
Medan Verilog inte returnerar något värde (som en "void" C++ funktion), och är egentligen inte ens en funktion, dess syntax är liknande och vi kan fortfarande tänka på modulen som en förklaring och "hello_world" som namnet (namnen i Verilog får inte innehålla blanksteg). Bra Verilog kod är "modulära", och vi kommer att diskutera vad det innebär att senare (ytterligare tutorials kommer snart att finnas på min personliga hemsida och möjligen Instructables).
Innanför parenteserna med förklaringen är vad vi kan likställa som våra parameterlista. Det vill säga ledde modulen har en ingång kallas switch [0], en annan ingång kallas switch [1] och en output kallas. in - och utdata är i huvudsak variabeltyper. Det finns några quirks modul förklaringar som vi ska titta på i nästa modulen.
Ser du hur vi kan minska vår ingång och utgång deklarationer från tre uttalanden till två?
Tips: Du kan skapa matriser (kallas bussar) i Verilog!
Efter alla ingångar och utgångar deklareras, är parameter stängd med en matchande parentesen och semikolon. Semikolon, ungefär som i C++, markerar "slutet" av ett uttalande. En bekvämlighet för Verilog är att kunna dela upp stora uttalanden som lång logik uttalanden i flera rader för lättare läsning, så länge du inte glömmer semikolon.
Bilden visar typiska färgkodningen av en modul förklaring.