Menu
Coddy logo textTech

Dört Durumlu Denetimler

Coddy'nin Verilog Journey'sinin RTL Tasarımı ve Doğrulama bölümünün bir parçası. Ders 26 / 38.

Bir testbench, bilinmeyenleri bilinçli bir şekilde ele almalıdır. Sıradan eşitlik X döndürebilir; bu da bir if koşulundaki hatayı gizleyebilir. Case eşitliği ve eşitsizliği olan === ve !==, dört değerin tümünü olduğu gibi karşılaştırır ve bilinen bir Boolean döndürür. Reduction XOR’un ardından case ile X karşılaştırması yapmak, bilinmeyen bitleri algılayabilir. Bunları, fiziksel X değerlerini algılayan bir donanım modeli olarak değil, simülasyon kontrolleri olarak kullanın.

İlgili alıntı; çevredeki bildirimler ve bağlantılar meydan okumada sağlanmıştır.

if(actual !== expected) errors = errors + 1;

X veya Z içeren bir fark, bilinmeyen bir koşulun içinde kaybolmak yerine sayılır.

Simülasyon denetleyicilerinde açıkça dört durumlu karşılaştırmalar kullanın ve bilinmeyenlerin nasıl ele alınacağını tanımlayın.

challenge icon

Görev

Orta

Bu yalnızca simülasyon amaçlı bir denetleyicidir; sentezlenebilir veri yolu mantığı değildir. Dört durumlu karşılaştırmada actual ve expected farklı olduğunda mismatch değerini ayarlayın. Aynı konumlarda her ikisi de aynı X veya Z değerine sahipse eşit karşılaştırılırlar. Sonuç always bilinen bir 0 veya 1 olmalıdır. Çıktı sütunları: mismatch. Tüm uyarım değerleri bilinen ikili değerlerdir.

design.v dosyasını tamamlayın ve modül adlarıyla portlarını koruyun. Kilitli testbench.v giriş değişikliklerini sağlar ve kararlı hâle geldikten sonra çıktıları yazdırır. +CASE=1 gibi bir simülatör bağımsız değişkeni kullanarak bir senaryo seçer; standart girdi gerekli değildir. Tasarıma yazdırma, gecikme veya simülasyon sonlandırma eklemeyin. Beklenen çıktı, her gözlem için bir satır ondalık değer olmalı; değerler tek bir boşlukla ayrılmalı ve satır yeni satır karakteriyle bitmelidir.

Kendin dene

module dut (input [3:0] actual, input [3:0] expected, output mismatch);
    // Bu yer tutucuyu kendi tasarımınızla değiştirin.
    assign mismatch = 0;
endmodule
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

RTL Tasarımı ve Doğrulama bölümündeki tüm dersler

Kendi başına pratik yap: Online Verilog derleyicisi