Menu
Coddy logo textTech

Primitives de portes intégrées

Fait partie de la section Fondamentaux du Journey Verilog de Coddy. Leçon 39 sur 90.

Verilog possède des primitives de portes intégrées qui vous permettent de décrire des circuits logiques à l’aide de symboles de portes réels. Cela s’appelle la modélisation structurelle. Vous construisez des circuits en connectant des portes, tout comme lorsque vous dessinez un schéma.

Les primitives de porte sont des mots-clés prédéfinis qui modélisent les portes logiques de base. Au lieu d’écrire une expression comme assign out = a & b, vous instanciez une porte :

and(out, a, b);   // Porte AND avec sortie out, entrées a et b

Syntaxe générale

gate_type (output, input1, input2, ...);
  • Le premier argument est toujours la sortie
  • Les arguments suivants sont des entrées (1 ou plus, selon la porte)

Primitives de portes disponibles

Type de porteMot-cléNombre d’entrées
ANDand2 ou plus
ORor2 ou plus
NOTnot1
NANDnand2 ou plus
NORnor2 ou plus
XORxor2 ou plus
XNORxnor2 ou plus

Comment fonctionnent les primitives de portes

Lorsque vous écrivez and(out, a, b), Verilog crée une porte AND qui pilote continuellement out avec le résultat de a & b. Chaque fois que a ou b change, out est mis à jour immédiatement, tout comme avec une porte réelle.

Primitives de portes vs affectation continue

Les deux méthodes produisent le même matériel :

// Primitive de porte
and(out, a, b);

// Affectation continue (même résultat)
assign out = a & b;

Les primitives de portes sont utiles lorsque vous souhaitez décrire un circuit comme une collection de portes (style structurel). L’affectation continue convient mieux au style comportemental (expressions).

challenge icon

Défi

Que faire :

  1. Ajoutez la primitive de porte correcte pour faire fonctionner ce circuit. Le module doit produire le AND des entrées a et b. Le port de sortie est déjà nommé c.

Essayez vous-même

module gate_challenge (
  input a,
  input b,
  output c
);
  
  // TODO: Ajoutez la primitive de porte correcte
  // La sortie c doit être a AND b

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