Menu
Coddy logo textTech

첫 번째 모듈

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

module은 Verilog에서 기본 구성 요소입니다. Verilog 코드의 모든 부분은 module inside에 있습니다.

모듈을 다음을 갖춘 구성 요소라고 생각해 보세요:

  • inputs(들어오는 신호)
  • outputs(나가는 신호)
  • Behavior(수행하는 동작)

모듈 구문

module module_name ( inputs, outputs );

  // 여기 안에 있는 모든 것

endmodule

모든 모듈은 module로 시작하고 endmodule로 끝납니다.

입력 및 출력

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

  // 동작은 여기에 작성합니다

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

동작 추가

이제 모듈이 어떤 작업을 수행하도록 만들어 보겠습니다:

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 연산을 수행하는 간단한 module을 만들어야 합니다.

할 일:

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

module header와 세 개의 ports는 이미 편집기에 작성되어 있습니다. 추가해야 하는 줄은 module 내부의 assign 문입니다.

참고: 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실력 점검

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

기초의 모든 레슨

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