Menu
Coddy logo textTech

Contatori Saturanti

Fa parte della sezione Progettazione e verifica RTL del percorso Verilog di Coddy. Lezione 17 di 38.

I fondamenti usavano un contatore con riavvolgimento. Un contatore saturante invece si arresta a un limite, il che è utile per i conteggi limitati. Aggiungi una condizione esplicita all’aggiornamento aritmetico e mantieni il comportamento di abilitazione e ripristino indipendente dal limite.

Estratto pertinente; le dichiarazioni e i collegamenti circostanti sono forniti nella sfida.

always @(posedge clk) begin
    if(rst) count <= 0;
    else if(en && count != 15) count <= count + 1;
end

Il valore massimo viene mantenuto anziché tornare a zero.

Gestisci esplicitamente gli aggiornamenti dei limiti quando un contatore deve raggiungere un valore massimo anziché ripartire da zero.

challenge icon

Sfida

Medio

Crea un contatore saturante a 4 bit q. Il rst sincrono lo azzera. I fronti abilitati lo incrementano fino a 15, quindi rimane a 15; anche i fronti disabilitati mantengono il valore. Il reset ha la priorità. Colonne di output: q. Tutti i segnali di controllo e i dati sono stabili prima di ogni fronte di salita del clock; i risultati vengono osservati successivamente.

Completa design.v e conserva i nomi e le porte del modulo. Il testbench.v bloccato fornisce le variazioni degli ingressi e stampa le uscite dopo che si sono stabilizzate. Sceglie uno scenario usando un argomento del simulatore, ad esempio +CASE=1; non è richiesto alcun input standard. Non aggiungere stampe, ritardi o terminazioni della simulazione al design. L'output atteso è una riga di valori decimali per ogni osservazione, separati da uno spazio e terminati da un carattere di nuova riga.

Provalo tu

module dut (input clk, input rst, input en, output reg [3:0] q);
    // Sostituisci questo segnaposto con il tuo progetto.
    initial q = 0;
endmodule
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Progettazione e verifica RTL

Esercitati da solo: Compilatore Verilog online