Adloun

Portes logiques

Cours · traitement du signal et logique (MPI), chapitre 3 · CPGE MPI (2e année) · le début du chapitre, la suite sur Adloun

Une porte logique ET et sa table de vérité : la sortie vaut 1 seulement si les deux entrées valent 1.

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.

Ce que demande le programme de physique de MPI. Il demande de déterminer la table de vérité d'une association d'interrupteurs commandés par une tension et d'identifier par sa table de vérité la porte logique réalisée, pour les portes NOT, AND, OR, NAND, NOR (à deux ou plusieurs entrées) et XOR, et, en travaux pratiques, de mettre en œuvre des montages utilisant des portes logiques. Il se limite à des systèmes comportant un nombre raisonnable de composants, et déclare hors programme la connaissance des circuits électroniques qui constituent les portes : l'étude reste au niveau du modèle idéal (interrupteur parfait, porte sans délai sauf mention contraire). Les lois de De Morgan et le lien entre table de vérité et forme normale disjonctive complète relèvent du programme d'informatique de MP2I-MPI : on les emploie comme des acquis. La simplification algébrique des expressions, le demi-additionneur et le multiplexeur sont des compléments, absents du programme de physique (et, pour les deux circuits, de celui d'informatique, qui exclut l'architecture des ordinateurs).

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é. De même, une porte réelle ne répond pas instantanément : sa sortie change avec un retard appelé temps de propagation , de l'ordre de quelques nanosecondes à quelques dizaines de picosecondes selon la technologie.

iRemarqueNiveaux garantis et marges de bruit

Un constructeur garantit, pour une famille de circuits, qu'une sortie haute délivre au moins et une sortie basse au plus , et qu'une entrée lit sûrement au-dessus de et sûrement au-dessous de ; entre et s'étend la zone interdite. Quand une sortie commande une entrée, les marges de bruit

sont les amplitudes de parasite tolérées au niveau haut et au niveau bas : la liaison est sûre si elles sont toutes deux positives. Par exemple, pour la famille 74HC sous (, , , ), et .

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) ;
  • examiner les chemins conducteurs qui partent du nœud de sortie :
  • un chemin fermé vers la masse et aucun vers : sortie ; un chemin fermé vers et aucun vers la masse : sortie ;
  • si la sortie est reliée à par une résistance de rappel (ou à la masse, pour une résistance de rappel vers le bas), c'est le réseau d'interrupteurs qui l'emporte quand il conduit, et la résistance qui fixe le niveau quand il est ouvert ;
  • aucun chemin ni résistance : la sortie est en l'air, son niveau n'est pas défini ; un chemin fermé à la fois vers et vers la masse : court-circuit de l'alimentation. Une porte correcte n'a ni l'un ni l'autre, sur aucune ligne ;
  • lire la colonne de sortie : elle identifie la porte réalisée (ou montre qu'il ne s'agit d'aucune porte usuelle).

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). On lit ainsi un réseau série-parallèle par blocs.

ImportantCapacités exigibles du programme

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. Les lois de De Morgan sont un acquis du programme d'informatique de MP2I-MPI (qui note , , ce que l'on note ici , et la barre) ; la simplification systématique des expressions est un complément.

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é     
Associativité     
Distributivité     
Absorption     

L'associativité donne un sens aux expressions et sans parenthèses : c'est elle qui définit les portes à entrées et qui permet d'étendre les lois de De Morgan à variables.

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. Le résultat pour NOR s'obtient de la même façon, en échangeant les rôles de et : , et .

Ce n'est pas l'universalité qui fait préférer NAND et NOR dans les circuits intégrés, mais la structure des montages : une association d'interrupteurs reliée à une résistance de rappel, ou à un réseau complémentaire, réalise naturellement une fonction inverseuse (voir les exercices résolus) ; une porte AND s'obtient en ajoutant un inverseur à une NAND, ce qui coûte un étage et un délai de plus.

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), appelée forme normale disjonctive complète en informatique, qui vaut exactement sur les lignes voulues ;
  • simplifier par l'algèbre de Boole pour réduire le nombre de portes (d'autres méthodes, comme les tableaux de Karnaugh, existent mais ne sont pas présentées ici) ;
  • traduire l'expression simplifiée en portes (éventuellement toutes en NAND par universalité).
iRemarqueStatut de la synthèse combinatoire

La synthèse d'un circuit à partir d'une table n'est pas une capacité du programme de physique. Le lien entre table de vérité et forme normale disjonctive complète (étapes 1 à 3, la « forme canonique en somme de produits ») est un acquis du programme d'informatique de MP2I-MPI ; la simplification (étape 4) est un complément.

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

Cette section est un complément : ni le demi-additionneur ni le multiplexeur ne figurent au programme. Le multiplexeur 2 vers 1 se rencontre pourtant naturellement comme association d'interrupteurs : un aiguillage commandé par relie la sortie à l'entrée si , à l'entrée si .

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.

Exercices du chapitre

La suite du cours · Tous les exercices du chapitre