Menu
Coddy logo textTech

Örnekleri Biriktir

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

İşaretsiz örneklerden oluşan bir akış için yeniden kullanılabilir bir monitör oluştur. Değerleri biriktirecek, etkinleştirme ve temizleme denetimlerine uyacak, kabul edilen örnekleri sayacak ve bir eşiğe ulaşılıp ulaşılmadığını bildireceksin. Beş adımın tümü aynı modül arayüzünü ve değiştirilemez test tezgâhını kullanır. Ayrılmış çıkışlar, sonraki adımlarda davranış kazanır.

challenge icon

Görev

Zor

Beş adımda bir Örnek İzleyici oluşturun. Her yükselen kenarda, senkron rst total değerini temizler; aksi takdirde işaretsiz data değerini total değerine ekleyin. 16 bitlik total yazmacını kullanın. Bu ilk adımda en ve clear kullanılmaz ve senaryolar en=1 ve clear=0 değerlerini korur. count ve alarm, sıfır olarak kalan ayrılmış çıkışlardır. Tüm giriş değerleri bilinmektedir. Senaryolar en fazla 40 kenar içerir; bu nedenle total 16 bite sığar. Sabit testbench, 1-9. senaryolar için total değerini, 10-12. senaryolar için total ve count değerlerini, 13-15. senaryolar için ise total, count ve alarm değerlerini yazdırır. Yalnızca bu adım için etkinleştirilen senaryolar değerlendirilir.

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 clk,rst,en,clear, input [7:0] data, input [15:0] limit, output reg [15:0] total, output reg [3:0] count, output alarm);
    initial begin total=0;count=0;end
    assign alarm=0;
endmodule

RTL Tasarımı ve Doğrulama bölümündeki tüm dersler

Kendi başına pratik yap: Online Verilog derleyicisi