Menu
Coddy logo textTech

요약 - 타이밍 제어

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

challenge icon

챌린지

이 챌린지는 지연(delays), 게이트 지연(gate delays), 할당 지연(assignment delays), 타임스케일(timescale) 및 클록 생성(clock generation)에 대한 이해를 테스트합니다.

수행할 작업:

  1. 1ns / 1ps를 사용하여 timescale 지시어를 추가하세요.
  2. 5 시간 단위마다 토글되는 클록을 생성하세요.
  3. 3 시간 단위의 게이트 지연을 가진 AND 게이트를 추가하세요.
  4. 2 시간 단위 후에 ab에 할당하는 할당 지연을 사용하세요 (a를 즉시 읽음).

직접 해보기

// TODO: 타임스케일 지시어 추가 (1ns / 1ps)


module timing_challenge;
  reg clk;
  reg a, b;
  wire out;
  
  initial begin
    clk = 0;
  end
  
  // TODO: 5 시간 단위마다 반전되는 클록 생성
  
  
  // TODO: 3 시간 단위 지연이 있는 AND 게이트 추가 (입력 a, b, 출력 out)
  
  
  initial begin
    $monitor("Time %0t: clk=%b, a=%b, b=%b, out=%b", $time, clk, a, b, out);
    
    a = 1;
    
    // TODO: 할당 지연을 사용하여 2 시간 단위 후에 a를 b에 할당
    // 현재 a를 읽고, 2 시간 단위 후에 b에 할당
    
    
    #20;
    $finish;
  end
endmodule

기초의 모든 레슨