Menu
Coddy logo textTech

Structure d’un module

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
  • Des entrées (signaux entrants)
  • Des sorties (signaux sortants)
  • Une logique interne (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.)
  
endmodule

Parties d’un module

PartieObjectif
mot-clé moduleCommence la définition du module
module_nameNom du module
( )Liste des ports d’entrée et de sortie
input / outputDéclarent la direction du port
Corps du moduleLogique interne et connexions
endmoduleTermine la définition du module

Exemple de module simple

module and_gate (
  input a,
  input b,
  output c
);
  assign c = a & b;
endmodule

Ce module :

  • Est nommé and_gate
  • Possède deux entrées (a, b)
  • Possède une sortie (c)
  • Contient une instruction assign qui définit la logique

Règles relatives à la structure d’un module

  1. Un module par fichier est une pratique courante
  2. Le nom du module doit décrire sa fonction
  3. Les ports sont listés entre parenthèses après le nom
  1. Les entrées sont toujours de type input (ne peuvent pas être écrites à l'intérieur)
  2. Les sorties sont de type output (peuvent être de type reg ou wire)
  3. <strong>endmodule</strong> doit fermer le module
challenge icon

Défi

Complétez les parties manquantes pour terminer ce module.

À faire :

  1. Ajoutez le nom du module my_and
  2. Ajoutez input pour x
  3. Ajoutez input pour y
  4. Ajoutez output pour z
  5. 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)
  
endmodule
quiz iconTestez-vous

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

Entraînez-vous par vous-même : Compilateur Verilog en ligne