Menu
Coddy logo textTech

요약 - 모듈 만들기

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

challenge icon

챌린지

이 챌린지는 이번 장에서 배운 모든 내용을 종합합니다. 처음부터 모듈을 생성하고 이를 인스턴스화합니다.

수행할 작업:

Part 1: 다음과 같은 <strong>flipflop</strong>이라는 이름의 모듈을 만듭니다:

  • clk라는 이름의 1비트 input
  • d라는 이름의 1비트 input
  • reset이라는 이름의 1비트 input
  • q라는 이름의 1비트 output (always block에서 할당되는 reg 사용)

모듈은 다음과 같이 작동해야 합니다:

  • reset이 1일 때, q는 0이 됩니다
  • 그렇지 않으면 각 클록 엣지에서 qd가 됩니다

Part 2: 이름을 통한 port mapping을 사용하여 <strong>top</strong> 모듈 내에서 <strong>flipflop</strong> 모듈을 인스턴스화합니다

각 port를 다음 신호에 연결합니다:

  • Port clk → 신호 clock
  • Port d → 신호 data
  • Port reset → 신호 reset_signal
  • Port q → 신호 out

직접 해보기

// 파트 1: flipflop 모듈 생성

  // TODO: 포트 추가

  // TODO: posedge clk와 posedge reset이 있는 always 블록 추가
  
  // reset이 1이면 q <= 0
  
  // 그렇지 않으면 q <= d


// 파트 2: 인스턴스화가 있는 Top 모듈
module top (
  input clock,
  input data,
  input reset_signal,
  output out
);

  // TODO: 인스턴스 이름 ff1로 flipflop 인스턴스화
  
  // 이름으로 포트 매핑 사용: .clk(clock), .d(data), .reset(reset_signal), .q(out)

endmodule

기초의 모든 레슨