One-Hot Doğrulama
Coddy'nin Verilog Journey'sinin RTL Tasarımı ve Doğrulama bölümünün bir parçası. Ders 3 / 38.
One-hot verileri tam olarak bir adet etkin biti içerir. Bir kod çözücü bu tür verileri üretirken doğrulama, gelen verileri kullanmadan önce kontrol eder. Bilinen ikili değerler için sıfır olmayan bir değer, bits & (bits - 1) sonucu sıfır olduğunda one-hot’tur. Bu bölüm, X veya Z değerlerini sınıflandırmak için bu kısa yolu kullanmaz.
İlgili alıntı; çevreleyen tanımlar ve bağlantılar görevde sağlanmıştır.
assign one_hot = (bits != 0) && ((bits & (bits - 1)) == 0);Sıfır olmayan kontrolü boşta olma durumunu hariç tutar; bit hilesi birden fazla ayarlanmış biti reddeder.
İstekleri doğrularken sıfır, tam olarak bir ayarlanmış bit ve birden fazla ayarlanmış bit arasında ayrım yapın.
Görev
OrtaBilinen 4 bitlik giriş bits değeri için valid değerini yalnızca tam olarak bir bit yüksek olduğunda ayarlayın. Sıfır olmayan denetimi bits & (bits - 1) ile birlikte kullanın. Çıkış sütunları: valid. Tüm uyarıcı değerleri bilinen ikili değerlerdir.
design.v dosyasını tamamlayın ve modül adlarıyla portlarını koruyun. Kilitli testbench.v dosyası 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şkenini kullanarak bir senaryo seçer; standart girdi gerekmez. 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; değerler arasında bir boşluk ve satırın sonunda bir yeni satır bulunur.
Kendin dene
module dut (input [3:0] bits, output valid);
// Bu yer tutucuyu kendi tasarımınızla değiştirin.
assign valid = 0;
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