Module Structure
Fait partie de la section Fondamentaux du Journey Verilog de Coddy. Leçon 30 sur 90.
Un module est l’élément de base en Verilog. Chaque conception est construite à partir de modules qui se connectent pour former des systèmes plus grands.
Un module est un composant matériel avec :
- Un nom
- Input (signaux entrants)
- Output (signaux sortants)
- Internal logic (ce que fait le module)
Imagine un module comme une puce dotée de broches et de circuits internes.
Structure de base de module
Chaque module suit cette structure :
module module_name (
input signals,
output signals
);
// Déclarations internes (wires, regs, etc.)
// Logique (assign statements, always blocks, etc.)
endmoduleParties d’un module
| Partie | Objectif |
|---|---|
Mot-clé module | Commence la définition du module |
module_name | Nom du module |
( ) | Liste des ports input et output |
input / output | Déclarer la direction du port |
| Corps du module | Internal logic et connexions |
endmodule | Termine la définition du module |
Exemple de module simple
module and_gate (
input a,
input b,
output c
);
assign c = a & b;
endmoduleCe module :
- Est nommé
and_gate - Possède deux entrées (
a,b) - Possède une sortie (
c) - Contient une instruction
assignqui définit la logique
Règles relatives à la structure d’un module
- Un module par fichier est une pratique courante
- Le nom du module doit décrire sa fonction
- Les ports sont listés entre parenthèses après le nom
- Entrées sont always
input(ne peuvent pas être écrites à l'intérieur) - Sorties sont
output(peuvent êtreregouwire) <strong>endmodule</strong>doit fermer le module
Défi
Complétez les parties manquantes pour terminer ce module.
À faire :
- Ajoutez le nom du module
my_and - Ajoutez
inputpourx - Ajoutez
inputpoury - Ajoutez
outputpourz - Ajoutez la logique interne à l’aide de
assign
Essayez vous-même
module ______ ( // Ajouter le nom du module
input x, // Ajouter l'entrée
input y, // Ajouter l'entrée
output z // Ajouter la sortie
);
// Ajouter l'instruction assign ici (z = x & y)
endmoduleCette 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