Menu
Coddy logo textTech

현재 창 지우기

Coddy Verilog 여정의 RTL 설계 및 검증 섹션에 포함된 레슨. 38개 중 33번째.

challenge icon

챌린지

어려움

다섯 단계에 걸쳐 하나의 Sample Monitor를 구현하세요. rst 이후이면서 en 이전에 우선순위를 갖는 동기식 clear를 추가하세요. clear는 해당 에지에서 en=1인 경우에도 데이터를 수락하지 않고 total을 초기화합니다. reset 및 enable 동작은 그대로 유지하세요. 테스트벤치와 이전 출력 동작을 포함하여 앞선 단계의 모든 내용을 유지하세요. 모든 입력 값은 알려져 있습니다. 시나리오는 최대 40개의 에지를 포함하므로 total은 16비트에 들어갑니다. 고정된 테스트벤치는 시나리오 1~9에서는 total을, 시나리오 10~12에서는 total과 count를, 시나리오 13~15에서는 total, count 및 alarm을 출력합니다. 이 단계에서 활성화된 시나리오만 채점됩니다.

design.v를 완성하고 모듈 이름과 포트를 그대로 유지하세요. 잠긴 testbench.v는 입력 변경을 제공하고 안정화된 후 출력을 출력합니다. +CASE=1과 같은 시뮬레이터 인수를 사용하여 시나리오를 선택하며, 표준 입력은 필요하지 않습니다. 설계에 출력, 지연 또는 시뮬레이션 종료를 추가하지 마세요. 예상 출력은 관찰 결과마다 10진수 값이 한 줄에 하나씩 표시되며, 값은 하나의 공백으로 구분되고 줄바꿈으로 끝납니다.

직접 해보기

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 설계 및 검증의 모든 레슨

직접 연습해 보세요: 온라인 Verilog 컴파일러