Menu
Coddy logo textTech

Preservare i bit di riporto

Fa parte della sezione Progettazione e verifica RTL del percorso Verilog di Coddy. Lezione 6 di 38.

La larghezza del segnale determina quali bit possono essere rappresentati. Rendi esplicita l’intenzione aritmetica estendendo gli operandi prima di un’operazione. La somma di due valori senza segno a 8 bit può richiedere nove bit per il risultato; assegnando solo otto bit si mantengono gli otto bit meno significativi e si perde il riporto.

Estratto pertinente; le dichiarazioni e i collegamenti circostanti sono forniti nella sfida.

wire [8:0] total;
assign total = {1'b0,a} + {1'b0,b};

Ciascun operando è esplicitamente largo nove bit, corrispondenti alla somma completa.

Scegli la larghezza del risultato richiesta ed estendi gli operandi prima dell’aritmetica.

challenge icon

Sfida

Medio

Somma a e b senza segno a 8 bit senza perdere il riporto. Restituisci la somma completa a 9 bit in total. Estendi esplicitamente entrambi gli operandi a nove bit. Colonne di output: total. Tutti i valori di stimolo sono valori binari noti.

Completa design.v e conserva i nomi e le porte del modulo. Il testbench.v bloccato fornisce le variazioni degli 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 terminazione 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 [7:0] a, input [7:0] b, output [8:0] total);
    // Sostituisci questo segnaposto con il tuo progetto.
    assign total = 0;
endmodule
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Progettazione e verifica RTL

Esercitati da solo: Compilatore Verilog online