Recap - Full Testbench
Fait partie de la section Fondamentaux du Journey Verilog de Coddy. Leçon 78 sur 90.
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 :
- Déclare les signaux (
regpour les entrées,wirepour la sortie) - Instancie la porte XOR avec le nom
dut - Crée un fichier de forme d’onde nommé
xor_waveform.vcd - Sauvegarde tous les signaux du banc de test
- Affiche un en-tête : "Testing XOR Gate"
- Utilise
$monitorpour suivre le temps, x, y et z - Teste les quatre combinaisons d’entrées (00, 01, 10, 11) avec un délai
#10entre chacune - Affiche "Test complete" à la fin
- 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
endmoduleToutes les leçons de Fondamentaux
1Introduction
Qu’est-ce que VerilogMatériel vs logicielVotre premier moduleCommentairesNiveaux d’abstraction de conception4Operators Part 1
Arithmetic OperatorsModulo OperatorComparison OperatorsRecap - Simple MathBitwise Operators7Assign And Gates
Continuous AssignmentAssign With OperatorsBuilt In Gate PrimitivesAND OR NOT GatesXOR XNOR GatesRecap - Logic Gate Circuit10Decision Making
If StatementIf - ElseRecap - Simple ComparatorCase StatementCasex And CasezRecap - ALU Design5Operators Part 2
Logical OperatorsReduction OperatorsShift OperatorsConcatenation OperatorConditional OperatorRecap - Operator Challenge14Testbench Basics
What Is A TestbenchCreating StimulusDisplay And MonitorDumpfile And DumpvarsUsing System TasksRecap - Full Testbench3Number System
Binary RepresentationSized NumbersUnsized NumbersNegative NumbersSpecial Values X And ZRecap - Number Formats6Modules
Module StructureInput And Output PortsInout PortsModule InstantiationPort Mapping By NamePort Mapping By OrderRecap - Build A Module9Procedural Blocks
Always BlockInitial BlockSensitivity ListBlocking AssignmentNon Blocking AssignmentRecap - Always vs Initial15Traffic Light Controller
Defining The StatesState Machine LogicEntraînez-vous par vous-même : Compilateur Verilog en ligne