Menu
Coddy logo textTech

참조 모델과 점수

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

자체 검증 테스트벤치는 설계 출력과 독립적으로 예상 동작을 계산합니다. 구현이 다른 구조를 사용하더라도 참조 모델은 간단한 산술 연산을 사용할 수 있습니다. 스코어보드는 관찰 결과와 불일치 횟수를 셉니다. 시나리오마다 카운터를 한 번 초기화하고 설계 출력이 안정된 후에만 비교하세요.

관련 발췌문입니다. 주변 선언과 연결은 과제에서 제공됩니다.

expected = {1'b0,a} + {1'b0,b};
checked = checked + 1;
if(actual !== expected) errors = errors + 1;

예상 값은 actual을 복사한 것이 아니라 지정된 입력 동작에서 나옵니다.

기댓값을 독립적으로 계산하고, 정해진 시간에 샘플링하며, 확인한 모든 결과를 추적하세요.

challenge icon

챌린지

중급

부호 없는 4비트 가산기에 대한 참조 검사를 구현하세요. 전체 5비트 수학적 a+b를 계산한 다음, 4상태 비교에서 actual이 해당 결과와 정확히 일치하는 경우에만 ok=1을 반환하세요. 이 모듈에는 잠긴 테스트벤치에서 호출하는 시뮬레이션 전용 task가 포함됩니다. 출력 열: ok.

design.v를 완성하고 모듈 이름과 포트를 그대로 유지하세요. 잠긴 testbench.v는 입력 변경을 제공하고 값이 안정된 후 출력을 출력합니다. +CASE=1과 같은 시뮬레이터 인수를 사용하여 시나리오를 선택하며, 표준 입력은 필요하지 않습니다. 출력 및 시나리오 제어는 잠긴 테스트벤치에 그대로 두고, task 본문만 구현하세요. 예상 출력은 관찰 결과마다 10진수 값이 한 행에 하나씩 표시되며, 값 사이에는 공백 하나가 있고 마지막에는 줄바꿈이 있어야 합니다.

직접 해보기

module dut;
    task check_sum;
        input [3:0] a,b;
        input [4:0] actual;
        output ok;
        reg [4:0] expected;
        begin
            // 체커 태스크를 완성하세요.
            ok=0;
        end
    endtask
endmodule
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

RTL 설계 및 검증의 모든 레슨

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