Menu
Coddy logo textTech

Varsayılanlar Latch'leri Önler

Coddy'nin Verilog Journey'sinin RTL Tasarımı ve Doğrulama bölümünün bir parçası. Ders 1 / 38.

Kombinasyonel bir çıkış, her giriş yolu için atanmalıdır. Bir always bloğu bir çıkış atamasını atlarsa, bu çıkış eski değerini korur ve bu da bir latch çıkarımına yol açabilir. Geçersiz kılmaların ardından gelen bir default ataması, kapsamanın görünür olmasını sağlar.

İlgili alıntı; çevredeki bildirimler ve bağlantılar meydan okumada sağlanmıştır.

always @* begin
    y = 0;
    if (en) y = data;
end

default, devre dışı yolu kapsar; bu nedenle çıktı yalnızca mevcut girdilere bağlıdır.

Her yolda her kombinasyonel çıkışı atayın; koşullu geçersiz kılmalardan önce varsayılanları kullanın.

challenge icon

Görev

Orta

Kapılı bir 8 bitlik çıkış uygulayın: en bir olduğunda y, a'ya eşit olur; aksi takdirde y sıfırdır. Her kombinasyonel yolda y'ye atama yapın. Çıkış sütunları: y. Tüm uyarım değerleri bilinen ikili değerlerdir.

design.v dosyasını tamamlayın ve modül adlarıyla portlarını koruyun. Kilitli testbench.v, giriş değişikliklerini sağlar ve kararlı hâle geldikten sonra çıkış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 satır sonunda bir yeni satır olacak şekildedir.

Kendin dene

module dut (input en, input [7:0] a, output reg [7:0] y);
    // Bu yer tutucuyu kendi tasarımınızla değiştirin.
    initial y = 0;
endmodule
quiz iconKendini test et

Bu 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

Kendi başına pratik yap: Online Verilog derleyicisi