Koşullu Generate
Coddy'nin Verilog Journey'sinin RTL Tasarımı ve Doğrulama bölümünün bir parçası. Ders 14 / 38.
Bir generate-if, sabit bir parameter kullanarak bir donanım yapısı seçer. Belirli bir örnek için yalnızca bir dal somutlaştırılır. Sinyal içeren prosedürel bir if veya koşullu ifade, çalışma zamanında davranışı seçer; generate yapılandırmasının yerini almaz.
İlgili alıntı; çevreleyen bildirimler ve bağlantılar meydan okumada sağlanmıştır.
generate
if(INVERT) begin: inverted
assign y = ~a;
end else begin: direct
assign y = a;
end
endgenerateparameter, bu örnek için hangi sürücünün oluşturulacağını seçer.
Sabit yapılandırma için generate-if, çalışma zamanı denetimleri içinse normal RTL seçimini kullanın.
Görev
OrtaKoşullu generate kullanın: MODE=0, a değerini değişmeden geçirir; MODE=1, a değerinin sekiz bitinin tamamını tersine çevirir. Girdi b kullanılmaz. MODE 0 veya 1 değerlerinden biridir. Testbench her iki yapılandırmayı örnekler ve önce y0, ardından y1 değerini yazdırır.
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şkenini 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ğerden oluşmalı, değerler tek bir boşlukla ayrılmalı ve satır yeni satır karakteriyle bitmelidir.
Kendin dene
module dut #(parameter MODE=0) (input [7:0] a,b, output [7:0] y);
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 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