Menu
Coddy logo textTech

Recap - Full Testbench

Fait partie de la section Fondamentaux du Journey Verilog de Coddy. Leçon 78 sur 90.

challenge icon

Défi

Ce défi teste tout ce que vous avez appris sur les bancs de test : stimulus, display, monitor, dumpfile, dumpvars et les tâches système. Un module de porte XOR à tester vous est fourni.
À faire :

Créez un banc de test complet qui :

  1. Déclare les signaux (reg pour les entrées, wire pour la sortie)
  2. Instancie la porte XOR avec le nom dut
  3. Crée un fichier de forme d’onde nommé xor_waveform.vcd
  4. Sauvegarde tous les signaux du banc de test
  5. Affiche un en-tête : "Testing XOR Gate"
  6. Utilise $monitor pour suivre le temps, x, y et z
  7. Teste les quatre combinaisons d’entrées (00, 01, 10, 11) avec un délai #10 entre chacune
  8. Affiche "Test complete" à la fin
  9. Met fin à la simulation avec $finish

Essayez vous-même

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

module testbench;
  // TODO: Déclarer reg pour x et y
  
  // TODO: Déclarer wire pour z
  

  // TODO: Instancier xor_gate avec le nom dut
  // Connecter .x(x), .y(y), .z(z)


  initial begin
    // TODO: Ajouter $dumpfile "xor_waveform.vcd"
    
    // TODO: Ajouter $dumpvars (0, testbench)
    
    // TODO: Ajouter $display "Testing XOR Gate"
    
    // TODO: Ajouter $monitor pour time, x, y, z
    // Format : "Time %0t: x=%b, y=%b, z=%b"
    
    // TODO: Ajouter le stimulus pour les quatre combinaisons
    // 00, 01, 10, 11 avec un délai #10
    
    // TODO: Ajouter $display "Test complete"
    
    // TODO: Ajouter $finish
    
  end
endmodule

Toutes les leçons de Fondamentaux

Entraînez-vous par vous-même : Compilateur Verilog en ligne