Kombinasyonel Fonksiyonlar
Coddy'nin Verilog Journey'sinin RTL Tasarımı ve Doğrulama bölümünün bir parçası. Ders 11 / 38.
Bir Verilog function modül içinde yeniden kullanılmak üzere sıfır zamanlı bir hesaplamayı paketler. Dönüş genişliğini, giriş bağımsız değişkenlerini ve yerel değişkenleri tanımlayın, ardından sonucu function adına assign edin. Kombinasyonel işlevler gecikme veya olay denetimleri içermez; sabit sınırlara sahip bir döngü, tekrarlanan mantığı tanımlayabilir.
İlgili alıntı; çevreleyen bildirimler ve bağlantılar alıştırmada sağlanmıştır.
function [7:0] gray;
input [7:0] value;
begin gray = value ^ (value >> 1); end
endfunctionfunction çağrısı, simülasyon süresi eklemeden bir ifade hesaplar.
Her yolda function sonucunu ata ve kombinasyonel fonksiyonları zamanlama kontrollerinden arındır.
Görev
OrtaBir işaretsiz 8 bitlik ikili değeri, value XOR (value bir bit sağa kaydırılmış) kullanarak Gray koduna dönüştüren bir Verilog function gray uygulayın. y değerini function öğesini a ile çağırarak sürün. Çıktı sütunları: y. Tüm uyaran 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 giriş 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 tek bir boşlukla ayrılmalı ve satır yeni satır karakteriyle bitmelidir.
Kendin dene
module dut (input [7:0] a, 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 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