Eşik Alarmını Tetikle
Coddy'nin Verilog Journey'sinin RTL Tasarımı ve Doğrulama bölümünün bir parçası. Ders 35 / 38.
Görev
ZorBeş adımda bir Sample Monitor oluşturun. total, eşitlik durumu da dahil olmak üzere, işaretsiz limit değerine en az eşit olduğunda bileşimsel alarmı high yapın. alarm, her kenardan sonra güncellenmiş total değerini yansıtır ve limit değişikliklerini takip eder. limit=0 olduğunda, total=0 iken bile alarm high olur. Tüm biriktirme, etkinleştirme, temizleme ve sayma davranışlarını koruyun. Testbench ve önceki çıktı davranışı da dahil olmak üzere önceki adımlardaki her şeyi koruyun. Tüm giriş değerleri bilinir. Senaryolar en fazla 40 kenar içerir; bu nedenle total 16 bit içine sığar. Sabit testbench, 1-9 arası senaryolar için total değerini, 10-12 arası senaryolar için total ve count değerlerini, 13-15 arası senaryolar için ise total, count ve alarm değerlerini yazdırır. Yalnızca bu adım için etkinleştirilen senaryolar değerlendirilir.
design.v dosyasını tamamlayın ve modül adlarını ve portlarını koruyun. Kilitli testbench.v, giriş değişikliklerini sağlar ve kararlı duruma 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 giriş 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, değerler arasında bir boşluk ve satır sonunda bir yeni satır olacak şekildedir.
Kendin dene
module dut(input clk,rst,en,clear, input [7:0] data, input [15:0] limit, output reg [15:0] total, output reg [3:0] count, output alarm);
always @(posedge clk)begin
if(rst || clear)begin total<=0;count<=0;end
else if(en)begin
total<=total+data;
if(count!=15)count<=count+4'd1;
end
end
assign alarm=0;
endmoduleRTL 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önlendirici4Kontrollü Ardışıl RTL
Reset ve Enable ÖnceliğiDoyumlu SayaçlarVeri ve Valid Boru HattıÖrneklenmiş Kenarları AlgılamaÖzet - Olay Sayacı7Proje - Örnek Monitörü
Örnekleri BiriktirEtkin Örnekleri Kabul Et2Bit 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