Menu
Coddy logo textTech

첫 번째 모듈 만들기

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

모듈은 Verilog의 기본 구성 요소입니다. 모든 Verilog 코드는 module 내부에 위치합니다.

모듈을 다음과 같은 요소들을 가진 부품(component)으로 생각해 보세요:

  • `inputs` (들어오는 신호들)
  • `outputs` (나가는 신호들)
  • `Behavior` (작동방식)

Module Syntax

module module_name ( inputs, outputs );

  // 여기 안의 모든 것

endmodule

모든 modulemodule로 시작하여 endmodule로 끝납니다.

입력과 출력

module and_gate(
  input a,     // a는 모듈로 들어온다
  input b,     // b는 모듈로 들어온다
  output c     // c는 모듈 밖으로 나간다
);

  // 동작은 여기에

endmodule
  • input = 신호가 모듈로 들어옴
  • output = 신호가 모듈에서 나감

Behavior 추가하기

이제 module이 동작하도록 만들어 봅시다:

module and_gate(
  input a,
  input b,
  output c
);

  assign c = a & b;  // c는 a AND b가 1일 때만 1입니다

endmodule
  • assign은 오른쪽을 왼쪽으로 연속적으로 연결합니다.
  • &는 Verilog에서 AND를 의미합니다.
challenge icon

챌린지

이 챌린지에서는 OR 연산을 수행하는 간단한 모듈을 작성해야 합니다.

해야 할 일:

  1. 모듈의 이름은 or_gate여야 합니다.
  2. x라는 이름의 input이 있어야 합니다.
  3. y라는 이름의 input이 있어야 합니다.
  4. z라는 이름의 output이 있어야 합니다.
  5. module inside에서 assign을 사용하여 zx OR y와 같아지도록 하세요.

module headerits 3개 portsalready 에디터에 written되어 있습니다. 추가해야 할 줄은 module insideassign 문입니다.

참고: Verilog에서 OR는 파이프 기호 |로 씁니다. inputs적어도 하나가 1 (true)일 때 1 (true)을 출력합니다.

직접 해보기

// 모듈 헤더와 포트는 이미 작성되어 있습니다
module or_gate(
  input x,
  input y,
  output z
);

  // 이제 당신 차례: assign을 사용해 z를 x OR y로 설정하세요
  // Verilog에서 OR는 |로 작성합니다

endmodule
quiz icon실력 점검

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

기초의 모든 레슨