Portes logiques
Cours complet · traitement du signal et logique (MPI), chapitre 3 · CPGE MPI (2e année)
Travailler ce chapitre sur Adloun
Le chapitre précédent a montré comment un signal analogique, une fois numérisé, se réduit à une suite d'entiers manipulés par le calculateur. Reste à comprendre comment une machine matérialise physiquement ces nombres et les opérations qu'on leur applique. La réponse tient en un principe d'une sobriété radicale : tout se ramène à deux états — présence ou absence de tension — et à quelques opérations élémentaires sur ces états. C'est l'objet de l'électronique logique, socle commun de tout ordinateur.
Ce chapitre, à la saveur informatique propre à la filière MPI, décrit d'abord la manière dont on encode un bit par une tension, puis l'interrupteur commandé — le transistor MOS en commutation — brique physique à partir de laquelle on construit les portes logiques. On établira ensuite l'algèbre qui gouverne ces portes, l'algèbre de Boole, avec ses lois de De Morgan et la remarquable universalité des portes NAND et NOR. On saura enfin passer d'une table de vérité — la description exhaustive d'une fonction — à un circuit combinatoire qui la réalise, et l'on illustrera cette démarche par deux composants emblématiques : le demi-additionneur et le multiplexeur.
Conformément au programme, l'étude reste au niveau du modèle idéal (interrupteur parfait, porte sans délai) : il ne s'agit pas de concevoir un transistor, mais de comprendre l'articulation entre le monde physique des tensions et le monde abstrait de la logique booléenne.
3.1 Signaux logiques
3.1.1 Codage d'un bit par une tension
Un signal logique ne prend que deux valeurs, notées et . Physiquement, ces deux symboles correspondent à deux plages de tension séparées par une zone interdite, ce qui confère à l'information numérique son immunité au bruit : une petite perturbation ne fait pas basculer l'état lu.
Un signal logique est une tension contrainte à deux domaines :
- le niveau bas (proche de ) et le niveau haut (proche de la tension d'alimentation , typiquement ou ) ;
- en logique positive, on associe le niveau haut au symbole et le niveau bas au symbole ; en logique négative, la convention est inversée.
Une plage intermédiaire (zone interdite) sépare les deux domaines : une tension qui s'y trouve correspond à un état indéterminé, transitoire.
3.1.2 Notion de front
L'information ne réside pas seulement dans le niveau instantané, mais aussi dans ses transitions.
Un front est une transition entre les deux niveaux logiques :
- le front montant est le passage ;
- le front descendant est le passage .
Idéalisés comme instantanés, les fronts servent de signaux de déclenchement : la logique séquentielle (chapitre suivant) réagit à un front d'horloge plutôt qu'à un niveau.
Dans un circuit réel, un front n'est jamais vertical : la charge des capacités parasites impose un temps de montée fini. Tant qu'il est petit devant la durée d'un état, on l'idéalise en un saut instantané.
3.2 L'interrupteur commandé
3.2.1 Le transistor MOS en commutation
Toutes les portes logiques se construisent à partir d'un unique composant élémentaire : un interrupteur commandé par une tension. Le transistor MOS (métal-oxyde-semiconducteur) joue ce rôle. On n'en retient ici qu'un modèle idéalisé, sans entrer dans la physique du semi-conducteur.
Un transistor MOS possède trois bornes : la grille G (commande), la source S et le drain D (circuit commandé). Dans le modèle idéal en commutation, il se comporte comme un interrupteur entre D et S, piloté par la tension de grille :
- pour un MOS de type N : interrupteur fermé (D relié à S, résistance nulle) ; interrupteur ouvert (résistance infinie) ;
- pour un MOS de type P : le comportement est inversé ( fermé, ouvert).
La grille ne consomme aucun courant permanent : la commande se fait « en tension ».
3.2.2 Association d'interrupteurs et logique câblée
En associant des interrupteurs commandés entre l'alimentation et la masse, on impose au nœud de sortie un niveau haut ou bas selon les commandes : c'est le principe de toute porte. Le raisonnement typique consiste à établir la table de vérité d'une association série/parallèle.
Méthode : Table de vérité d'une association d'interrupteurs
Pour déterminer la fonction réalisée par un montage d'interrupteurs commandés :
- repérer les entrées (tensions de grille) et énumérer toutes leurs combinaisons ( lignes pour entrées) ;
- pour chaque combinaison, remplacer chaque interrupteur par un fil (fermé) ou une coupure (ouvert) ;
- déterminer si la sortie est reliée à (sortie ) ou à la masse (sortie ) ;
- lire la colonne de sortie : elle identifie la porte réalisée.
Deux interrupteurs en série conduisent seulement si les deux sont fermés (logique ET) ; deux interrupteurs en parallèle conduisent dès que l'un est fermé (logique OU).
Capacité numérique : associations d'interrupteurs
Déterminer la table de vérité d'une association d'interrupteurs commandés par une tension, et identifier par sa table de vérité la porte logique réalisée.
3.3 Les portes logiques
Une porte logique réalise une fonction booléenne : à un ou plusieurs bits d'entrée elle associe un bit de sortie. On décrit chaque porte par trois éléments indissociables : son symbole normalisé, sa table de vérité et son expression booléenne.
3.3.1 La porte NOT (inverseur)
La porte NOT, ou inverseur, à une entrée , délivre le complément : . Elle vaut si et seulement si l'entrée vaut .
| 0 | 1 |
| 1 | 0 |
3.3.2 Les portes AND et OR
- La porte AND (ET) délivre (aussi noté ) : elle vaut ssi toutes les entrées valent .
- La porte OR (OU) délivre (aussi noté ) : elle vaut ssi au moins une entrée vaut .
Les deux se généralisent à entrées.
| 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 |
3.3.3 Les portes NAND et NOR
Ce sont les compléments des précédentes : on ajoute une bulle d'inversion en sortie.
- NAND (NON-ET) : . Vaut ssi toutes les entrées valent .
- NOR (NON-OU) : . Vaut ssi toutes les entrées valent .
| 0 | 0 | 1 | 1 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 0 |
3.3.4 Les portes XOR et XNOR
- XOR : . Vaut ssi les entrées sont différentes. C'est un détecteur de différence.
- XNOR : . Vaut ssi les entrées sont égales (comparateur d'égalité).
| 0 | 0 | 0 | 1 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
Le OU exclusif se distingue du OU (inclusif) sur la seule ligne : le OU vaut alors , le XOR vaut . Le langage courant confond souvent les deux (« fromage ou dessert »).
3.4 Algèbre de Boole
Les fonctions logiques obéissent à une algèbre à deux éléments , introduite par George Boole. Sa maîtrise permet de simplifier les expressions et donc de réduire le nombre de portes d'un circuit.
Pour toutes variables logiques :
| Élément neutre | |
|---|---|
| Élément absorbant | |
| Idempotence | |
| Complément | |
| Involution | |
| Commutativité | |
| Distributivité | |
| Absorption |
3.4.1 Les lois de De Morgan
Le complément d'un produit est la somme des compléments, et réciproquement :
Ces relations se généralisent à variables : , et de même pour la somme.
Démonstration (Vérification par table de vérité)
On dresse la table des deux membres de la première loi :
| 0 | 0 | 1 | 1 |
| 0 | 1 | 1 | 1 |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 0 |
Les deux colonnes coïncident ligne à ligne : l'égalité est établie. La seconde loi s'obtient en échangeant les rôles de et (principe de dualité).
De Morgan permet de « faire entrer ou sortir » une inversion à travers une porte, en échangeant AND et OR. C'est l'outil qui rend possible la conversion de n'importe quel circuit en portes NAND seules (ou NOR seules).
3.4.2 Universalité de NAND et de NOR
La porte NAND est universelle : toute fonction logique peut être réalisée en n'utilisant que des portes NAND. Il en va de même pour la porte NOR. Il suffit en effet de reconstruire les trois portes de base NOT, AND, OR :
Démonstration (NOT, AND et OR à partir de NAND)
Notons .
- NOT : en reliant les deux entrées, .
- AND : , soit une NAND suivie d'une NAND-inverseur : deux portes.
- OR : par De Morgan, . On inverse d'abord et (deux NAND-inverseurs), puis on applique une NAND : trois portes.
Toute expression booléenne, écrite comme somme de produits, se traduit donc en un réseau de NAND. Cette universalité explique pourquoi les technologies CMOS privilégient NAND et NOR, plus simples à réaliser en transistors que AND et OR.
3.5 Synthèse d'une fonction logique combinatoire
Un circuit combinatoire produit une sortie qui ne dépend que de l'état présent des entrées (sans mémoire). Sa spécification complète est sa table de vérité ; le problème de synthèse consiste à en déduire un circuit de portes.
Méthode : De la table de vérité au circuit
Pour réaliser une fonction donnée par sa table de vérité :
- repérer les lignes où ;
- pour chaque telle ligne, écrire le minterme : produit (AND) des variables, chaque variable étant complémentée si elle vaut sur cette ligne ;
- sommer (OR) les mintermes : on obtient la forme canonique en somme de produits (SdP), qui vaut exactement sur les lignes voulues ;
- simplifier par l'algèbre de Boole (ou un tableau de Karnaugh) pour réduire le nombre de portes ;
- traduire l'expression simplifiée en portes (éventuellement toutes en NAND par universalité).
Capacité numérique : synthèse combinatoire
Établir la forme canonique en somme de produits d'une fonction à partir de sa table de vérité, la simplifier par l'algèbre de Boole, et la réaliser par un réseau de portes logiques.
On veut la fonction valant dès qu'au moins deux des trois entrées valent (vote majoritaire). Établir son expression et la simplifier.
Démonstration
La table de vérité : pour . La forme canonique somme de produits est
On regroupe astucieusement en réutilisant (idempotence : ) :
Comme , il vient la forme minimale
Trois portes AND et une porte OR à trois entrées suffisent, au lieu des quatre AND à trois entrées de la forme canonique.
3.6 Exemples de circuits combinatoires
3.6.1 Le demi-additionneur
Additionner deux bits et produit un bit de somme et un bit de retenue (carry). Établir les fonctions et , puis le circuit.
Démonstration
L'addition binaire d'un bit : , , , (somme , retenue ). D'où la table :
| (somme) | (retenue) | ||
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
On reconnaît immédiatement
La somme est un OU exclusif, la retenue un ET. Le circuit est donc une porte XOR et une porte AND partageant les mêmes entrées :
Le demi-additionneur ne gère pas de retenue entrante. En chaînant deux demi-additionneurs et une porte OR, on obtient l'additionneur complet à trois entrées , brique de l'addition sur bits.
3.6.2 Le multiplexeur
Un multiplexeur (MUX) aiguille l'une de deux entrées vers la sortie selon un bit de sélection : si , si . Établir son expression booléenne.
Démonstration
La sortie recopie quand et quand . On sélectionne chaque voie par un ET avec (ou son complément), puis on combine par un OU :
Vérification : si , donc ; si , . Le multiplexeur est le composant d'aiguillage universel : associé à des mémoires, il fonde le routage des données dans un processeur.
<i class="fa-solid fa-dumbbell mr-2" style="color:#2E7559"></i>3.7 Exercices résolus
Deux MOS-N sont placés en série entre le nœud de sortie et la masse, une résistance reliant la sortie à (montage « pull-up »). Les grilles portent et . Établir la table de vérité et nommer la porte.
Démonstration
La sortie est tirée à la masse () uniquement si le chemin vers la masse est fermé, c'est-à-dire si les deux MOS conduisent, donc si . Sinon la résistance impose .
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
La sortie vaut ssi : c'est , une porte NAND. La logique CMOS réalise ainsi naturellement des portes inverseuses (NAND, NOR).
Une porte à deux entrées a pour sortie : pour . De quelle porte s'agit-il ?
Démonstration
La sortie vaut quand (lignes et ) et sinon : c'est le comparateur d'égalité, la porte XNOR, . On peut le vérifier algébriquement : .
Simplifier .
Démonstration
On factorise les deux premiers termes : . Il reste . Par la relation d'absorption (démontrable : ) :
La fonction se réduit à un simple OU : de trois AND et deux OR, on passe à une seule porte OR.
Écrire sous forme d'une expression ne comportant d'inversions que sur des variables seules.
Démonstration
On applique De Morgan sur la somme, puis sur le produit :
On développe si besoin : . Les inversions ne portent plus que sur et .
Montrer que le OU exclusif se réalise avec quatre portes NAND.
Démonstration
Posons . On calcule ensuite
Enfin
par De Morgan. Quatre NAND suffisent donc, ce qui illustre concrètement l'universalité.
Réaliser la fonction valant pour les combinaisons , , et ailleurs.
Démonstration
Forme canonique somme de produits (un minterme par ligne à ) :
Les deux premiers mintermes partagent : . D'où
Deux AND (l'un à deux entrées, l'autre à trois) et un OR final, avec les inverseurs de et .
Pour l'additionneur complet à trois entrées où est la retenue entrante, montrer que le bit de somme vaut .
Démonstration
La somme binaire de trois bits vaut lorsque le nombre de parmi est impair (1 ou 3). Or vaut précisément ssi le nombre de est impair (le XOR est une somme modulo ). On vérifie sur les lignes : par exemple (trois , impair, somme , retenue ), et (deux , pair). D'où , tandis que la retenue sortante est .
Le multiplexeur peut-il se construire uniquement en portes NAND ? Combien en faut-il ?
Démonstration
Oui, par universalité. On écrit (double négation puis De Morgan sur le OU). Chaque produit et inversé est une NAND ; leur combinaison est une troisième NAND ; il faut de plus une NAND-inverseur pour produire . Soit quatre portes NAND (trois pour le cœur, une pour l'inverseur de sélection).
3.8 Exercices d'entraînement
- Niveaux logiques. Une famille logique fixe le niveau haut à , la zone interdite entre et . Une entrée reçoit : comment est-elle interprétée ? Pourquoi la marge de bruit rend-elle la logique robuste ?
- Front. Tracer un chronogramme comportant deux fronts montants et un front descendant. En quoi un signal d'horloge diffère-t-il d'un signal de donnée ?
- Interrupteurs en parallèle. Deux MOS-N sont en parallèle entre la sortie et la masse (pull-up résistif vers ). Établir la table de vérité et identifier la porte réalisée.
- Association mixte. Un MOS de grille en série avec le groupe parallèle , l'ensemble entre sortie et masse (pull-up). Donner la sortie et sa forme booléenne inversée.
- Table de vérité de NOR à 3 entrées. Dresser la table de . Pour combien de combinaisons vaut-elle ?
- Simplifications. Simplifier : (a) ; (b) ; (c) ; (d) (théorème du consensus).
- De Morgan. Écrire en ne laissant les barres que sur des variables isolées.
- Identifier la porte. Une porte à deux entrées donne la sortie pour . Quelle est-elle ? Donner deux expressions booléennes équivalentes.
- Universalité de NOR. Réaliser NOT, AND et OR uniquement avec des portes NOR (donner les expressions et le nombre de portes de chaque).
- Synthèse. Réaliser valant pour , , , . Donner la forme canonique somme de produits, puis simplifier.
- Comparateur 1 bit. Concevoir un circuit à deux entrées produisant trois sorties : , , . Donner les trois expressions booléennes.
- Détecteur de parité. Proposer un circuit indiquant si le nombre de parmi quatre bits est pair. Quelle porte, chaînée, réalise cette fonction ?
- Multiplexeur 4 vers 1. Généraliser le MUX 2 vers 1 : avec deux bits de sélection aiguillant l'une de quatre entrées , écrire l'expression de .
- Additionneur complet. À partir de deux demi-additionneurs et d'une porte OR, dessiner le schéma de l'additionneur complet et justifier chaque connexion.
- Coût en portes. Comparer le nombre de portes NAND nécessaires pour réaliser directement (AND/OR) puis entièrement en NAND. Conclure sur l'intérêt de la forme somme de produits pour le « tout-NAND ».
- Un bit est codé par une tension : niveau bas , niveau haut (logique positive), séparés par une zone interdite qui assure l'immunité au bruit. Un front est une transition (montant) ou (descendant).
- Le transistor MOS idéal est un interrupteur commandé en tension : fermé/ouvert selon la grille. En série logique ET ; en parallèle logique OU ; le pull-up résistif produit des portes inverseuses (NAND, NOR).
- Sept portes de base : NOT , AND , OR , NAND , NOR , XOR (différence), XNOR (égalité) — chacune définie par son symbole, sa table de vérité et son expression.
- De Morgan : et . Les portes NAND et NOR sont universelles : elles réalisent à elles seules toute fonction logique.
- Synthèse combinatoire : table de vérité somme des mintermes (forme canonique SdP) simplification par l'algèbre de Boole réseau de portes. Exemples clés : demi-additionneur (, ) et multiplexeur ().