Sınır ve Kontrol Kapsamı
Coddy'nin Verilog Journey'sinin RTL Tasarımı ve Doğrulama bölümünün bir parçası. Ders 29 / 38.
Birkaç testi geçmek, önemli senaryoları denemekten farklıdır. Minimum, maksimum ve olağan değerlerin test edilip edilmediğini ve birbiriyle yarışan denetimlerin birlikte gerçekleşip gerçekleşmediğini takip edin. Bir kapsam işareti, bir case gözlemlendiğini kaydeder; tasarımın doğru yanıt verdiğini kanıtlamaz. Kapsamı sonuç kontrolleriyle eşleştirin.
İlgili alıntı; çevredeki bildirimler ve bağlantılar meydan okumada sağlanmıştır.
if(value==0) seen[0]=1;
else if(value==15) seen[1]=1;
else seen[2]=1;Bit maskesi, önceki eşleşmeleri değiştirmeden hangi kategorilerin ortaya çıktığını hatırlar.
Sınır ve kontrol birleşimi kapsamını bağımsız doğruluk kontrolleriyle birleştirin.
Görev
OrtaDaha önceki isabetleri temizlemeden seen içinde üç giriş kapsama kutusunu takip edin: bit 0 value=0 değerini, bit 1 value=15 değerini ve bit 2, 1 ile 14 arasındaki değerleri kaydeder. Girişler bilinen bitler içerir. Çağıran, bir senaryodan önce seen=0 değerini ayarlar. Bu modül, kilitli testbench tarafından çağrılan yalnızca simülasyonda kullanılan bir task içerir. Çıktı sütunları: ondalık olarak seen.
design.v dosyasını tamamlayın ve modül adlarıyla portlarını koruyun. Kilitli testbench.v, giriş değişikliklerini sağlar ve çıktıları kararlı hâle geldikten sonra yazdırır. +CASE=1 gibi bir simülatör bağımsız değişkeni kullanarak bir senaryo seçer; standart girdiye gerek yoktur. Yazdırma ve senaryo denetimini kilitli testbench içinde bırakın; yalnızca task gövdesini uygulayın. Beklenen çıktı, her gözlem için bir satır ondalık değerden oluşur; değerler tek bir boşlukla ayrılır ve satır yeni satır karakteriyle sonlanır.
Kendin dene
module dut;
task observe;
input [3:0] value;
inout [2:0] seen;
begin
// Denetleyici görevini tamamla.
seen=seen;
end
endtask
endmoduleBu 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
1Güvenilir Kombinasyonel RTL
Varsayılanlar Latch'leri ÖnlerÖncelikli KodlayıcılarOne-Hot DoğrulamaGüvenli Case Kod ÇözmeÖzet - İstek Yönlendirici2Bit Genişlikleri ve İşaretli Aritmetik
Taşıma Bitlerini Korumakİşaretli KarşılaştırmalarAritmetik Sağa KaydırmalarTaşma ve DoygunlukÖzet - İşaretli Fark3Yeniden Kullanılabilir RTL
Kombinasyonel FonksiyonlarGenişlik Uyumlu ParametrelerGenerate DöngüleriKoşullu GenerateÖzet - Yeniden Kullanılabilir Bit Maskesi6Kendi Kendini Denetleyen Testbench'ler
Dört Durumlu DenetimlerYeniden Kullanılabilir Denetleyici GörevleriReferans Modelleri ve SkorlarSınır ve Kontrol KapsamıÖzet - Toplayıcı DenetimiKendi başına pratik yap: Online Verilog derleyicisi