Öncelikli Kodlayıcılar
Coddy'nin Verilog Journey'sinin RTL Tasarımı ve Doğrulama bölümünün bir parçası. Ders 2 / 38.
Bir kodlayıcı, bir istek bitini bir dizine eşler. Birden fazla etkin istek, açık bir öncelik kuralı gerektirir. Bir if/else-if zinciri, daha önceki dallara öncelik verir; ayrı bir geçerli sinyal, hiçbir istek olmaması ile sıfırıncı dizini birbirinden ayırır.
İlgili alıntı; çevredeki bildirimler ve bağlantılar challenge'da sağlanmıştır.
if (req[3]) code = 3;
else if (req[2]) code = 2;
else if (req[1]) code = 1;
else code = 0;İlk doğru dal kazanır ve en yüksek istek bitine öncelik verir.
Öncelik sırasını belirtin ve istek yokken verilecek çıktıyı açıkça tanımlayın.
Görev
Orta4 bitlik req'nin etkin olan en yüksek bitini code'a kodlayın. Herhangi bir istek varsa valid'i ayarlayın; req sıfır olduğunda code ve valid sıfır olur. Çıktı sütunları: code, valid. Tüm uyarıcı değerleri bilinen ikili değerlerdir.
design.v dosyasını tamamlayın ve modül adlarını ve portlarını koruyun. Kilitli testbench.v dosyası 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 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 olup değerler tek bir boşlukla ayrılır ve satır yeni satır karakteriyle sona erer.
Kendin dene
module dut (input [3:0] req, output reg [1:0] code, output reg valid);
// Bu yer tutucuyu kendi tasarımınızla değiştirin.
initial code = 0;
initial 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