Adloun

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.

Définition 3.1Niveaux logiques et logique positive

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.

Définition 3.2Front montant, front descendant

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.

iRemarque

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.

Définition 3.3Interrupteur commandé idéal (transistor MOS)

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)

Définition 3.4NOT

La porte NOT, ou inverseur, à une entrée , délivre le complément : . Elle vaut si et seulement si l'entrée vaut .

    
01
10

3.3.2 Les portes AND et OR

Définition 3.5AND 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.

    
0000
0101
1001
1111

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.

Définition 3.6NAND et NOR
  • NAND (NON-ET) : . Vaut ssi toutes les entrées valent .
  • NOR (NON-OU) : . Vaut ssi toutes les entrées valent .
    
0011
0110
1010
1100

3.3.4 Les portes XOR et XNOR

Définition 3.7XOR (OU exclusif) 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é).
    
0001
0110
1010
1101
iRemarque

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.

Proposition 3.8Lois fondamentales de l'algèbre de Boole

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

◆Théorème 3.9Lois 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 :

0011
0111
1011
1100

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

ImportantInterprétation pratique

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

◆Théorème 3.10Universalité 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.

Exemple 3.11Fonction majorité à trois entrées

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

Exemple 3.12Demi-additionneur 1 bit

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)
0000
0110
1010
1101

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 :

iRemarque

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

Exemple 3.13Multiplexeur 2 vers 1

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

Exemple 3.14Association série d'interrupteurs

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 .

001
011
101
110

La sortie vaut ssi : c'est , une porte NAND. La logique CMOS réalise ainsi naturellement des portes inverseuses (NAND, NOR).

Exemple 3.15Identifier une porte par sa table

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 : .

Exemple 3.16Simplification booléenne

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.

Exemple 3.17Application de De Morgan

É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 .

Exemple 3.18XOR à partir de NAND

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é.

Exemple 3.19Synthèse à partir d'une table

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 .

Exemple 3.20Additionneur complet : bit de somme

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 .

Exemple 3.21Multiplexeur et NAND

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

  • 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 ().

Continuer sur Adloun : animation, QCM, fiches, exercices