Riepilogo - Costruire un modulo
Fa parte della sezione Fondamenti del percorso Verilog di Coddy. Lezione 36 di 90.
Sfida
Questa sfida combina tutto ciò che hai imparato in questo capitolo. Creerai un modulo da zero e lo istanzierai.
Cosa fare:
Parte 1: Crea un modulo chiamato <strong>flipflop</strong> con:
- Ingresso a 1 bit chiamato
clk - Ingresso a 1 bit chiamato
d - Ingresso a 1 bit chiamato
reset - Uscita a 1 bit chiamata
q(usa reg, assegnato nel blocco always)
Il modulo dovrebbe funzionare come segue:
- Quando
resetè 1,qdiventa 0 - Altrimenti, a ogni fronte di clock,
qdiventad
Parte 2: Istanzia il modulo <strong>flipflop</strong> nel modulo <strong>top</strong> usando il collegamento delle porte per nome
Collega le porte ai seguenti segnali:
- Porta
clk→ segnaleclock - Porta
d→ segnaledata - Porta
reset→ segnalereset_signal - Porta
q→ segnaleout
Provalo tu
// Parte 1: crea il modulo flipflop
// TODO: aggiungi le porte
// TODO: aggiungi un blocco always con posedge clk e posedge reset
// Se reset è 1, q <= 0
// Altrimenti q <= d
// Parte 2: modulo top con istanziazione
module top (
input clock,
input data,
input reset_signal,
output out
);
// TODO: istanzia flipflop con il nome di istanza ff1
// Usa la mappatura delle porte per nome: .clk(clock), .d(data), .reset(reset_signal), .q(out)
endmoduleTutte 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