Menu
CoddyTech

Rekap: Testbench Lengkap

Termasuk bagian Dasar-Dasar dalam perjalanan Verilog di Coddy. Pelajaran 78 dari 90.

challenge icon

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:

  1. Mendeklarasikan sinyal (reg untuk input, wire untuk output)
  2. Membuat instance gerbang XOR dengan nama dut
  3. Membuat file waveform bernama xor_waveform.vcd
  4. Membuang semua sinyal dalam testbench
  5. Mencetak header: "Testing XOR Gate"
  6. Menggunakan $monitor untuk melacak waktu, x, y, dan z
  7. Menguji keempat kombinasi input (00, 01, 10, 11) dengan jeda #10 di antara setiap kombinasi
  8. Mencetak "Test complete" di akhir
  9. 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
endmodule

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler Verilog online