Module Structure
Coddy Verilog 여정의 기초 섹션에 포함된 레슨. 90개 중 30번째.
module은 Verilog의 기본 구성 요소입니다. 모든 설계는 서로 연결되어 더 큰 시스템을 형성하는 module로 구성됩니다.
모듈은 다음을 갖춘 하드웨어 구성 요소입니다:
- 이름
- 입력 (들어오는 신호)
- 출력 (나가는 신호)
- 내부 로직 (모듈이 수행하는 작업)
모듈을 핀과 내부 회로가 있는 칩이라고 생각해 보세요.
기본 module 구조
모든 module은 다음 구조를 따릅니다:
module module_name (
input signals,
output signals
);
// 내부 선언 (wires, regs 등)
// 로직 (assign statements, always blocks 등)
endmodule모듈의 구성 요소
| 구성 요소 | 목적 |
|---|---|
module 키워드 | 모듈 정의를 시작합니다 |
module_name | 모듈의 이름 |
( ) | 입력 및 출력 포트 목록 |
input / output | 포트 방향을 선언합니다 |
| 모듈 본문 | 내부 로직 및 연결 |
endmodule | 모듈 정의를 끝냅니다 |
간단한 모듈 예제
module and_gate (
input a,
input b,
output c
);
assign c = a & b;
endmodule이 모듈은 다음과 같습니다:
and_gate라는 이름입니다- 두 개의 입력(
a,b)이 있습니다 - 하나의 출력(
c)이 있습니다 - 논리를 정의하는 하나의
assignstatement를 포함합니다
모듈 구조 규칙
- 파일당 하나의 모듈이 일반적인 관행입니다
- 모듈 이름은 해당 모듈의 기능을 설명해야 합니다
- 포트는 이름 뒤의 괄호 안에 나열됩니다
- 입력은 항상
input입니다(내부에 작성할 수 없음) - 출력은
output입니다(reg또는wire일 수 있음) <strong>endmodule</strong>은 module을 닫아야 합니다
챌린지
이 모듈을 완성하려면 누락된 부분을 채우세요.
수행할 작업:
- 모듈 이름
my_andAdd x에 대한inputAddy에 대한inputAddz에 대한outputAddassign을 사용하여 내부 로직 Add
직접 해보기
module ______ ( // 모듈 이름 추가
input x, // 입력 추가
input y, // 입력 추가
output z // 출력 추가
);
// 여기에 assign 문 추가 (z = x & y)
endmodule이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
4Operators Part 1
Arithmetic OperatorsModulo OperatorComparison OperatorsRecap - Simple MathBitwise Operators7Assign And Gates
Continuous AssignmentAssign With OperatorsBuilt In Gate PrimitivesAND OR NOT GatesXOR XNOR GatesRecap - Logic Gate Circuit10Decision Making
If StatementIf - ElseRecap - Simple ComparatorCase StatementCasex And CasezRecap - ALU Design5Operators Part 2
Logical OperatorsReduction OperatorsShift OperatorsConcatenation OperatorConditional OperatorRecap - Operator Challenge3Number System
Binary RepresentationSized NumbersUnsized NumbersNegative NumbersSpecial Values X And ZRecap - Number Formats6Modules
Module StructureInput And Output PortsInout PortsModule InstantiationPort Mapping By NamePort Mapping By OrderRecap - Build A Module9Procedural Blocks
Always BlockInitial BlockSensitivity ListBlocking AssignmentNon Blocking AssignmentRecap - Always vs Initial15Traffic Light Controller
Defining The StatesState Machine Logic직접 연습해 보세요: 온라인 Verilog 컴파일러