Menu
Coddy logo textTech

Özet - Tam Testbench

Coddy'nin Verilog Journey'sinin Temeller bölümünün bir parçası — ders 78 / 90.

challenge icon

Görev

Bu görev; uyarma (stimulus), display, monitor, dumpfile, dumpvars ve sistem görevleri de dahil olmak üzere testbench'ler hakkında öğrendiğiniz her şeyi test eder. Test etmeniz için bir XOR kapısı modülü verilmiştir.
Yapılacaklar:

Aşağıdaki adımları içeren eksiksiz bir testbench oluşturun:

  1. Sinyalleri tanımlar (girdiler için reg, çıktı için wire)
  2. XOR kapısını dut ismiyle örneSupport eder (instantiate eder)
  3. xor_waveform.vcd adında bir dalga formu dosyası oluşturur
  4. Testbench'teki tüm sinyalleri kaydeder (dump eder)
  5. Bir başlık yazdırır: "Testing XOR Gate"
  6. Zamanı, x, y ve z sinyallerini izlemek için $monitor kullanır
  7. Her biri arasında #10 gecikme ile dört girdi kombinasyonunun tümünü (00, 01, 10, 11) test eder
  8. Sonunda "Test complete" yazdırır
  9. Simülasyonu $finish ile sonlandırı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: dört kombinasyonun tümü için stimulus ekle
    // 00, 01, 10, 11 #10 gecikme ile
    
    // TODO: $display "Test complete" ekle
    
    // TODO: $finish ekle
    
  end
endmodule

Temeller bölümündeki tüm dersler