Recap - Full Testbench
Coddy'nin Verilog Journey'sinin Temeller bölümünün bir parçası. Ders 78 / 90.
Görev
Bu meydan okuma, testbench'ler hakkında öğrendiğin her şeyi sınar: stimulus, display, monitor, dumpfile, dumpvars ve sistem görevleri. Test etmen için bir XOR geçidi modülü veriliyor.
Yapılacaklar:
Aşağıdakileri gerçekleştiren eksiksiz bir testbench oluştur:
- Sinyalleri tanımla (girdiler için
reg, çıktı içinwire) - XOR geçidini
dutadıyla örnekle xor_waveform.vcdadlı bir dalga biçimi dosyası oluştur- testbench içindeki tüm sinyalleri dök
- Bir başlık yazdır: "Testing XOR Gate"
- Zamanı, x, y ve z'yi takip etmek için
$monitorkullan - Her biri arasında
#10gecikme olacak şekilde dört giriş kombinasyonunun tümünü (00, 01, 10, 11) test et - Sonunda "Test complete" yazdır
- Simülasyonu
$finishile sonlandır
Kendin dene
module xor_gate (
input x,
input y,
output z
);
assign z = x ^ y;
endmodule
module testbench;
// TODO: x ve y için reg bildir
// TODO: z için wire bildir
// TODO: xor_gate'i dut adıyla örnekle
// .x(x), .y(y), .z(z) bağla
initial begin
// TODO: $dumpfile "xor_waveform.vcd" ekle
// TODO: $dumpvars (0, testbench) ekle
// TODO: $display "Testing XOR Gate" ekle
// TODO: time, x, y, z için $monitor ekle
// Biçim: "Time %0t: x=%b, y=%b, z=%b"
// TODO: Tüm dört kombinasyon için stimulus ekle
// 00, 01, 10, 11 #10 gecikme ile
// TODO: $display "Test complete" ekle
// TODO: $finish ekle
end
endmoduleTemeller bölümündeki tüm dersler
4Operators 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 LogicKendi başına pratik yap: Online Verilog derleyicisi