Kombinasyonel ROM Tabloları
Coddy'nin Verilog Journey'sinin RTL Tasarımı ve Doğrulama bölümünün bir parçası. Ders 21 / 38.
Sabit bir arama tablosu, adresten veriye salt okunur bir eşlemeyi tanımlar. İçeriği eksiksiz bir case veya function ifade edebilir. Kombinasyonel bir okumada, adresin değiştirilmesi bir saat sinyali beklemeden çıkışı değiştirir. Sentez aracı bir uygulama seçer; bu kaynak, belirli bir FPGA bellek ilkelini garanti etmez.
İlgili alıntı; çevredeki bildirimler ve bağlantılar görevde sağlanmıştır.
function [7:0] lookup;
input [1:0] addr;
begin
case(addr)
0: lookup=3;
1: lookup=5;
2: lookup=8;
3: lookup=13;
default: lookup=0;
endcase
end
endfunctionHer adres, önceki çıktının tutulmadığı tanımlı bir sabiti seçer.
Her tablo girdisini belirtin ve birleşimsel arama ile kayıtlı okuma gecikmesini birbirinden ayırın.
Görev
OrtaBirleşimsel sekiz girişli bir arama tablosu uygulayın. 0 ile 7 arasındaki adresler sırasıyla 3,5,8,13,21,34,55,89 değerlerini döndürür. y'yi sürmek için eksiksiz, case tabanlı bir function kullanın. Çıktı sütunları: y. 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 çı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ülasyonu 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 sonunda bir yeni satır olacak şekildedir.
Kendin dene
module dut (input [2:0] addr, output [7:0] y);
// Bu yer tutucuyu kendi tasarımınızla değiştirin.
assign y = 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 Fark5Bellek ve Arama Tabloları
Kombinasyonel ROM TablolarıRegister Dizisi DepolamaKayıtlı Okuma PortlarıOkuma-Yazma İletmeÖzet - Çift Okuma Bankası3Yeniden 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