Menu
Coddy logo textTech

Tekrar - Tam Testbench

Coddy'nin Verilog Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 78 / 90.

challenge icon

Görev

Bu meydan okuma, testbench'ler hakkında öğrendiğiniz her şeyi test eder: uyartı, görüntüleme, izleme, dumpfile, dumpvars ve sistem görevleri. Test etmeniz için bir XOR geçidi modülü verilmiştir.
Yapılacaklar:

Aşağıdakileri içeren eksiksiz bir testbench oluşturun:

  1. Sinyalleri tanımlayın (girişler için reg, çıkış için wire)
  2. XOR geçidini dut adıyla örnekleyin
  3. xor_waveform.vcd adlı bir dalga biçimi dosyası oluşturun
  4. Testbench'teki tüm sinyalleri dökün
  5. "Testing XOR Gate" başlığını yazdırın
  6. Zamanı, x'i, y'yi ve z'yi izlemek için $monitor kullanın
  7. Dört giriş kombinasyonunun tamamını (00, 01, 10, 11) her biri arasında #10 gecikmeyle test edin
  8. Sonunda "Test complete" yazdırın
  9. Benzetimi $finish ile sonlandırın

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
endmodule

Temel Bilgiler bölümündeki tüm dersler

Kendi başına pratik yap: Online Verilog derleyicisi