Recap - ALU Design
Coddy Verilog 여정의 기초 섹션에 포함된 레슨. 90개 중 57번째.
챌린지
ALU(산술 논리 장치)는 두 개의 inputs을 받아 연산을 수행하고 하나의 output을 생성하는 디지털 회로입니다. 두 inputs에 대해 select 신호를 기반으로 산술 및 논리 연산을 수행합니다. select 신호는 실행할 하나의 연산을 선택합니다.
작동 방식
| select | 연산 | Output |
|---|---|---|
2'b00 | 덧셈 | a + b |
2'b01 | 뺄셈 | a - b |
2'b10 | 비트 AND | a & b |
2'b11 | 비트 OR | a | b |
case 문을 사용하여 간단한 ALU를 빌드하세요.
수행할 작업:
- 이름이
alu인 module을 Create - inputs Add:
a(4비트),b(4비트),select(2비트) - output Add:
result(4비트, reg 유형) always @(*)block Add- 그 안에
case (select)문 Add 2'b00,2'b01,2'b10,2'b11에 대한 네 가지 case Addresult = 0으로 설정하는defaultcase Addendcase및endmodule로 닫기
직접 해보기
// TODO: alu 모듈 생성
// TODO: 입력 추가 (a, b, select)
// TODO: 출력 추가 (result)
// TODO: always @(*) 블록 추가
// TODO: case (select) 추가
// TODO: case 2'b00: result = a + b; 추가
// TODO: case 2'b01: result = a - b; 추가
// TODO: case 2'b10: result = a & b; 추가
// TODO: case 2'b11: result = a | b; 추가
// TODO: default: result = 0; 추가
// TODO: endcase 추가
// TODO: 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 컴파일러