Votre premier module
Fait partie de la section Fondamentaux du Journey Verilog de Coddy. Leçon 3 sur 90.
Un module est l’élément de base dans Verilog. Chaque élément de code Verilog se trouve à l’intérieur d’un module.
Imagine un module comme un composant avec :
- Inputs (signaux entrants)
- Outputs (signaux sortants)
- Behavior (ce qu’il fait)
Syntaxe de module
module module_name ( inputs, outputs );
// Tout ce qui se trouve à l'intérieur
endmoduleChaque module commence par module et se termine par endmodule.
Entrées et sorties
module and_gate(
input a, // a entre DANS le module
input b, // b entre DANS le module
output c // c sort HORS du module
);
// Le comportement va ici
endmodule- input = le signal entre dans le module
- output = le signal sort du module
Ajout d’un comportement
Nous faisons maintenant en sorte que le module fasse quelque chose :
module and_gate(
input a,
input b,
output c
);
assign c = a & b; // c vaut 1 seulement lorsque a ET b valent 1
endmoduleassignconnecte continuellement le côté droit au côté gauche&signifie AND en Verilog
Défi
Dans ce défi, vous devez créer un simple module qui effectue l’opération OR.
À faire :
- Le module doit être nommé
or_gate - Il doit avoir un input appelé
x - Il doit avoir un input appelé
y - Il doit avoir un output appelé
z - À l’intérieur du module, utilisez
assignpour rendrezégal àx OR y
Le header du module et ses trois ports se trouvent déjà dans l’éditeur. La ligne que vous devez ajouter est l’instruction assign à l’intérieur du module.
Remarque : en Verilog, OR s’écrit avec le symbole barre verticale |. Il produit 1 (vrai) si au moins un des inputs vaut 1 (vrai).
Essayez vous-même
// L'en-tête du module et ses ports sont déjà écrits pour vous
module or_gate(
input x,
input y,
output z
);
// À votre tour : utilisez assign pour définir z à x OR y
// En Verilog, OR s'écrit |
endmodule
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes 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