Recap - ALU Design
Fait partie de la section Fondamentaux du Journey Verilog de Coddy. Leçon 57 sur 90.
Défi
Une ALU (unité arithmétique et logique) est un circuit numérique qui prend deux entrées, effectue une opération sur celles-ci et produit une sortie. Elle effectue des opérations arithmétiques et logiques sur deux entrées en fonction d’un signal de sélection. Le signal select choisit une opération à exécuter.
Comment cela fonctionne
| select | Opération | Sortie |
|---|---|---|
2'b00 | Addition | a + b |
2'b01 | Soustraction | a - b |
2'b10 | AND bit à bit | a & b |
2'b11 | OR bit à bit | a | b |
Construis une ALU simple à l’aide d’une instruction case.
À faire :
- Crée un module nommé
alu - Ajoute les entrées :
a(4 bits),b(4 bits),select(2 bits) - Ajoute la sortie :
result(4 bits, de type reg) - Ajoute un bloc
always @(*) - À l’intérieur, ajoute une instruction
case (select) - Ajoute quatre cas pour
2'b00,2'b01,2'b10,2'b11 - Ajoute un cas
defaultpour définirresult = 0 - Termine avec
endcaseetendmodule
Essayez vous-même
// TODO: Créer le module alu
// TODO: Ajouter les entrées (a, b, select)
// TODO: Ajouter la sortie (result)
// TODO: Ajouter le bloc always @(*)
// TODO: Ajouter case (select)
// TODO: Ajouter case 2'b00: result = a + b;
// TODO: Ajouter case 2'b01: result = a - b;
// TODO: Ajouter case 2'b10: result = a & b;
// TODO: Ajouter case 2'b11: result = a | b;
// TODO: Ajouter default: result = 0;
// TODO: Ajouter endcase
// TODO: Ajouter endmoduleToutes les leçons de Fondamentaux
1Introduction
Qu’est-ce que VerilogMatériel vs logicielVotre premier moduleCommentairesNiveaux d’abstraction de conception4Operators 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 LogicEntraînez-vous par vous-même : Compilateur Verilog en ligne