← Retour au blogPortes logiques

Portes logiques à entrées multiples : de l'ET à 3 entrées et au-delà

Les portes logiques à entrées multiples condensent de larges bus en signaux uniques. Comparez les implémentations en cascade et en arbre pour choisir la bonne architecture.

DennyDenny
8 min de lecture
Chalkboard feature illustration for “Portes logiques à entrées multiples : de l'ET à 3 entrées et au-delà”

En bref : une porte ET/OU/XOR large peut se construire de deux façons : en cascade (délai linéaire, (n−1)⋅tgate(n-1) \cdot t_{gate}) ou en arbre équilibré (délai logarithmique, ⌈log⁡2n⌉⋅tgate\lceil\log_2 n\rceil \cdot t_{gate}). Les deux utilisent le même nombre de portes ; l’arbre est plus rapide uniquement parce qu’il raccourcit le plus long chemin du signal.

Les portes logiques élémentaires ont deux entrées, mais les systèmes réels en utilisent bien davantage. Un décodeur d’adresses mémoire peut devoir effectuer un ET sur 20 lignes de signal. Un générateur de parité doit appliquer un XOR à tout un bus de données. La façon de construire ces portes larges — autrement dit, d’organiser de petites portes pour en former de plus grandes — a un impact direct et mesurable sur la vitesse du circuit.

Cet article examine les deux stratégies principales de construction des portes à entrées multiples (cascade et arbre), déduit leurs formules de délai de propagation et indique quand chacune convient.

Diagramme d'une porte ET

Définition et rôle dans la hiérarchie numérique

Une porte logique à entrées multiples est un composant numérique qui effectue une opération booléenne élémentaire — ET, OU ou XOR — sur au moins trois entrées pour produire une sortie unique. Dans la hiérarchie des systèmes numériques, ces portes se trouvent juste au-dessus des primitives à 2 entrées. Elles jouent le rôle de « décideurs » pour les conditions complexes.

Dans un processeur 32 bits, les signaux arrivent par bus entiers, pas par paires. La logique à entrées multiples comprime ces chemins de données larges en signaux de commande significatifs — le socle des décodeurs et encodeurs.

  • ET : la porte « tout ou rien ». Une porte ET à nn entrées produit 1 si et seulement si chacune des entrées vaut 1.
  • OU : la porte « au moins une ». Une porte OU à nn entrées produit 1 si au moins une de ses entrées vaut 1.
  • XOR : la porte de « parité impaire ». Un XOR à nn entrées produit 1 si le nombre de ses entrées à 1 est impair. C’est une distinction subtile mais importante avec la version à 2 entrées.

Essayer le comportement d’une porte ET

Spécification technique : référence ET à 3 entrées

Pour comprendre le passage à l’échelle, regardons la table de vérité d’une porte ET à 3 entrées. Pour toute porte à nn entrées, la table comporte 2n2^n combinaisons possibles. Elle grandit donc exponentiellement, mais la logique reste cohérente.

Entrée AEntrée BEntrée CSortie Y
0000
0010
0100
0110
1000
1010
1100
1111

On remarque que seule la dernière ligne — celle où toutes les entrées sont à l’état HAUT — produit une sortie HAUTE. Cette « rigueur » fait de la porte ET l’outil principal du décodage d’adresses et de la génération de signaux d’activation.

Expressions booléennes et changement d’échelle

La représentation mathématique de ces portes suit les lois de l’algèbre booléenne, en particulier la loi associative. Celle-ci indique que (A⋅B)⋅C=A⋅(B⋅C)(A \cdot B) \cdot C = A \cdot (B \cdot C), justification théorique de la construction de grandes portes avec de plus petites.

Pour une porte ET à nn entrées : Y=A⋅B⋅C⋅⋯⋅NY = A \cdot B \cdot C \cdot \dots \cdot N

Pour une porte OU à nn entrées : Y=A+B+C+⋯+NY = A + B + C + \dots + N

Pour une porte XOR à nn entrées (parité) : Y=A⊕B⊕C⊕⋯⊕NY = A \oplus B \oplus C \oplus \dots \oplus N

Pour les portes NAND et NOR, on applique les théorèmes de De Morgan pour comprendre leur comportement à mesure qu’elles s’élargissent. Une NAND à nn entrées n’est pas simplement une série de NAND : c’est une opération ET suivie d’un seul NON.

Le compromis essentiel : le délai de propagation

Les bibliothèques physiques fournissent un ensemble fini de fan-in de portes, et la logique programmable mappe les fonctions booléennes vers ses tables de recherche et son routage disponibles. Une réduction très large, comme un ET à 128 entrées, est donc normalement décomposée en petites cellules ou LUT plutôt qu’implémentée comme un symbole idéal unique.

La disposition de ces petites portes agit sur le délai de propagation (tpdt_{pd}), c’est-à-dire le temps nécessaire à une variation d’entrée pour atteindre la sortie. Les équations ci-dessous supposent d’abord des portes 2 entrées identiques de délai tgatet_{gate} et ignorent le routage et la charge. Ce modèle met en évidence la profondeur logique ; le résultat physique dépend aussi du délai des cellules mappées, du temps de transition, du fan-out, du câblage, du placement et du point de fonctionnement.

Stratégie A : la cascade (la méthode lente)

La manière la plus intuitive de construire une porte ET à 8 entrées consiste à les enchaîner. La sortie du premier ET 2 entrées alimente le suivant, et ainsi de suite.

Output=((((((A⋅B)⋅C)⋅D)⋅E)⋅F)⋅G)⋅HOutput = ((((((A \cdot B) \cdot C) \cdot D) \cdot E) \cdot F) \cdot G) \cdot H

Dans cette structure « en cascade », le signal de l’entrée A traverse sept portes consécutives avant d’atteindre la sortie. Le délai total est linéaire :

Tcascade=(n−1)⋅tgateT_{cascade} = (n-1) \cdot t_{gate}

Si tgatet_{gate} vaut 1 ns, la porte à 8 entrées prend 7 ns. Cela peut sembler peu, mais dans un système synchrone ce délai limite la fréquence maximale de l’horloge.

Stratégie B : la structure en arbre (la méthode rapide)

Une structure en « arbre » ou en « tournoi » apparie les entrées : A et B vont à une porte, C et D à une autre, E et F à une troisième, G et H à une quatrième. Les sorties de ces quatre portes alimentent ensuite deux portes au niveau suivant, qui alimentent enfin une dernière porte.

Le délai total croît maintenant de façon logarithmique :

Ttree=⌈log⁡2(n)⌉⋅tgateT_{tree} = \lceil \log_2(n) \rceil \cdot t_{gate}

Pour notre porte à 8 entrées, ⌈log⁡2(8)⌉=3\lceil\log_2(8)\rceil = 3. Le délai n’est que de 3×1ns=3ns3 \times 1\text{ns} = 3\text{ns} — moins de la moitié des 7 ns de la cascade.

Comparaison côte à côte

MesureCascade (n=8)Arbre (n=8)
Formule du délai(n−1)⋅tgate(n-1) \cdot t_{gate}⌈log⁡2(n)⌉⋅tgate\lceil\log_2(n)\rceil \cdot t_{gate}
Délai total7⋅tgate7 \cdot t_{gate}3⋅tgate3 \cdot t_{gate}
Nombre de portesn−1=7n - 1 = 7n−1=7n - 1 = 7
Complexité du câblageChaîne simpleArbre binaire équilibré

Dans le modèle de portes 2 entrées identiques, les deux structures utilisent n−1n-1 portes, tandis que l’arbre équilibré réduit la profondeur logique maximale de n−1n-1 à ⌈log⁡2n⌉\lceil\log_2 n\rceil. En pratique, la synthèse peut employer des portes plus larges, des LUT, de la factorisation ou des structures liées au placement ; le nombre de portes et le délai ne suivent donc pas nécessairement les formules idéales.

Modèle de système de sécurité avec porte ET

Ouvrir le circuit d’alarme de sécurité

Démonstration interactive : visualiser le délai dans digisim.io

Le meilleur moyen de comprendre la différence de délai est de construire les deux structures et de les observer côte à côte.

  1. Préparation : placez huit composants INPUT_SWITCH sur votre canevas.
  2. Cascade : construisez une chaîne de sept portes ET. Reliez la sortie finale à un OUTPUT_LIGHT.
  3. Arbre : construisez dessous la structure en arbre avec sept portes ET. Reliez sa sortie finale à un second OUTPUT_LIGHT.
  4. Test : activez tous les interrupteurs. Les deux lampes s’allument. Désactivez maintenant le premier interrupteur (entrée A).

Si le simulateur modélise le délai de chaque porte, l’oscilloscope doit montrer que la sortie de l’arbre se stabilise plus tôt pour une transition traversant toute la cascade. Dans un modèle idéal sans délai, les deux sorties se mettent à jour au même instant simulé ; comptez plutôt les niveaux logiques dépendants.

Vérification à l’oscilloscope

Reliez le canal 1 à l’entrée basculée, le canal 2 à la sortie de l’arbre et le canal 3 à la sortie de la cascade. Dans le modèle pédagogique à délais égaux, les décalages valent environ 3tgate3t_{gate} et 7tgate7t_{gate}. Cette expérience explique la profondeur du chemin ; la fermeture temporelle d’un FPGA ou d’un ASIC de production utilise une analyse statique avec le netlist et le routage implémentés. Un oscilloscope ou analyseur logique matériel peut diagnostiquer une carte donnée, mais ne couvre pas tous les coins technologiques et environnementaux.

Composant oscilloscope

Applications réelles

1. Décodage d’adresses mémoire

Un périphérique mappé en mémoire répond souvent à une plage d’adresses. Les bits d’adresse de poids fort sont comparés à un motif de base, tandis que les bits de poids faible sélectionnent les registres ou emplacements internes.

Au niveau booléen, une correspondance exacte est un ET des bits d’adresse directs ou complémentés. Les implémentations physiques factorisent cette comparaison dans les portes, cellules comparatrices ou LUT disponibles, et peuvent décoder hiérarchiquement. La bonne structure est celle qui satisfait les exigences temporelles et électriques du bus après implémentation — pas un arbre binaire dessiné à la main imposé par principe.

2. Génération de parité d’un bus de données

La fiabilité est essentielle. Lors de l’envoi d’un octet de données, on ajoute souvent un « bit de parité » pour détecter les erreurs. Un bit de parité paire vaut 1 si le nombre de 1 dans les données est impair, afin que le total soit pair.

C’est exactement ce que réalise une porte XOR à entrées multiples.

Composant porte XOR

Un arbre équilibré de portes XOR à 2 entrées comporte six niveaux logiques pour 64 entrées, car log⁡264=6\log_2 64=6. La parité et les codes correcteurs d’erreurs plus riches servent dans de nombreux chemins de stockage et de communication, mais le code exact, sa couverture et le moment de mise à jour dépendent de l’architecture. Voir XOR contre XNOR pour la détection d’erreurs.

Thèmes associés dans le parcours

En continuant à explorer la logique numérique sur digisim.io, les thèmes suivants approfondiront votre compréhension :

  • Portes logiques élémentaires (les primitives)
  • Algèbre booléenne et De Morgan (les mathématiques)
  • Délai de propagation et diagrammes temporels (les performances)
  • Décodeurs (l’application principale de l’ET à entrées multiples)

Résumé : recommandations de conception

RecommandationDétail
Réduire la profondeur dépendanteUne réduction équilibrée est un bon point de départ quand seules des portes 2 entrées sont disponibles. Laissez la synthèse la mapper vers les ressources cibles.
Respecter le fan-in de la bibliothèqueLe fan-in disponible et efficace dépend de la famille logique, de la bibliothèque de cellules standard ou de l’architecture LUT du FPGA.
Tenir compte du fan-outChaque sortie qui pilote de nombreuses entrées ajoute du délai. Ajoutez un buffer aux nœuds à fort fan-out.
Inclure routage et chargeUn nombre de portes égal n’implique pas une surface, une puissance, un placement ou un délai identiques après implémentation.
Utiliser la bonne vérificationUtilisez DigiSim pour comparer la profondeur logique et le délai modélisé ; utilisez l’outil de la cible pour le timing physique.

Le passage des portes à 2 entrées aux systèmes à entrées multiples est le premier pas vers l’architecture des ordinateurs — où la correction est nécessaire, mais où les performances constituent le véritable défi de conception.

Poursuivez avec le délai de propagation et le timing, ou ouvrez la référence du composant porte ET et essayez de câbler un arbre à 8 entrées face à une cascade.

Transformez l’idée en un circuit fonctionnel.