Menu
Coddy logo textTech

요약 - 전체 테스트벤치 구성

Coddy Verilog 여정의 기초 섹션에 포함된 레슨 — 90개 중 78번째.

challenge icon

챌린지

이 챌린지는 자극(stimulus), display, monitor, dumpfile, dumpvars 및 시스템 태스크 등 테스트벤치에 대해 배운 모든 내용을 테스트합니다. 테스트할 XOR 게이트 모듈이 제공됩니다.
수행할 작업:

다음을 수행하는 완전한 테스트벤치를 작성하세요:

  1. 신호 선언 (입력은 reg, 출력은 wire)
  2. 이름이 dut인 XOR 게이트 인스턴스화
  3. "xor_waveform.vcd"라는 이름의 파형 파일 생성
  4. 테스트벤치의 모든 신호를 덤프
  5. 헤더 출력: "Testing XOR Gate"
  6. $monitor를 사용하여 시간, x, y, z를 추적
  7. 각 조합 사이에 #10 지연을 두어 네 가지 입력 조합(00, 01, 10, 11)을 모두 테스트
  8. 마지막에 "Test complete" 출력
  9. $finish로 시뮬레이션 종료

직접 해보기

module xor_gate (
  input x,
  input y,
  output z
);
  assign z = x ^ y;
endmodule

module testbench;
  // TODO: x와 y를 위한 reg 선언
  
  // TODO: z를 위한 wire 선언
  

  // TODO: dut라는 이름으로 xor_gate 인스턴스화
  // .x(x), .y(y), .z(z) 연결


  initial begin
    // TODO: $dumpfile "xor_waveform.vcd" 추가
    
    // TODO: $dumpvars (0, testbench) 추가
    
    // TODO: $display "Testing XOR Gate" 추가
    
    // TODO: time, x, y, z를 위한 $monitor 추가
    // 형식: "Time %0t: x=%b, y=%b, z=%b"
    
    // TODO: 네 가지 조합 모두에 대한 자극(stimulus) 추가
    // #10 지연과 함께 00, 01, 10, 11
    
    // TODO: $display "Test complete" 추가
    
    // TODO: $finish 추가
    
  end
endmodule

기초의 모든 레슨