Apprendre › Chapitre 1
Portes logiques : NOT, AND, OR, NAND, NOR, XOR et XNOR
7 min de lecture · Équipe bitGateLab
Toute l'électronique numérique, du feu de circulation au processeur, se construit avec quelques blocs qui prennent des décisions à partir de zéros et de uns : les portes logiques. Vous allez découvrir ici les sept portes de base, la façon de les dessiner, leur écriture en algèbre de Boole et leur table de vérité. À la fin, vous verrez pourquoi un seul type de porte, NAND ou NOR, permet de construire toutes les autres.
Niveaux logiques : ce que signifient le 0 et le 1
Dans un circuit numérique, chaque signal ne peut se trouver que dans l'un de deux états. La tension basse (proche de 0 V) est appelée 0 logique ou faux, et la tension haute (proche de l'alimentation, par exemple 5 V ou 3.3 V) est appelée 1 logique ou vrai. Une porte reçoit une ou plusieurs entrées et fournit une sortie qui dépend uniquement de la valeur présente de ses entrées : elle ne garde rien en mémoire. C'est pourquoi on dit que les portes forment de la logique combinatoire.
La façon la plus complète de décrire une porte est sa table de vérité : la liste de toutes les combinaisons possibles des entrées, avec la sortie qui correspond à chacune. Avec n entrées, il y a 2n combinaisons : une porte à deux entrées a donc 4 lignes et une porte à trois entrées en a 8.
Les trois portes fondamentales
NOT (inverseur)
Elle n'a qu'une seule entrée et fournit le contraire : si 0 entre, 1 sort, et si 1 entre, 0 sort. On écrit Y = A (vous verrez aussi A' ou ¬A). Son symbole est un triangle avec un petit cercle à la pointe ; ce cercle est la marque universelle qui signifie « ici, on inverse ».
| A | Y = A |
|---|---|
| 0 | 1 |
| 1 | 0 |
AND (ET)
La sortie vaut 1 uniquement lorsque toutes les entrées valent 1. On l'écrit comme un produit : Y = A·B ou simplement Y = AB. Pensez à deux interrupteurs en série : la lampe ne s'allume que si les deux sont fermés.
OR (OU)
La sortie vaut 1 dès qu'au moins une entrée vaut 1. On l'écrit comme une somme : Y = A + B. Elle équivaut à deux interrupteurs en parallèle. Attention : en algèbre de Boole, 1 + 1 = 1, et non 2.
Portes dérivées : NAND, NOR, XOR et XNOR
NAND est une AND suivie d'un inverseur : Y = AB. Sa sortie vaut 0 uniquement lorsque toutes les entrées valent 1. NOR est une OR inversée : Y = A + B, et elle vaut 1 uniquement lorsque toutes les entrées valent 0. Dans leur symbole, toutes deux portent le petit cercle sur la sortie.
XOR (OU exclusif) vaut 1 lorsque les entrées sont différentes : Y = A ⊕ B = AB + AB. Avec plus de deux entrées, la XOR vaut 1 lorsque le nombre de uns est impair ; c'est pourquoi on l'utilise pour calculer les bits de parité. XNOR est son complément, Y = A ⊕ B = AB + A B, et vaut 1 lorsque les entrées sont égales : c'est un comparateur d'égalité à un bit.
Voici la table de vérité commune des six portes à deux entrées :
| A | B | AND | OR | NAND | NOR | XOR | XNOR |
|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 |
| 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 |
| 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 |
| 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 |
Exemple : évaluer un petit circuit. Calculez Y = (A + B) · C pour A = 0, B = 1, C = 1.
- OR : A + B = 0 + 1 = 1.
- Inversion : 1 = 0.
- AND avec C : 0 · 1 = 0.
Résultat : Y = 0. Avec A = 0, B = 0, C = 1, la OR donne 0, l'inverseur donne 1 et la AND donne 1, donc Y = 1.
NAND et NOR : des portes universelles
Une porte est universelle si des copies de cette seule porte suffisent à construire NOT, AND et OR, et donc n'importe quelle fonction logique. NAND et NOR possèdent cette propriété. La conséquence pratique est double : un fabricant peut produire un seul type de cellule et réaliser avec elle toute une conception, et vous pouvez câbler un circuit complet avec une seule puce de la famille 74HC (par exemple, le 74HC00 contient quatre NAND à deux entrées).
Tout avec des NAND
- NOT : reliez entre elles les deux entrées d'une NAND. Si A arrive sur les deux, A·A = A.
- AND : une NAND suivie d'une NAND utilisée en inverseur : AB = AB.
- OR : inversez chaque entrée avec une NAND et réunissez-les dans une troisième NAND : A·B = A + B (d'après De Morgan).
Tout avec des NOR
- NOT : reliez entre elles les entrées d'une NOR : A + A = A.
- OR : une NOR suivie d'une NOR montée en inverseur.
- AND : inversez chaque entrée avec une NOR et réunissez-les dans une autre NOR : A + B = AB.
Exemple : une XOR avec quatre NAND. Soit N1 = AB, N2 = A·N1, N3 = B·N1 et Y = N2·N3. Vérifiez les quatre cas :
| A | B | N1 | N2 | N3 | Y |
|---|---|---|---|---|---|
| 0 | 0 | 1 | 1 | 1 | 0 |
| 0 | 1 | 1 | 1 | 0 | 1 |
| 1 | 0 | 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 1 | 1 | 0 |
La colonne Y coïncide avec celle de la XOR. Quatre portes, une seule puce.
Erreurs fréquentes
- Penser que 1 + 1 = 2 dans une OR. En logique booléenne, la somme sature : 1 + 1 = 1.
- Confondre AB (NAND, une seule barre au-dessus de l'ensemble) avec A B (deux barres séparées, ce qui équivaut à une NOR). La longueur de la barre change le résultat.
- Croire qu'une XOR à trois entrées vaut 1 « quand une seule entrée vaut 1 ». En réalité, elle vaut 1 pour un nombre impair de uns, ce qui inclut le cas 1, 1, 1.
- Laisser des entrées non connectées sur une vraie puce CMOS. Une entrée flottante peut être lue comme un 0 ou comme un 1, au hasard ; reliez-la à la masse ou à l'alimentation.
Essayez dans le simulateur
La meilleure façon de mémoriser ces tables est de les produire vous-même. Dans l'éditeur de circuits, vous pouvez poser une porte, changer ses entrées et voir la sortie instantanément ; comparez ensuite avec la table de vérité que calcule l'outil.
- Placez deux entrées, une porte NAND et une sortie, puis reliez-les.
- Faites passer les entrées par les quatre combinaisons et notez la sortie dans chaque cas.
- Générez la table de vérité du circuit et comparez-la à celle de cet article.
- Réalisez la XOR à quatre NAND de l'exemple et vérifiez que sa table coïncide avec celle d'une XOR seule.
- Si vous voulez passer à la plaque d'essai virtuelle, placez une puce NAND de la famille 74HC, alimentez-la et observez la LED de sortie.
Exercices
- Écrivez la table de vérité de Y = A + B.
Réponse
Pour AB = 00, 01, 10, 11, la sortie vaut 1, 0, 1, 1. Elle ne vaut 0 que lorsque A = 0 et B = 1.
- Combien de lignes compte la table de vérité d'une AND à 4 entrées, et sur combien d'entre elles la sortie vaut-elle 1 ?
Réponse
24 = 16 lignes ; la sortie ne vaut 1 que sur une seule (1111).
- Déterminez la sortie d'une XOR à trois entrées avec A = 1, B = 1, C = 1.
Réponse
1 ⊕ 1 = 0 et 0 ⊕ 1 = 1. La sortie vaut 1, car il y a trois uns (nombre impair).
- Combien de portes NOR faut-il au minimum, avec cette méthode, pour former une AND à deux entrées ?
Réponse
Trois : deux NOR utilisées en inverseurs (une pour A, une pour B) et une troisième NOR qui reçoit A et B, dont la sortie vaut A + B = AB.
Pour transformer et simplifier des expressions avec ces portes, poursuivez avec l'algèbre de Boole.