Menu
Coddy logo textTech

Generate Döngüleri

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

Bir generate-for döngüsü, elaborasyon sırasında tekrarlanan donanım oluşturur. genvar dizini, çalışma zamanında değişen bir yazmaç değildir. Adlandırılmış generate blokları, oluşturulan örnekler veya atamalar için öngörülebilir hiyerarşik adlar sağlar. Döngü sınırları elaborasyon zamanı sabitleri olmalıdır.

İlgili alıntı; çevreleyen bildirimler ve bağlantılar görevde sağlanmıştır.

genvar i;
generate
    for(i=0;i<WIDTH;i=i+1) begin: bitcell
        assign y[i] = a[i] ^ b[i];
    end
endgenerate

Her yineleme, bir saat çevrimi tüketmek yerine ayrı bir bit düzeyi işlemi açımlar.

Elaborasyon sırasında tekrarlanan yapıyı tanımlamak için sabit sınırlarla genvar kullanın.

challenge icon

Görev

Orta

Adlandırılmış bir generate-for döngüsüyle ve genvar i kullanarak her bit için bir sürekli atama oluşturun; böylece y[i] = a[i] XOR b[i] üretilir. WIDTH pozitiftir. Kilitli testbench, daha dar örnekler için a ve b'nin düşük bitlerini kullanarak WIDTH değerleri 1, 4 ve 8 olan örnekler oluşturur. Çıktı sütunları ondalık biçimde y1, y4 ve y8'dir.

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ı hâle geldikten sonra çıktıları 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ülasyon sonlandırma eklemeyin. Beklenen çıktı, her gözlem için bir satır ondalık değer olup değerler tek bir boşlukla ayrılmalı ve satır yeni satır karakteriyle bitmelidir.

Kendin dene

module dut #(parameter WIDTH=4) (input [WIDTH-1:0] a,b, output [WIDTH-1:0] y);
    // Parametreli devreyi uygulayın.
    assign 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