Menu
Coddy logo textTech

Riepilogo - testbench completo

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

challenge icon

Sfida

Questa sfida mette alla prova tutto ciò che hai imparato sui banchi di prova: stimoli, display, monitor, dumpfile, dumpvars e attività di sistema. Ti viene fornito un modulo XOR gate da testare.
Cosa fare:

Crea un banco di prova completo che:

  1. Dichiari i segnali (reg per gli ingressi, wire per l'uscita)
  2. Istanzi il gate XOR con il nome dut
  3. Crei un file di forma d'onda chiamato xor_waveform.vcd
  4. Scarichi tutti i segnali nel banco di prova
  5. Stampi un'intestazione: "Testing XOR Gate"
  6. Usi $monitor per tenere traccia del tempo, di x, y e z
  7. Testi tutte e quattro le combinazioni di input (00, 01, 10, 11) con un ritardo #10 tra ciascuna
  8. Stampi "Test complete" alla fine
  9. Termini la simulazione con $finish

Provalo tu

module xor_gate (
  input x,
  input y,
  output z
);
  assign z = x ^ y;
endmodule

module testbench;
  // TODO: Dichiara reg per x e y
  
  // TODO: Dichiara wire per z
  

  // TODO: Istanzia xor_gate con il nome dut
  // Collega .x(x), .y(y), .z(z)


  initial begin
    // TODO: Aggiungi $dumpfile "xor_waveform.vcd"
    
    // TODO: Aggiungi $dumpvars (0, testbench)
    
    // TODO: Aggiungi $display "Testing XOR Gate"
    
    // TODO: Aggiungi $monitor per il tempo, x, y, z
    // Formato: "Time %0t: x=%b, y=%b, z=%b"
    
    // TODO: Aggiungi gli stimoli per tutte e quattro le combinazioni
    // 00, 01, 10, 11 con un ritardo di #10
    
    // TODO: Aggiungi $display "Test complete"
    
    // TODO: Aggiungi $finish
    
  end
endmodule

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Verilog online