Contatore a 4 bit
Fa parte della sezione Fondamenti del percorso Verilog di Coddy. Lezione 84 di 90.
Sfida
Realizza un contatore a 4 bit che conta da 0 a 15 e poi riparte da 0.
Interfaccia del modulo
| Porta | Direzione | Larghezza | Descrizione |
|---|---|---|---|
clk | ingresso | 1 bit | Segnale di clock |
reset | ingresso | 1 bit | Reimposta il contatore a 0 |
count | uscita | 4 bit | Valore attuale del contatore |
Tabella di verità
| Ciclo di clock | count |
|---|---|
| Dopo il reset | 0 |
| 1 | 1 |
| 2 | 2 |
| ... | ... |
| 15 | 15 |
| 16 | 0 (riparte da capo) |
Il tuo compito è completare il modulo qui sotto.
Cosa fare:
- Con
reset, impostacounta 0 - A ogni fronte di salita del clock, incrementa
countdi 1 - Quando
countraggiunge 15, l'incremento successivo deve ripartire da 0
Provalo tu
module counter (
input clk,
input reset,
output reg [3:0] count
);
// TODO: aggiungi un blocco always con posedge clk e posedge reset
// Al reset: count <= 0
// Altrimenti: count <= count + 1
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