첫 번째 모듈
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입니다
endmoduleassign는 오른쪽을 왼쪽에 지속적으로 연결합니다&는 Verilog에서 AND를 의미합니다
챌린지
이 챌린지에서는 OR 연산을 수행하는 간단한 module을 만들어야 합니다.
할 일:
- module의 이름은
or_gate여야 합니다 x라는 input이 있어야 합니다y라는 input이 있어야 합니다z라는 output이 있어야 합니다- module 내부에서
assign을 사용하여z가x 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
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
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 컴파일러