Menu
Coddy logo textTech

Récapitulatif - Banc de test complet

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 d’essai : stimulus, affichage, surveillance, dumpfile, dumpvars et tâches système. Un module de porte XOR vous est fourni pour être testé.
À faire :

Créez un banc d’essai 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. Enregistre tous les signaux du banc d’essai
  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 de #10 entre chacune
  8. Affiche "Test complete" à la fin
  9. Termine 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