첫 번째 모듈 만들기
Coddy Verilog 여정의 기초 섹션에 포함된 레슨 — 90개 중 4번째.
모듈은 Verilog의 기본 구성 요소입니다. 모든 Verilog 코드는 module 내부에 위치합니다.
모듈을 다음과 같은 요소들을 가진 부품(component)으로 생각해 보세요:
- `inputs` (들어오는 신호들)
- `outputs` (나가는 신호들)
- `Behavior` (작동방식)
Module Syntax
module module_name ( inputs, outputs );
// 여기 안의 모든 것
endmodule모든 module은 module로 시작하여 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입니다
endmoduleassign은 오른쪽을 왼쪽으로 연속적으로 연결합니다.&는 Verilog에서 AND를 의미합니다.
챌린지
이 챌린지에서는 OR 연산을 수행하는 간단한 모듈을 작성해야 합니다.
해야 할 일:
- 모듈의 이름은
or_gate여야 합니다. x라는 이름의input이 있어야 합니다.y라는 이름의input이 있어야 합니다.z라는 이름의output이 있어야 합니다.moduleinside에서assign을 사용하여z가x OR y와 같아지도록 하세요.
module header와 its 3개 ports는 already 에디터에 written되어 있습니다. 추가해야 할 줄은 module inside의 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
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.