Il tuo primo modulo
Fa parte della sezione Fondamenti del percorso Verilog di Coddy. Lezione 3 di 90.
Un modulo è l'elemento costitutivo di base in Verilog. Ogni parte del codice Verilog si trova all'interno di un modulo.
Considera un modulo come un componente con:
- Ingressi (segnali in entrata)
- Uscite (segnali in uscita)
- Comportamento (ciò che fa)
Sintassi del modulo
module module_name ( inputs, outputs );
// Tutto qui dentro
endmoduleOgni modulo inizia con module e termina con endmodule.
Ingressi e uscite
module and_gate(
input a, // a entra nel modulo
input b, // b entra nel modulo
output c // c esce dal modulo
);
// Il comportamento va qui
endmodule- input = il segnale entra nel modulo
- output = il segnale esce dal modulo
Aggiungere un comportamento
Ora facciamo in modo che il modulo faccia qualcosa:
module and_gate(
input a,
input b,
output c
);
assign c = a & b; // c è 1 solo quando a AND b sono 1
endmoduleassigncollega continuamente il lato destro al lato sinistro&significa AND in Verilog
Sfida
In questa sfida, devi creare un semplice modulo che esegue l'operazione OR.
Cosa fare:
- Il modulo deve chiamarsi
or_gate - Deve avere un input chiamato
x - Deve avere un input chiamato
y - Deve avere un output chiamato
z - All'interno del modulo, usa
assignper fare in modo chezsia uguale ax OR y
L'intestazione del modulo e le sue tre porte sono già presenti nell'editor. La riga che devi aggiungere è l'istruzione assign all'interno del modulo.
Nota: in Verilog, OR si scrive con il simbolo pipe |. Restituisce 1 (vero) se almeno uno degli input è 1 (vero).
Provalo tu
// L'intestazione del modulo e le sue porte sono già state scritte per te
module or_gate(
input x,
input y,
output z
);
// Ora tocca a te: usa assign per impostare z su x OR y
// In Verilog, OR si scrive |
endmodule
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
1Introduzione
Cos'è VerilogHardware e software a confrontoIl tuo primo moduloCommentiLivelli di astrazione della progettazione4Operatori - Parte 1
Operatori aritmeticiOperatore moduloOperatori di confrontoRiepilogo - Matematica sempliceOperatori bitwise7Assegnazioni e porte
Assegnazione continuaAssegnazioni con operatoriPrimitive di porte integratePorte AND, OR e NOTPorte XOR e XNORRiepilogo: circuito con porte logiche10Decisioni
Istruzione ifIf-ElseRiepilogo - Comparatore sempliceIstruzione caseCasex e casezRiepilogo - Progettazione di una ALU5Operatori Parte 2
Operatori logiciOperatori di riduzioneOperatori di scorrimentoOperatore di concatenazioneOperatore condizionaleRiepilogo - Sfida sugli operatori3Sistema numerico
Rappresentazione binariaNumeri con dimensione specificataNumeri senza dimensione specificataNumeri negativiValori speciali X e ZRiepilogo - Formati numerici6Moduli
Struttura di un moduloPorte di input e outputPorte InoutIstanziazione di un moduloMappatura delle porte per nomeMappatura delle porte per ordineRiepilogo - Costruire un modulo9Blocchi procedurali
Blocco alwaysBlocco initialLista di sensibilitàAssegnazione bloccanteAssegnazione non bloccanteRiepilogo: always vs initial12Progetto Multiplexer
Progettazione di un mux da 2 a 1Progettazione di un mux da 4 a 1Esercitati da solo: Compilatore Verilog online