Menu
Coddy logo textTech

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.)
  
endmodule

Parties d’un module

PartieObjectif
Mot-clé moduleCommence la définition du module
module_nameNom du module
( )Liste des ports input et output
input / outputDéclarer la direction du port
Corps du moduleInternal logic 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. Entrées sont always input (ne peuvent pas être écrites à l'intérieur)
  2. Sorties sont output (peuvent être 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