Recap - ALU Design
Teil des Abschnitts Grundlagen der Verilog-Journey von Coddy. Lektion 57 von 90.
Aufgabe
Eine ALU (Arithmetisch-logische Einheit) ist eine digitale Schaltung, die zwei Eingaben entgegennimmt, eine Operation mit ihnen durchführt und eine Ausgabe erzeugt. Sie führt arithmetische und logische Operationen an zwei Eingaben basierend auf einem select-Signal durch. Das select-Signal wählt eine auszuführende Operation aus.
So funktioniert sie
| select | Operation | Ausgabe |
|---|---|---|
2'b00 | Addition | a + b |
2'b01 | Subtraktion | a - b |
2'b10 | Bitweises AND | a & b |
2'b11 | Bitweises OR | a | b |
Erstelle eine einfache ALU mit einer case-Anweisung.
Aufgabe:
- Erstelle ein Modul namens
alu - Füge Eingaben hinzu:
a(4-Bit),b(4-Bit),select(2-Bit) - Füge eine Ausgabe hinzu:
result(4-Bit, Typ reg) - Füge einen
always @(*)-Block hinzu - Füge darin eine
case (select)-Anweisung hinzu - Füge vier Fälle für
2'b00,2'b01,2'b10,2'b11hinzu - Füge einen
default-Fall hinzu, umresult = 0zu setzen - Schließe mit
endcaseundendmoduleab
Probier es selbst
// TODO: Erstelle module alu
// TODO: Füge inputs (a, b, select) hinzu
// TODO: Füge output (result) hinzu
// TODO: Füge always @(*) block hinzu
// TODO: Füge case (select) hinzu
// TODO: Füge case 2'b00: result = a + b; hinzu
// TODO: Füge case 2'b01: result = a - b; hinzu
// TODO: Füge case 2'b10: result = a & b; hinzu
// TODO: Füge case 2'b11: result = a | b; hinzu
// TODO: Füge default: result = 0; hinzu
// TODO: Füge endcase hinzu
// TODO: Füge endmodule hinzuAlle Lektionen in Grundlagen
1Einführung
Was ist VerilogHardware vs. SoftwareIhr erstes ModulKommentareAbstraktionsebenen des Designs4Operators 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Übe selbstständig: Online-Verilog-Compiler