thumb|Diagramme logique d'une conception d'additionneur binaire à retenue anticipée 4 bits utilisant seulement des portes logiques AND, OR et XOR.
Une porte logique (logic gate) est un circuit électronique numérique réalisant des opérations logiques (booléennes) sur une séquence de bits. Cette séquence est assez souvent donnée par un signal d'entrée modulé en créneau (signal carré), et cadencé de façon précise par un circuit d'horloge, ou quartz.
La principale façon de construire des portes logiques utilise des diodes ou des transistors agissant comme des commutateurs électroniques. Aujourd’hui, la plupart des portes logiques sont fabriquées à partir de MOSFET (transistors à effet de champ métal-oxyde-semi-conducteur) From Integrated circuit. Elles peuvent également être construites à l’aide de tubes à vide, de relais électromécaniques en logique de relais, en logique fluidique, pneumatique, optique, moléculaire, acoustique, ou encore à partir d’éléments mécaniques ou thermiques.
Les portes logiques peuvent être combinées pour réaliser des circuits logiques séquentiels utilisant des bascules ou des inverseurs..
Étant donné les capacités d'intégration en électronique, un circuit intégré comporte généralement plusieurs portes à la fois..
Désignation Une porte logique est désignée par l'opération logique qu'elle accomplit à partir des signaux d'entrée du circuit.
La négation logique est représentée par un triangle (symbole du transistor selon la convention américaine ANSI), puisqu'elle est réalisée par un simple transistor, monté en inverseur. On constate d'ailleurs que cette porte n'a qu'une seule entrée.
Les portes logique "et", "ou" et leurs dérivées ont au moins deux entrées.
+ Portes logiques usuelles Désignation(anglaise) Description Fonction logique Symbole ANSI Table de vérité NOT La valeur de la sortie est l’inverse de la valeur de l’entrée inverseur 100px bit d'entrée bit de sortie 0 1 1 0 AND La valeur de sortie est 1 si et seulement si toutes les valeurs d'entrée sont 1 Et logique 100px entrée A entrée B sortie 0 0 0 1 0 0 0 1 0 1 1 1 NAND Inverse de "AND" : la valeur de sortie est 0 si et seulement si toutes les valeurs d'entrée sont 1 négation du "et logique" 100px entrée A entrée B sortie 0 0 1 1 0 1 0 1 1 1 1 0 OR La valeur de sortie est 1 si et seulement si au moins une des valeurs d'entrée est 1 ou inclusif 100px entrée A entrée B sortie 0 0 0 1 0 1 0 1 1 1 1 1 NOR Inverse de "OR" : la valeur de sortie est 0 si et seulement si au moins une des valeurs d'entrée est 1 négation du "ou inclusif" 100px entrée A entrée B sortie 0 0 1 1 0 0 0 1 0 1 1 0 XOR La valeur de la sortie est 1 si et seulement si la valeur d’exactement une entrée est 1 ou exclusif 100px entrée A entrée B sortie 0 0 0 1 0 1 0 1 1 1 1 0 NXOR Inverse de "XOR" : La valeur de la sortie est 0 si et seulement si la valeur d’exactement une entrée est 1 négation du "ou exclusif" 100px entrée A entrée B sortie 0 0 1 1 0 0 0 1 0 1 1 1
Utilisation Les portes logiques sont constitutives des technologies numériques (par opposition aux technologies analogiques) : elles sont omniprésentes dans les ordinateurs, les filtres numériques, horloges et chronomètres numériques. Elles assurent une multitude de fonctions : unité arithmétique et logique, adressage et lecture de circuits de mémoire, conversion analogique-numérique et numérique-analogique, conversion DCB, décodage de codes Gray, etc.
Compteur vignette|Circuit compteur à base d'inverseurs et de portes NAND. Le circuit ci-contre est alimenté en courant par le générateur à courant continu en haut à gauche, cependant que la base de temps est donnée par le signal d'horloge (le générateur de créneaux en bas à gauche). Les circuits 74LS107D sont de simples inverseurs à base de diode Schottky : ils détectent chaque changement d'état (de 0 à 1, ou de 1 à 0) de leur entrée, et envoient un signal 1 chaque fois qu'un changement a lieu (fonction de trigger).
Le principe de l'afficheur numérique DCD_HEX en haut à droite est simple : en fonction du mot binaire codé sur quatre bits qu'il reçoit en entrée, il affiche la valeur décimale du nombre correspondant ( 0110 = 0x2³+1x2²+1x2+0x2⁰ = 6) en allumant les segments d'un afficheur sept segments.
Pour comprendre le fonctionnement du circuit ci-contre, il faut supposer les entrées initialement à 0 et cheminer de la gauche vers la droite du diagramme ; chaque émission d'un créneau par le générateur, produit une alternance de 0 à 1, puis de 1 à 0 qui déclenche un signal des circuits inverseurs ; avec les tables de vérité des portes du circuit, on peut ainsi déterminer l'état (0 ou 1) des quatre bits d'entrée du circuit afficheur le long de 4 créneaux émis en séquence.
Comparateur vignette|Réalisation d'un comparateur entre deux bits d'entrée. Le circuit comparateur ci-contre n'est guère plus difficile à comprendre : il suffit de construire la table de vérité des quatre sorties proposées en fonction des valeurs d'entrée (0 ou 1) de A et de B. La notation != signifie . (Attention dans l'image à droite la première ligne est A inférieur OU égal à B et la dernière est B inférieur OU égal à A, et pas strictement inférieur).
Unité arithmétique et logique vignette|Principe d'une unité arithmétique et logique sur 2 bits Ce circuit (UAL en abrégé) permet de réaliser les opérations arithmétiques en base 2. Il prend en entrée deux mots de 2 bits (les opérandes) : soit par exemple A et B. Le bit des unités (LSB) est noté A pour A, et B pour B ; l'autre bit (MSB) est codé A (resp. B).
Les entrées A et B sont envoyées sur les quatre portes logiques à gauche du diagramme : de haut en bas, on reconnaît les portes XOR, AND, OR et XOR. Cette dernière porte forme l'étage d'entrée d'un circuit additionneur.
Outre les entrées A et B, le circuit tient compte d'une éventuelle retenue résultant d'une opération précédente (CARRY IN). De même, si le circuit réalise une opération aboutissant à un débordement, il émet un bit de retenue en sortie (CARRY OUT). Dans la pile d'un microprocesseur, ces bits spéciaux sont stockés dans un registre d'état.
Chaque bit est finalement séquencé par un multiplexeur (les deux blocs rectangulaires à droite du diagramme) pour former le résultat. La nature de la fonction à réaliser est donnée par le signal OP (codé sur 3 bits par une unité de contrôle) :
OP = 000 → XOR OP = 001 → AND OP = 010 → OR OP = 011 → Addition
Il reste quatre entrées inutilisées dans le multiplexeur : on pourrait s'en servir pour coder d'autres fonctions simples (soustraction, inversion de A, inversion de B, etc.). De même, le bit OP est apparemment inutile dans le cas de ce circuit ; mais il serait nécessaire pour coder davantage d'opérations que les quatre indiquées.
Réalisation thumb| Circuit intégré TTµL-103 de Fairchild (1964) contenant deux portes NON-ET à quatre entrées en logique TTL Les premières portes logiques à semi-conducteurs (fin des années 1950) étaient réalisées en technologie DTL. Au début des années 1960, elles ont été réalisées par des circuits intégrés TTL, à base de transistors bipolaires saturés. Cette technologie donnait des circuits miniaturisés, et elle a perduré jusqu'à la fin des années 1970 en raison de sa robustesse (elle offrait le durcissement requis pour les systèmes embarqués et applications militaires) et de sa relative insensibilité à l'électricité statique ; néanmoins, les circuits intégrés à transistor à effet de champ à grille métal-oxyde (MOSFET) ( familles PMOS, NMOS, CMOS, HCMOS), quoique demandant davantage de précautions au câblage, réalisaient un niveau d'intégration encore bien supérieur aux TTL, et étaient plus économes en électricité : ils se sont imposés dès la fin des années 1960, en particulier pour les ordinateurs et leurs périphériques intelligents.
Notes
Voir aussi Articles connexes
Porte logique diode-transistor (DTL)
Catégorie:Circuit intégré logique