Confronti con segno
Fa parte della sezione Progettazione e verifica RTL del percorso Verilog di Coddy. Lezione 7 di 38.
Lo stesso schema di bit può rappresentare numeri signed e senza segno diversi. Dichiara entrambi gli operandi signed quando confronti valori in complemento a due. Mescolare operandi signed e senza segno può cambiare l'interpretazione del confronto. Le concatenazioni sono espressioni senza segno, anche quando contengono segnali signed.
Estratto pertinente; le dichiarazioni e le connessioni circostanti sono fornite nella sfida.
wire signed [7:0] a,b;
assign less = a < b;Le dichiarazioni signed fanno sì che i valori negativi risultino inferiori ai valori non negativi.
Mantieni coerenti gli operandi del confronto usando signed ed estendi i valori signed con il loro bit di segno.
Sfida
MedioConfronta signed a e b a 8 bit. Genera less quando a è minore di b ed equal quando sono uguali. Entrambi gli ingressi sono valori signed in complemento a due. Colonne di output: less, equal. Tutti i valori di stimolo sono valori binari noti.
Completa design.v e conserva i nomi dei moduli e le porte. Il testbench.v bloccato fornisce le modifiche agli ingressi e stampa gli output dopo che si sono stabilizzati. Sceglie uno scenario usando un argomento del simulatore come +CASE=1; non è necessario 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 una nuova riga.
Provalo tu
module dut (input signed [7:0] a, input signed [7:0] b, output less, output equal);
// Sostituisci questo segnaposto con il tuo progetto.
assign less = 0;
assign equal = 0;
endmoduleQuesta lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte 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