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 le bloc de construction de base dans Verilog. Chaque conception est construite à partir de modules qui se connectent entre eux pour former des systèmes plus vastes.

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)

Pensez à un module comme à une puce avec des broches et un circuit interne.

Structure de base d'un module

Chaque module suit cette structure :

module module_name (
  input  signals,
  output signals
);
  
  // Déclarations internes (wires, regs, etc.)
  // Logique (instructions assign, blocs always, etc.)
  
endmodule

Parties d'un module

PartieObjectif
Mot-clé moduleDémarre la définition du module
module_nameNom du module
( )Liste des ports d'entrée et de sortie
input / outputDéclare 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 définissant la logique

Règles pour la structure des modules

  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 input (ne peuvent pas être écrites à l'intérieur)
  2. Les sorties sont output (peuvent être reg ou wire)
  3. <strong>endmodule</strong> doit fermer le module
challenge icon

Défi

Remplissez les parties manquantes pour compléter ce module.

Ce qu'il faut 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 en utilisant assign

Aide-mémoire

Un module est le bloc de construction de base en Verilog — un composant matériel avec des entrées, des sorties et une logique interne.

module module_name (
  input  a,
  input  b,
  output c
);
  // Logique interne
  assign c = a & b;

endmodule
  • module / endmodule — début et fin de la définition
  • input — signal entrant (lecture seule à l'intérieur du module)
  • output — signal sortant (peut être reg ou wire)
  • assign — définit la logique combinatoire

Essayez vous-même

module ______ (   // Ajouter le nom du module
  ______ x,       // Ajouter l'entrée
  ______ y,       // Ajouter l'entrée
  ______ z        // Ajouter la sortie
);
  // Ajouter l'instruction d'assignation 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