Riepilogo - Banco a doppia lettura
Fa parte della sezione Progettazione e verifica RTL del percorso Verilog di Coddy. Lezione 25 di 38.
Sfida
MedioImplementa quattro parole da 8 bit con una scrittura sincronizzata sul clock e due uscite di lettura registrate con i dati precedenti, qa e qb. we scrive all’indirizzo waddr. rst sincrono azzera solo qa e qb. Altrimenti re abilita entrambe le letture da raddr_a e raddr_b; le letture disabilitate mantengono il valore. Le scritture sullo stesso fronte di clock non modificano i valori precedenti acquisiti da queste letture. I test inizializzano le parole prima di leggerle. Colonne di output: qa, qb. Tutti i segnali di controllo e i dati sono stabili prima di ogni fronte di salita del clock; i risultati vengono osservati in seguito.
Completa design.v e mantieni invariati 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 alcun input standard. Non aggiungere stampe, ritardi o terminazioni della simulazione al design. L’output previsto consiste in 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 we, input re, input [1:0] waddr, input [1:0] raddr_a, input [1:0] raddr_b, input [7:0] data, output reg [7:0] qa, output reg [7:0] qb);
// Sostituisci questo segnaposto con il tuo progetto.
initial qa = 0;
initial qb = 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 segno5Memoria e tabelle di consultazione
Tabelle ROM combinatorieMemorizzazione con array di registriPorte di lettura registrateInoltro in lettura-scritturaRiepilogo - Banco a doppia letturaEsercitati da solo: Compilatore Verilog online