Menu
Coddy logo textTech

Geçerli Pencereyi Temizle

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

challenge icon

Görev

Zor

Beş adımda bir Sample Monitor oluşturun. rst sonrasında ve en öncesinde öncelikli senkron temizleme ekleyin. en=1 olsa bile clear, o kenarda veriyi kabul etmeden total değerini sıfırlar. Sıfırlama ve etkinleştirme davranışını koruyun. Testbench ve önceki çıktı davranışı da dâhil olmak üzere önceki adımlardaki her şeyi koruyun. 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 çı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ğerden oluşur; değerler tek bir boşlukla ayrılır ve satır bir yeni satır karakteriyle biter.

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);
    always @(posedge clk)begin
        if(rst)total<=0;else if(en)total<=total+data;
        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