Riepilogo - Differenza con segno
Fa parte della sezione Progettazione e verifica RTL del percorso Verilog di Coddy. Lezione 10 di 38.
Sfida
MedioCalcola signed a meno b con segno su 8 bit, saturando da -128 a 127. Restituisci y saturato e clipped=1 quando la differenza esatta è fuori da quell’intervallo. Colonne di output: y, clipped. Tutti i valori di stimolo sono valori binari noti.
Completa design.v e mantieni i nomi dei moduli e le porte. Il testbench.v bloccato fornisce le variazioni degli ingressi 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 terminazioni della simulazione al design. L’output previsto è 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 signed [7:0] a, input signed [7:0] b, output reg signed [7:0] y, output reg clipped);
// Sostituisci questo segnaposto con il tuo progetto.
initial y = 0;
initial clipped = 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