Menu
CoddyTech

Kosongkan Jendela Saat Ini

Termasuk bagian Desain dan Verifikasi RTL dalam perjalanan Verilog di Coddy. Pelajaran 33 dari 38.

challenge icon

Tantangan

Sulit

Buat satu Sample Monitor dalam lima langkah. Tambahkan clear sinkron dengan prioritas setelah rst dan sebelum en. clear mereset total tanpa menerima data pada tepi tersebut, bahkan saat en=1. Pertahankan perilaku reset dan enable. Pertahankan semua yang sudah dibuat pada langkah-langkah sebelumnya, termasuk testbench dan perilaku output sebelumnya. Semua nilai input diketahui. Skenario berisi paling banyak 40 tepi, jadi total muat dalam 16 bit. Testbench tetap mencetak total untuk skenario 1-9, total dan count untuk skenario 10-12, serta total, count, dan alarm untuk skenario 13-15. Hanya skenario yang diaktifkan untuk langkah ini yang dinilai.

Lengkapi design.v dan pertahankan nama module serta port-nya. testbench.v yang terkunci menyediakan perubahan input dan mencetak output setelah nilainya stabil. Testbench memilih skenario menggunakan argumen simulator seperti +CASE=1; tidak diperlukan input standar. Jangan tambahkan pencetakan, jeda, atau penghentian simulasi ke design. Output yang diharapkan berupa satu baris nilai desimal untuk setiap pengamatan, dipisahkan oleh satu spasi dan diakhiri dengan baris baru.

Coba sendiri

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

Semua pelajaran di Desain dan Verifikasi RTL

Latihan sendiri: Compiler Verilog online