Sfida - Eventi di pattern
Fa parte della sezione Progettazione e verifica RTL del percorso Verilog di Coddy. Lezione 37 di 38.
Sfida
MedioRileva il pattern di bit 101 nei campioni di input accettati. en=1 accetta bit_in sul fronte di salita; en=0 conserva lo stato di corrispondenza parziale e produce hit=0. Imposta hit registrato a 1 solo quando un bit accettato completa 101. Sono consentite corrispondenze sovrapposte: 10101 produce due impulsi. rst sincrono azzera lo stato e hit, avendo priorità su en. Colonne di output: hit. 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 conserva i nomi dei moduli e le porte. Il testbench.v bloccato fornisce le variazioni di input e stampa gli output una volta stabilizzati. Sceglie uno scenario usando un argomento del simulatore come +CASE=1; non è richiesto alcun input standard. Non aggiungere stampe, ritardi o terminazione 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 en, input bit_in, output reg hit);
// Sostituisci questo segnaposto con il tuo progetto.
initial hit = 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