Rekap: Testbench Lengkap
Termasuk bagian Dasar-Dasar dalam perjalanan Verilog di Coddy. Pelajaran 78 dari 90.
Tantangan
Tantangan ini menguji semua yang telah kamu pelajari tentang testbench: stimulus, display, monitor, dumpfile, dumpvars, dan system task. Kamu diberi module gerbang XOR untuk diuji.
Yang harus dilakukan:
Buat testbench lengkap yang:
- Mendeklarasikan sinyal (
reguntuk input,wireuntuk output) - Membuat instance gerbang XOR dengan nama
dut - Membuat file waveform bernama
xor_waveform.vcd - Membuang semua sinyal dalam testbench
- Mencetak header: "Testing XOR Gate"
- Menggunakan
$monitoruntuk melacak waktu, x, y, dan z - Menguji keempat kombinasi input (00, 01, 10, 11) dengan jeda
#10di antara setiap kombinasi - Mencetak "Test complete" di akhir
- Mengakhiri simulasi dengan
$finish
Coba sendiri
module xor_gate (
input x,
input y,
output z
);
assign z = x ^ y;
endmodule
module testbench;
// TODO: Deklarasikan reg untuk x dan y
// TODO: Deklarasikan wire untuk z
// TODO: Buat instans xor_gate dengan nama dut
// Hubungkan .x(x), .y(y), .z(z)
initial begin
// TODO: Tambahkan $dumpfile "xor_waveform.vcd"
// TODO: Tambahkan $dumpvars (0, testbench)
// TODO: Tambahkan $display "Testing XOR Gate"
// TODO: Tambahkan $monitor untuk time, x, y, z
// Format: "Time %0t: x=%b, y=%b, z=%b"
// TODO: Tambahkan stimulus untuk keempat kombinasi
// 00, 01, 10, 11 dengan jeda #10
// TODO: Tambahkan $display "Test complete"
// TODO: Tambahkan $finish
end
endmoduleSemua pelajaran di Dasar-Dasar
1Pengantar
Apa Itu VerilogPerangkat Keras vs Perangkat LunakModul PertamamuKomentarTingkat Abstraksi Desain4Operator Bagian 1
Operator AritmetikaOperator ModuloOperator PerbandinganUlasan, Matematika SederhanaOperator Bitwise7Penugasan dan Gerbang
Penugasan KontinuPenugasan dengan OperatorPrimitif Gerbang BawaanGerbang AND, OR, NOTGerbang XOR, XNORUlasan: Rangkaian Gerbang Logika10Pengambilan Keputusan
Pernyataan IfIf - ElseRangkuman: Komparator SederhanaPernyataan CaseCasex dan CasezRangkuman: Desain ALU5Operator Bagian 2
Operator LogikaOperator ReduksiOperator GeserOperator PenggabunganOperator KondisionalRangkuman, Tantangan Operator14Dasar-Dasar Testbench
Apa Itu TestbenchMembuat StimulusDisplay dan MonitorDumpfile dan DumpvarsMenggunakan System TasksRekap: Testbench Lengkap3Sistem Bilangan
Representasi BinerBilangan BerukuranBilangan Tanpa UkuranBilangan NegatifNilai Khusus X dan ZRingkasan: Format Bilangan6Modul
Struktur ModulPort Input dan OutputPort InoutInstansiasi ModulPemetaan Port Berdasarkan NamaPemetaan Port Berdasarkan UrutanRangkuman: Bangun Modul9Blok Prosedural
Blok alwaysBlok initialDaftar SensitivitasPenugasan BlockingPenugasan Non-BlockingRangkuman: always vs initial15Pengendali Lampu Lalu Lintas
Menentukan StatusLogika Mesin StatusLatihan sendiri: Compiler Verilog online