Sfida - Pipeline di parità
Fa parte della sezione Progettazione e verifica RTL del percorso Verilog di Coddy. Lezione 36 di 38.
Sfida
MedioCostruisci una pipeline di parità a due stadi. Prima acquisisci i dati del byte e in_valid. Sul successivo fronte non di reset, l’uscita della parità è lo XOR di riduzione del byte acquisito in precedenza quando il suo valid precedente è alto; altrimenti è zero. out_valid è quel valid ritardato. rst sincrono azzera entrambi gli stadi e le uscite. Colonne di output: parity, out_valid. Tutti i controlli e i dati sono stabili prima di ogni fronte di salita del clock; i risultati vengono osservati dopo.
Completa design.v e conserva i nomi dei moduli e le porte. 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 come +CASE=1; non è richiesto alcuno standard input. Non aggiungere stampe, ritardi o terminazioni della simulazione al design. L’output previsto è una riga di valori decimali per ogni osservazione, separati da uno spazio e terminata da un carattere di nuova riga.
Provalo tu
module dut (input clk, input rst, input in_valid, input [7:0] data, output reg parity, output reg out_valid);
// Sostituisci questo segnaposto con il tuo progetto.
initial parity = 0;
initial out_valid = 0;
endmoduleTutte le lezioni di Progettazione e verifica RTL
1RTL combinatorio affidabile
I valori predefiniti evitano i latchEncoder di prioritàConvalida one-hotDecodifica sicura dei caseRiepilogo - Router delle richieste2Larghezze e aritmetica con segno
Preservare i bit di riportoConfronti con segnoShift aritmetici a destraOverflow e saturazioneRiepilogo - Differenza con segnoEsercitati da solo: Compilatore Verilog online