Menu
Coddy logo textTech

Scrivere il testbench

Fa parte della sezione Fondamenti del percorso Verilog di Coddy. Lezione 45 di 90.

challenge icon

Sfida

Ora dobbiamo verificare che il semisommatore funzioni correttamente. Aggiungi il codice di test all'interno del blocco initial.

Importante: prima di aggiungere il test, devi modificare le porte del modulo affinché il test possa funzionare correttamente.

Cosa fare:

Passaggio 1: modifica le dichiarazioni delle porte

  • Modifica input a, b in reg a, b (usa il punto e virgola)
  • Modifica output sum, carry in wire sum, carry (usa il punto e virgola)
  • Rimuovi completamente le porte del modulo (il modulo non deve avere ( ))

Passaggio 2: aggiungi il codice di test

  1. Aggiungi un blocco initial begin
  2. All'interno del blocco, aggiungi:
$display("a b | sum carry"); 
a = 0; b = 0; #1 $display("%d %d |  %d    %d", a, b, sum, carry); 
a = 0; b = 1; #1 $display("%d %d |  %d    %d", a, b, sum, carry); 
a = 1; b = 0; #1 $display("%d %d |  %d    %d", a, b, sum, carry); 
a = 1; b = 1; #1 $display("%d %d |  %d    %d", a, b, sum, carry);
    
  1. Aggiungi $finish; per terminare il test
  2. Aggiungi end per chiudere il blocco initial

Provalo tu

module half_adder (
  input a,
  input b,
  
  output sum,
  output carry
);
  assign sum = a ^ b;
  assign carry = a & b;
  
endmodule

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Verilog online