Reset ve Enable Önceliği
Coddy'nin Verilog Journey'sinin RTL Tasarımı ve Doğrulama bölümünün bir parçası. Ders 16 / 38.
Saat kontrollü bir blok, devre dışı kenarlarda atama yapmayarak bir yazmacı tutabilir. Bu kasıtlı depolama, kazara oluşan kombinasyonel bir latch'ten farklıdır. Sıfırlama, yükleme ve etkinleştirme arasında açık bir öncelik sırası yazın. Buradaki sıfırlamalar eşzamanlıdır: yalnızca yükselen saat kenarında etkili olurlar.
İlgili alıntı; çevredeki bildirimler ve bağlantılar görevde sağlanmıştır.
always @(posedge clk) begin
if(rst) q <= 0;
else if(en) q <= data;
endHer iki kontrol de etkin olduğunda reset önceliklidir ve devre dışı bırakılmış reset dışı kenarlar q değerini korur.
Tek bir saat darbeli öncelik zinciri kullanın ve sıfırlama, yükleme, etkinleştirme ve koruma davranışını kesin olarak tanımlayın.
Görev
OrtaAktif yüksek eşzamanlı sıfırlama rst ve etkinleştirme en özelliklerine sahip 8 bitlik bir q yazmacı uygulayın. Yükselen kenarda sıfırlama önceliklidir ve q'yu temizler; aksi takdirde etkin kenarlar a'yı yükler; devre dışı kenarlar q'yu korur. Çıktı sütunları: q. Tüm denetimler ve veriler, her yükselen saat kenarından önce sabittir; sonuçlar sonrasında gözlemlenir.
design.v dosyasını tamamlayın ve modül adlarıyla portlarını koruyun. Kilitli testbench.v giriş değişikliklerini sağlar ve dengelendikten 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ş 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 arasında bir boşluk ve sonunda bir satır sonu olacak şekildedir.
Kendin dene
module dut (input clk, input rst, input en, input [7:0] a, output reg [7:0] q);
// Bu yer tutucuyu kendi tasarımınızla değiştirin.
initial q = 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önlendirici4Kontrollü Ardışıl RTL
Reset ve Enable ÖnceliğiDoyumlu SayaçlarVeri ve Valid Boru HattıÖrneklenmiş Kenarları AlgılamaÖzet - Olay Sayacı2Bit 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