circuits logiques notions fondamentales
Transcription
circuits logiques notions fondamentales
CIRCUITS LOGIQUES NOTIONS FONDAMENTALES Différence entre système analogique et logique • Analogique : les signaux sont décrits par des fonctions mathématiques continues • Logique : Chaque paramètre ne peut prendre que deux valeurs 0 ou 1 (vrai ou faux). C'est un système binaire Variable d'entrée binaire Variable de sortie binaire Exemple : Sécurisation du démarrage d'un véhicule Le véhicule ne peut démarrer que si un certain nombre de conditions sont remplies (celà suppose, bien entendu la présence de capteurs appropriés). Contacts électriques Ouverte = 0 Fermée = 1 Portière : P Ceinture : C Non Bouclée = 0 Bouclée = 1 Eteints = 0 Allumés = 1 Feux : F Photo-capteur Jour ou nuit : L Nuit = 0 Jour = 1 Conditions de sécurité La fonction D (démarrage) ne prendra la valeur 1 que si les conditions de sécurité sont remplies. D = f(P, C, F, L) 1 Nous pouvons exprimer la fonction D par un texte comportant des ET et des OU Le démarrage sera alors possible si: les portières sont fermées ET les ceintures de sécurité bouclées ET si les feux sont allumés ET qu'il fait nuit OU si les feux sont éteints ET qu'il fait jour Ce qui peut aussi s'écrire: D = 1 si P=1 et C=1 et ((F=1 et L=0) ou (F=0 et L=1)) Algèbre de Boole (détermination des fonctions logiques) La fonction OU (Union, réunion, addition ou somme logique, OR) ≠ somme algébrique Notation : + ou ∪ (que l'on prononce OU), f(x,y) = x+y X 0 0 1 1 Y 0 1 0 1 2 OU 0 1 1 1 Table de vérité de la fonction OU Vs = Ve si I1 ou I2 est fermé Vs = 0 si I1 et I2 sont ouverts Réalisation de la fonction OU avec des diodes: x s y La fonction ET (Intersection, produit logique, AND) ≠ produit algébrique Notation : • ou ∩ (que l'on prononce ET), f(x,y) = x•y X Y ET 0 0 0 0 1 0 1 0 0 1 1 1 Table de vérité de la fonction ET I1 I2 Ve Vs Vs = Ve si et seulement si I1 et I2 sont fermés Réalisation de la fonction ET avec des diodes 3 x s y +5V A côté des fonctions OU et ET il existe une autre fonction fondamentale: la fonction NON La fonction NON (négation, complément, inversion, NOT) Notation : f(x) = x (dire x barre) X = 0 NON X = 1 X = 1 NON X = 0 X 0 1 NON X 1 0 Table de vérité de la fonction NON La fonction NON ne peut pas être réalisée avec des diodes. Considérons un transistor et le diagramme de sortie Ic = f(Vce): 4 E RB RC IC E/Rc Saturation Blocage E VCE Cherchons alors la valeur de Rb pour laquelle le transistor est saturé. Pour ce faire on confond le point de saturation avec le point d'intersection de la droite de charge et de l'axe Ic. Pour Vce = 0 on a : Ic = E/Rc Donc : ßIb = E/Rc Ib = E/ßRc Par ailleurs : Rb.Ib + Vbe = E Si on néglige Vbe alors: Rb = ßRc Donc pour tout Rb tel que Rb ≤ ßRc on a Vce = 0 Dans ces conditions le transistor se comporte comme un interrupteur ouvert. 5 A l'inverse, si Ib = 0 c'est à dire si l'on déconnecte Rb de l'alimentation E, alors Ic = 0 et par conséquent Vce = E. On est au point de blocage. Le transistor se comporte alors comme un interrupteur fermé. Choisissons maintenant Rb ≤ ßRc et faisons le schéma suivant : E = 5V RC RB S = X (5V ou 0V) X = 0V ou 5V Lorsque X varie de 0 à 5 V le transistor passe de l'état bloqué (S = 5V) à l'état saturé (S = 0V). Extension des fonctions ET et OU Les fonctions ET et OU s'étendent à plus de deux variables X 0 0 0 0 1 1 1 1 Y 0 0 1 1 0 0 1 1 Z 0 1 0 1 0 1 0 1 ET 0 0 0 0 0 0 0 1 OU 0 1 1 1 1 1 1 1 Exemple de table de vérité pour 3 variables des fonctions ET et OU A partir des fonctions ET, OU et NON on peut définir n'importe quelle fonction aussi complexe soit elle. 6 Pour simplifier les montages d'autres fonctions ont été définies et existent précablées, ce sont : La fonction NI (NON OU, NOT OR, NOR) C'est la fonction OU inversée: f(X,Y)=X+Y X Y OU NOR 0 0 0 1 0 1 1 0 1 0 1 0 1 1 1 0 Table de vérité de la fonction NOR La fonction NON ET (NOT AND, NAND) C'est la fonction ET inversée : f(X,Y)= X.Y X Y ET NAND 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 Table de vérité de la fonction NAND 7 La fonction OU EXCLUSIF f(X,Y)= X⊗Y X 0 0 1 1 Y 0 1 0 1 OU EXCLUSIF 0 1 1 0 Toutes ces fonctions existent au catalogue des constructeurs. Cependant en général, lorsqu'il s'agit de systèmes complexes, la fonction que doit remplir le circuit est elle aussi complexe et n'existe généralement pas précablée. Cette fonction peut être: • soit totalement définie • soit incomplètement définie X 0 0 0 0 1 1 1 1 Y 0 0 1 1 0 0 1 1 Z 0 1 0 1 0 1 0 1 f(X,Y,Z) 0 0 1 0 1 1 0 0 Exemple de fonction complètement définie 8 X 0 0 0 0 1 1 1 1 Y 0 0 1 1 0 0 1 1 Z 0 1 0 1 0 1 0 1 f(X,Y,Z) 0 * 1 0 * 1 0 1 Exemple de fonction incomplètement définie. On note par * ces valeurs non définies peu importantes pour le fonctionnement du système (X = 1 ou 0 indifféremment) 9 Propriétés des opérateurs ET, OU et NON. Quelques identités remarquables sont à connaître: Fonctions Identités Commentaires X=X X+0 =X X•0 =0 X+1 =1 X•1 =X X+X=X X•X=X X+X=1 X.X=0 X+X=1 2 variables X + Y = Y + X X•Y =Y•X 3 variables X+Y+Z=(X+Y)+Z = X+(Y+Z) X•Y•Z= (X•Y)•Z = X•(Y•Z) 3 variables X•(Y+Z) = X•Y + X•Z X+ (Y•Z) = (X+Y)•(X+Z) 1 variable COMMUTATIVITE ASSOCIATIVITE DISTRIBUTIVITE Il existe d'autre part des théorèmes généraux qui permettent la manipulation des fonctions logiques: Théorème de De Morgan X+Y+Z+....=X.Y.Z.... X.Y.Z....=X+Y+Z+... Théorème de Shannon f(X,Y,Z,+,.)=f(X,Y,Z,.,+) f(X,Y,Z,+,•) = f(X,Y,Z,•,+) Ces théorèmes sont à manipuler avec précaution Exemple : Soit à calculer f =X+Y.Z 10 On posera A=Y.Z Ce qui donne : X+ A=X.A=X.Y.Z=X.(Y+Z)=X.Y+ X.Z Dans la suite nous oublierons parfois le symbole produit • 11 Une fonction quelconque peut s'exprimer avec les seuls opérateurs ET, OU et NON. Le problème est donc de trouver la bonne combinaison. Nous allons distinguer deux manières 1 - ECRITURE CANONIQUE 2 - METHODE DE KARNAUGH 1 - ECRITURE CANONIQUE Cela peut se faire en utilisant des fonctions produits ou des fonctions sommes. Nous allons traiter cette méthode dans le cas de trois variables X, Y et Z, ce qui nous donne 8 combinaisons possibles. a) Fonctions produits Pour chacune des 8 combinaisons possibles on définit une fonction Pi égale au ET des variables X ou X, Y ou Y et Z ou Z. On a donc 8 fonctions Pi qui sont : P0 = X.Y.Z, P1 = X.Y.Z, P2 = X.Y.Z, P3 = X.Y.Z, P4 = X.Y.Z, P5 = X.Y.Z, P6 = X.Y.Z, P7 = X.Y.Z On obtient alors le tableau suivant : P0 P1 P2 P3 P4 P5 F X Y Z X.Y.Z X.Y.Z X.Y.Z X.Y.Z X.Y.Z X.Y.Z 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 1 0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 La fonction F est donc définie comme : F = P1 ou P3 ou P4 12 P6 P7 X.Y.Z X.Y.Z 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 =P1+P3+P4=X.Y.Z+X.Y.Z+X.Y.Z = Somme canonique des produits b) Fonctions sommes Pour chacune des 8 combinaisons possibles on définit une fonction Si égale au OU des variables X ou X, Y ou Y et Z ou Z. On a donc 8 fonctions Si qui sont : S0 = X+Y+ Z, S1 = X+Y+ Z, S2 = X+Y+ Z, S3 = X+Y+ Z, S4 = X+Y+ Z, S5 = X+Y+ Z, S6 = X+Y+ Z, S7 = X+Y+ Z De la même manière que pour les fonctions produits on dresse un tableau de toutes les combinaisons possibles S0 F 0 1 0 1 1 0 0 0 X 0 0 0 0 1 1 1 1 Y 0 0 1 1 0 0 1 1 Z 0 1 0 1 0 1 0 1 S1 S2 S3 S4 S5 S6 S7 X +Y + Z X +Y + Z X +Y + Z X + Y + Z X + Y + Z X + Y + Z X + Y + Z X + Y + Z 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 Ainsi la fonction F est maintenant définie comme : F = S0 ET S2 ET S5 ET S6 ET S7 = (X+Y+Z) (X+Y+Z) (X+Y+Z) (X+Y+Z) (X+Y+Z) = Produit canonique des sommes C'est en général la première forme canonique (somme des produits) qui est la plus utilisée. Cependant le résultat n'est pas sous la forme la plus simple. Il faut donc simplifier l'expression de la fonction. 13 La simplification à l'aide de l'algèbre de Boole est en général malaisée car elle suppose des astuces de calcul. Exemple : Soit à simplifier : F = X.Y.Z + X.Y.Z +X.Y.Z +X.Y.Z Il faut alors remarquer que X.Y.Z + X.Y.Z + X.Y.Z = X.Y.Z On peut alors écrtire : F = (X.Y.Z +X.Y.Z)+ (X.Y.Z+X.Y.Z) +(X.Y.Z +X.Y.Z) et en faisant une mise en facteur : F = Y.Z (X +X) + X.Z (Y + Y) + X.Y (Z + Z) = Y.Z + X.Z + X.Y Plutôt que d'utiliser les formes canoniques on utilise en général la méthode de Karnaugh. 1 - METHODE DE KARNAUGH Cette méthode est basée sur l'utilisation de l'identité remarquable a.X + a.X = a Il s'agit d'une méthode graphique qui consiste à mettre en évidence tous les termes produits d'une fonction qui ne diffèrent que par l'état d'une seule variable. On appelle ces termes les termes adjacents. Par exemple, dans le cas de 4 variables les deux produits X.Y.Z.T et X.Y.Z.T sont adjacents. Comme dans le cas de la première forme canonique on fait la somme des produits en regroupant les termes adjacents. L'utilisation de l'identité remarquable ci-dessus permet alors d'éliminer un produit ainsi qu'une variable (ici la variable T). Donc X.Y.Z.T + X.Y.Z.T=X.Y.Z La méthode utilise des tableaux dont le nombre de cases correspond au nombre total des combinaisons produits de toutes les variables d'entrée. 14 a) Exemples 2 variables (22 cases) 0 1 X 0 1 Y 3 variables (23 cases) 00 01 11 10 XY 0 1 Z Il faut noter que l'on ne change q'une seule variable en passant d'une case à la suivante. 4 variables (24 cases) 00 01 11 10 XY 00 01 11 10 ZT Si l'on a plus de 4 variables on juxtapose alors des tableaux de 4 variables Comment passe-t-on de la table de vérité définissant la fonction au tableau de Karnaugh ? 15 b) Passage au tableau de Karnaugh Le passage est très simple. Il consiste à écrire des 1 dans les cases du tableau de Karnaugh qui correspondent aux combinaisons où la fonction vaut 1. Dans toutes les autres cases on mettra des 0. Pour mieux comprendre réalisons un exemple d'une fonction de 4 variables. Soit la table de vérité de la fonction, F, suivante: X 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Y 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 Z 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 T 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 F 1 0 1 0 0 1 0 0 1 1 1 1 0 1 0 0 On remplit le tableau de Karnaugh de la manière suivante: 00 01 11 10 00 01 11 10 XY 1 0 0 1 0 1 1 1 0 0 0 1 1 0 0 1 ZT 16 On procède ensuite de la manière suivante : a) on réalise les groupements de termes adjacents égaux à 1. Attention on ne peut les grouper q'en un multiple de 2. On essaie d'avoir le minimum de groupements. Les mêmes termes peuvent participer à plusieurs groupements (car x + x + x = x) 2. Dans un groupement de deux termes on élimine la variable qui a changé d'état. On ne conserve alors que le produit des variables qui n'ont pas changé 3. idem pour les groupement de 4 termes ou de 8 termes. 4. L'expression logique finale de la fonction F est la réunion (OU) des groupements après l'élimination des variables qui avaient changé d'état. Dans le cas de l'exemple précédent les groupements sont les suivants: 00 01 11 10 00 01 11 10 XY 1 0 0 1 0 1 1 1 0 0 0 1 1 0 0 1 ZT Les termes en jaune donnent : X .Y.T Les termes en rouge donnent : Y.Z.T Les termes en violet donnent : X.Y La fonction F est donc définie comme : F = X.Y.T + Y.Z.T + X.Y 17 SYMBOLES GRAPHIQUES DES FONCTIONS LOGIQUES x NON, NOT x a ET, AND b a OU, OR b ab a+b a NON ET, NAND ab b a NON OU, NOR a+b b SEPARATEUR, BUFFER OU EXCLUSIF, XOR x x a a⊕ ⊕b b 18 LES DIFFERENTES FACONS DE REPRESENTER LES NOMBRES Différentes bases possibles: Base 2 Base 8 Base 10 Base 16 BCD (Décimal codé binaire) Exemple : Soit le nombre 1253 en base 10 105 104 103 1 102 2 101 5 100 3 En base 2 il s'écrira ; 212 211 210 1 29 0 28 0 27 1 26 1 25 1 24 1 23 1 22 1 21 0 20 1 Chaque colonne est représentée par une donnée (0 ou 1) appelée bit En base 2 les nombres seront codés sur un certain nombre de bits On a ainsi le codage sur 4 bits qui correspond aux nombres de 0 à 15 le codage sur 8 bits qui correspond aux nombres de 0 à 255 le codage sur 12 bits qui correspond aux nombres de 0 à 4095 19 le codage sur 16 bits qui correspond aux nombres de 0 à 65535 le codage sur 32 bits qui correspond aux nombres de 0 à 4294967294 Les ordinateurs actuels travaillent sur des combinaisons élevées (16, 32, 64 bit). On voit bien qu'en base 2 on ne pourra pas représenter tous les nombres et que la précision dépendra du nombre de bit utilisés pour représenter l'information. Par ailleurs, il n'y a pas que les nombres à représenter. Il y a aussi toutes sortes de caractères , alphabet, symboles de calculs divers (+,-,x, ÷, ...) , signes de ponctuation (, ; : ! ? .....)ainsi que des caractères dits de service. Il existe un certain nombre de codes mais il en est un qui est très utilisé, c'est le code ASCII (= CCITT N° 5) qui est un code à 7 bits. chiffre 1 chiffre 9 • • lettre e signe + • • b6 b5 b4 b3 b2 b1 b0 1 1 0 0 0 0 1 1 1 0 1 0 0 1 0 0 1 1 1 0 1 1 0 1 1 0 0 1 Un des problèmes qui se pose souvent est le changement de code. Nous allons indiquer la procédure en utilisant l'exemple de la conversion de binaire en BCD. Le BCD est un code qui permet de gérer les afficheurs. 20 Décimal Binaire BCD b3 b2 b1 b0 d7 d6 d5 d4 d3 d2 d1 d0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 2 0 0 1 0 0 0 0 0 0 0 1 0 3 0 0 1 1 0 0 0 0 0 0 1 1 4 0 1 0 0 0 0 0 0 0 1 0 0 5 0 1 0 1 0 0 0 0 0 1 0 1 6 0 1 1 0 0 0 0 0 0 1 1 0 7 0 1 1 1 0 0 0 0 0 1 1 1 8 1 0 0 0 0 0 0 0 1 0 0 0 9 1 0 0 1 0 0 0 0 1 0 0 1 10 1 0 1 0 0 0 0 1 0 0 0 0 11 1 0 1 1 0 0 0 1 0 0 0 1 12 1 1 0 0 0 0 0 1 0 0 1 0 13 1 1 0 1 0 0 0 1 0 0 1 1 14 1 1 1 0 0 0 0 1 0 1 0 0 15 1 1 1 1 0 0 0 1 0 1 0 1 Pour résoudre ce changement de code (transcodage) nous allons utiliser la méthode de Karnaugh. Dans ce système les variables sont les colonnes b0 à b3 et chaque colonne d0 à d7 est une fonction qu'il faut évaluer. La fonction qui correspond à la colonne d0 est évidente puisqu'elle correspond à la colonne b0. Evaluons maintenant la colonne d1: 00 01 11 10 00 01 11 10 b3b2 0 0 1 0 0 0 1 0 1 1 0 0 1 1 0 0 b1b0 21 d1 = b1 b 3 + b1 b2 b 3 b3 b1 d1 b2 Schéma de cablage de la fonction d1 De même: d 2 = b 2 b 3 + b1 b 2 d 3 = b1 b 2 b 3 d 4 = b 2 b3 + b1 b 3 • • • 22 OPERATIONS ARITHMETIQUES A - Représentation des nombres A1 - Nombres entiers non signés On représente alors les nombre sur un cetain nombre de bits Par exemple sur 3 bits: Décimal Binaire 0 0 0 0 1 0 0 1 2 0 1 0 3 0 1 1 4 1 0 0 5 1 0 1 6 1 1 0 7 1 1 1 On voit tout de suite que pour représenter un grand nombre entier on aura besoin d'un très grand nombre de bits A2 - Nombre signés : ± N Il va falloir attibuer 1 bit pour le signe. Le nombre signé sera donc sous la forme: 1 bit de signe + n bits pour la valeur absolue du nombre à représenter Exemple d'un nombre signé repésenté sur 3 bits On choisit comme convention : • Signe + valeur 0 • Signe - valeur 1 23 Signe Binaire 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Décimal +0 +1 +2 +3 -0 -1 -2 -3 On s'aperçoit tout de suite d'un problème de taille. Il existe deux valeurs pour représenter 0 ! Comment s'en sortir ? Nous allons voir que le complément à 2 permet de résoudre ce problème. Nous allons tout d'abord définir ce que sont les compléments. i - complément à 1 d'un nombre binaire Soit A un nombre de n bits, ai A s'écrit: A = an-1 an-2 ....a1 a0 Le complément à 1 de A est le nombre A' tel que : A' + A = 2n - 1 Cela équivaut donc pour trouver le nombre A' à inverser tous les bits du nombre A. A' = a n−1 a n −2 ......a1 a 0 On peut le vérifier aisément: 24 A →→ a n−1a n− 2 .......a 1a 0 + A' →→ a n−1 a n −2 ......a1 a 0 1 1 .... 1 1 ii - Complément à 2 d'un nombre binaire Soit A un nombre de n bits, le complément à 2, A" de A est tel que: A + A" = 2n Comme l'on avait: A' + A = 2n - 1, alors A" = A' + 1 Ce que l'on vérifie aisément : A →→ a n−1a n− 2 .......a 1a 0 + A' →→ a n−1 a n −2 ......a1 a 0 + 1 = 2n 0 0 .... 0 0 Donc A + A" = 0 à 2n près. Ceci indique que A" est l'opposé de A A3 - Représentation des nombres en complément à 2 Comme dans le cas précédent nous allons représenter sur 3 bits Complément à2 Signe Binaire 0 0 0 0 0 1 0 1 0 0 1 1 1 1 1 1 1 0 1 0 1 1 0 0 25 Décimal +0 +1 +2 +3 -1 -2 -3 -4 Vérification : +1 +1 est représenté par: Son inverse (complément à 2) est: -1 001 111 (c.à.d. 110 + 1) +2 +2 est représenté par: Son inverse (complément à 2) est: -2 010 110 (c.à.d. 101 + 1) Ce qui est important c'est que le 0 n'a plus qu'une seule représentation. A4 - Représentation d'un nombre fractionnaire Le nombre sera représenté par n bits qui seront partagés en: • n1 bits pour la partie entière • n2 bits pour la partie fractionnaire • 1 bit pour le signe • Exemples: a) Signe 0 Entière 1 1 0 Fract. 1 0 S 22 21 20 2-1 2-2 0 1 1 0 1 0 ⇓ ⇓ ⇓ ⇓ + 6 0,5 Le résultat est donc + 6,5 26 b) Soit à trouver Signe 1 Entière 1 1 1 Fract. 0 1 Le bit de signe étant égal à 1 il s'agit d'un nombre négatif. Afin de trouver sa valeur absolue je cherche son opposé c'est à dire que je calcule son complément à 2. C'est: 000011 S 22 21 20 2-1 2-2 0 0 0 0 1 1 ⇓ ⇓ ⇓ ⇓ + 0 0,75 Le nombre recherché est donc - 0,75. Exemple d'additions et de soustractions en utilisant le complément à 2 Je veux additionner 2 et 3. Ce sont deux nombre positifs qui s'écrivent: 2 ⇒ 3 ⇒ 5 ⇐ S 0 0 0 Nombre 010 011 101 Je veux soustraire 3 de 2 (2 - 3). Cela revient à ajouter le nombre négatif -3 au nombre positif + 2. 2 ⇒ -3 ⇒ -1 ⇐ S 0 1 1 Nombre 010 101 111 Compl. à 2 de +3 Le résultat, 1111 est bien le complément à 2 de +1. 27 REALISATION ELECTRIQUE DES FONCTIONS LOGIQUES Les fonctions logiques, comme nous l'avons déjà vu, peuvent être réalisées avec des résistances, des diodes et/ou des transistors. +5V S E1 E2 +5V Diode-Transistor logic (DTL) E1 E2 S Transistor-Transistor logic (TTL) 28 Si elle est réalisée en éléments discrets, une porte logique a une taille de plusieurs centimètres carrés. En 1965, sont apparus les premiers circuits intégrés. Il s'agit de boitiers qui comportent un certain nombre de broches. Les boitiers les plus courants comportent 14, 16, 18, 20, 24, 28, 40 broches disposées en deux rangées parallèles. Un boitier 14 broches (très courant) mesure 20 x 8 mm2. Ces boitiers comportent un certain nombre de portes logiques. Exemple : Le 7400 (quatre portes NAND) + Vcc 14 8 1 7 Masse Repère Série standard Type de boitier } } } Famille Usage professionnel } } SN 74 LS 00 N N° du boitier dans la famille ici ce sont des NAND 29 On classe les circuits selon leur densité d'intégration. C'est donc quelquechose qui a évolué avec le temps. Ce sont : SSI Small Scale Integration (quelques portes par boitier) MSI Medium Scale Integration (quelques dizaines de portes) LSI Large Scale Integration VLSI Very Large Scale Integration (100 à 1000 portes) (> 1000 portes) Les familles de Circuits Intégrés La famille TTL Pendant longtemps la plus développée. Elle cosntitue un standard. Ses caractéristique s moyennes sont : • retard ~ 10 ns par porte • consommation ~ 10 mW Il existe un certain nombre de sous-familles (la ou les lettres au milieu de la dénomination du boitier: Famille TTL TTL TTL TTL Sous-famille Utilisation Retard/porte Conso/porte H Rapide 6 22 L Low power 33 1 S Schottky 3 19 LS Low power 10 2 Schottky 30 La famille ECL (Emitter Coupled Logic) Les transistors ne travaillent pas dans le régime bloqué-saturé. Ils travaillent dans le régime linéaire. C'est une logique extrêmement rapide (≤ 1 ns) mais elle pose de gros problèmes d'interconnexions. La famille MOS (Metal Oxyde Semiconductor) Du fait de la petite taille des transistors l'échelle d'intégration est extrêmement élevée. La consommation est aussi très faible. Elle est cependant un peu plus lente que la TTL la plus rapide. La famille CMOS (Complementary MOS) On retrouve beaucoup des circuits de la TTL. Avantage du MOS: faible consommation et vitesse très proche de la TTL-LS. Dans toute la suite du cours on ne s'intéressera qu'à la famille TTL Les circuits TTL sont alimentés sous 5 Volt. Convention logique Il s'agit de la concordance entre potentiels et états logiques. 2 possibilités 0V 0 logique 5V 1 logique 0V 1 logique 5V 0 logique Logique positive Logique négative 31 Différents types de portes Portes à sortie collecteur ouvert: +5V E1 E2 S Porte NAND à collecteur ouvert Ce type de porte peut servir à différentes fonctions: Commande d'une charge externe + V 5V (potentiel de charge) Etage de sortie de la porte 32 Le potentiel de charge peut être soit le potentiel d'alimentation (5V) soit une tension plus élevée (≤ 30V). Un courant assez important peut être débité (~ 40-100 mA). Fonction ET cablée On connecte toutes les sorties entre elles et l'on met en commun le circuit de charge. a bloqué saturé bloqué saturé b bloqué bloqué saturé saturé Sortie Vcc 0 0 0 C'est équivalent à la transmission d'une information parmi n. + V 5V (potentiel de charge) S a Etage de sortie de la porte 1 b Etage de sortie de la porte 2 Réalisation d'une fonction ET cablée 33 Porte à sortie 3 états Ces portes permettent de réunir les circuits par leurs sorties. Les 3 états sont : • état 1 basse impédance • état 0 basse impédance haute impédance • état déconnecté A Y C Utilisation Pour rentrer et sortir des données sur une même ligne A Vers circuit Y C Y C 34 A Portes à entrées trigger de Schmitt Signal d'entrée Zone de basculement de l'état 1 vers l'état 0 Signal d'entrée Zone de basculement de l'état 1 vers l'état 0 Zone de basculement de l'état 0 vers l'état 1 Signal de sortie Signal de sortie Cas d'un inverseur classique Cas d'un inverseur trigger de Schmitt Représentation des portes trigger de Schmitt 35 LES SYSTEMES LOGIQUES 1 - Systèmes combinatoires On ne regarde que les états des sorties à l'équilibre, c'est à dire indépendamment du temps. On s'arrange simplement pour que les données aient le temps de se propager à travers les portes. L'état des sorties ne dépend que de l'état des entrées. 2 - Systèmes séquentiels Le fonctionnement dépend du temps. L'état final qui est stable dépend de l'ordre dans lequel les signaux sont appliqués. 3 - Les fonctions combinatoires usuelles Nous n'allons étudier que la fonctionnalité des circuits 3.1 La comparaison (ex : 74LS85) B3 B2 B1 B0 A>B 5 A=B 6 A<B 7 A<BIN 1 14 11 9 85 A>BIN A3 A2 A1 A0 A=BIN 15 13 12 10 4 3 2 Résultats Entrées de cascadage Ce circuit peut être utilisé seul ou associé avec d'autres boitiers identiques pour comparer des mots de plus de 4 bits. Dans le cas ou le boitier est isolé (c'est à dire que l'on ne compare que des mots de 4 bits) les entrées de cascadage doivent être connectées comme suit : Entrée A<B à 0, Entrée A>B à 0 et entrée A=B à 1 36 Exemple de comparaison de deux mots de 8 bits Bits de poids faibles B A>BIN A<BIN B3 B2 B1 B0 A>B 5 A=B 6 A<B 7 4 3 2 15 13 12 10 A3 A2 A1 A0 1 14 11 9 B3 B2 B1 B0 } Sortie comparée de A et de B 85 A>B 5 A=B 6 A<B 7 A<BIN } } A 1 14 11 9 85 A=BIN B A3 A2 A1 A0 A>BIN Bits de poids forts 15 13 12 10 A=BIN } } A 4 3 2 +5V 3.2 - Décodeur binaire Entrées d’adressage Entrées de validation } } Entrées Validation Adresse G1 G2A+G C B A 2B x 1 1 1 1 1 1 1 1 1 1 x 0 0 0 0 0 0 0 0 x x 0 0 0 0 1 1 1 1 x x 0 0 1 1 0 0 1 1 x x 0 1 0 1 0 1 0 1 Y0 Y1 Y2 Y3 138 Y4 5 Y5 4 G2B G2A Y6 6 G1 Y7 1 2 A B 3 C 15 14 13 12 11 10 9 7 } Sorties Sorties Y0 1 1 0 1 1 1 1 1 1 1 Y1 1 1 1 0 1 1 1 1 1 1 Y2 1 1 1 1 0 1 1 1 1 1 Y3 1 1 1 1 1 0 1 1 1 1 37 Y4 1 1 1 1 1 1 0 1 1 1 Y5 1 1 1 1 1 1 1 0 1 1 Y6 1 1 1 1 1 1 1 1 0 1 Y7 1 1 1 1 1 1 1 1 1 0 3.3 Décodage BCD - 7 segments a b c d e f g Rb0 Afficheur 7 segments 7 A 1 B 2 C 6 D } BCD 3 5 4 Effacement des entrées LT RBI BI/RBO A B C D E F G 13 12 11 10 9 15 14 } Commande des segments 247 Effacement des sorties 3.4 Multiplexage But: aiguiller n bits d'information sur 1 bit Exemple: le 74LS151 Validation Entrées { Adresse { 7 12 13 14 15 1 2 3 4 EN 7 6 5 4 3 2 1 0 151 Y W 9 C 10 B 11 A 38 5 6 { Sorties Entrées Adresse C B A * * * 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Val S 1 0 0 0 0 0 0 0 0 Sorties Y W 0 1 d0 d0 d1 d1 d2 d2 d3 d3 d4 d4 d5 d5 d6 d6 d7 d7 3.5 Démultiplexage C'est l'opération inverse du multiplexage. On peut utiliser le circuit décodeur binaire 74LS138. Adresse { G1 Y7 G2A Y6 5 G2B Y5 138 Y4 3 C Y3 2 B Y2 1 A Y1 Y0 7 9 10 11 12 13 14 15 { Entrée 46 Sorties L'information présente sur G1 sera transmise à une des sorties Yi, l'indice i étant défini par le mot de trois bits ABC. Ex: ABC = 000 l'information présente en G1 sera transmise en Y0. 3.6 Additionneur (ex: 74LS82; additionneur 2 bits) Entrée A { Entrée B { Retenue entrante 13 B1 3 14 B0 A1 2 A0 5 Cin 82 12 1 1 0 Cout 10 39 { Sortie A+B Retenue sortante 3.7 Multiplieur Commande d’arrondi{ { Nombres signés ou non Multiplicande B7 B6 B5 B4 B3 B2 B1 B0 { { Validation Y15 Y14 Y13 Y12 Y11 Y10 Y9 Y8 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 { Multiplicateur A7 A6 A5 A4 A3 A2 A1 A0 Sorties 3.8 Bloc de calcul arithmétique et logique 382 A B { { A3 A2 A1 A0 F3 F2 F1 F0 { { B3 B2 B1 B0 Résultat de l’opération Débordement et retenue sortante { Co S0 S1S2 Code de fonction S2 S1 S0 Opération 0 0 0 F = 0000 0 0 1 F=B-A 0 1 0 F=A-B 0 1 1 F=A+B 1 0 0 F=A∪B 1 0 1 F=A⊕B 1 1 0 F=A∩B 1 1 1 F = 1111 40 Opérateurs arithmétiques Opérateurs logiques LES FONCTIONS SEQUENTIELLES SIMPLES Il existe 4 fonctions de base a) Le bistable b) La bascule c) Le monostable d) L'astable (ou multivibrateur ou oscillateur) • Le bistable: De manière générale un bistable est caractérisé par deux états de sortie stables (0 et 1) qui sont commandables à partir des entrées. • Le bistable RS Entrées { Mise à 1 Mise à 0 S Q R Q { Sorties Le fonctionnement se décrit par une table de vérité qui présente la particularité d'avoir en entrée non seulement les variables d'entrée R et S mais aussi la fonction Q. cette table donnela nouvelle valeur de la sortie Q+ à partir des valeurs de R, S et Q. S Q R Q Q+ Cas 0 : R = S = Q = 0 Q+ = S +Q = 0 +0 = 1 Q+ = Q+ + R = 1 +0 = 0 41 Si un bistable RS se trouve dans l'état 0, il conserve cet état si les entrées R et S sont maintenues à 0 Cas 1 : R = S = 0 Q = 1 Q+ = S +Q = 0 +1 = 0 Q+ = Q+ + R = 0 +0 = 1 Si un bistable RS se trouve dans l'état 1 il conserve cet état si les entrées R et S sont maintenues à 0. Les cas O et 1 sont les cas de maintien. Cas 2 : R = 0 S = 1 Q= 0 Q+ = S +Q = 1 +0 = 0 Q+ = Q+ + R = 0 +0 = 1 Si un bistable RS est dans l'état 0, il passera à l'état 1 si on applique 1 sur l'entrée S. Etc … Le fonctionnement du bistable RS est résumé dans le tableau suivant: Cas n° 0 1 2 3 4 5 6 7 R 0 0 0 0 1 1 1 1 S 0 0 1 1 0 0 1 1 Q 0 1 0 1 0 1 0 1 Q+ 0 1 1 1 0 0 * * Commentaires Maintien Maintien Mise à 1 Mise à 1 Mise à 0 Mise à 0 Non exploité Non exploité Fonctionnement dynamique du bistable RS 42 S Q R Q Q+ S R tPLH ~ 30 ns Q tPHL1 Q tPLH1 tPLH2 tPHL2 tPLH ~ 30 ns Remarque : Le bistable RS peut aussi être réalisé avec des pôrtes NAND. • Le bistable D Comme dans le cas du bistable RS il y a deux entrées et deux sorties. Dans le cas du bistable D les entrées sont appelées D (pour data) et CK (pour clock) et les sorties Q et Q. 43 Données Horloge D { Sorties Q Ck Q D Q CK Q D 0 0 0 0 1 1 1 1 CK 0 0 1 1 0 0 1 1 Q 0 1 0 1 0 1 0 1 Q+ 0 1 0 0 0 1 1 1 Table de vérité du bistable D S R Q tPLH tPHL 44 Problème de l'utilisation du bistable D Soit par exemple le circuit suivant : Réseau combinatoire d’entrée D Q D Ck Q Q Ck Q Réseau combinatoire d’entrée Ce système ne peut pas marcher correctement. En effet, pendant le temps où l'horloge est à 1, ce qui est en D passe en Q ce qui implique que le réseau combinatoire d'entrée va calculer de nouvelles fonctions. Pour que ça marche il faut remplacer le bistable par un circuit qui n'est actif que pendant un temps très court (flanc montant ou descendant de l'horloge, par exemple). Ces circuits portent le nom de BASCULES 45 • Les bascules Il existe 3 types de bascules: • la bascule RS (n'est pas employée seule) • la bascule JK • la bascule D • La bascule JK Preset Mise à 1 (synchrone) Horloge (agit sur le flanc montant) Mise à 0 (synchrone) S/ J Q C K R/ Q { Sorties Preset Mise à 1 (asynchrone) (asynchrone) (synchrone) S/ J Q C K R/ Q Horloge (agit sur le flanc descendant) Mise à 0 Clear (synchrone) (asynchrone) Preset Clear Clock J Mode 0 1 * * 1 0 * * asynchrone 0 0 * * 1 1 0 Mode 1 1 0 1 1 1 synchrone 1 1 1 1 1 * 46 K * * * 0 1 0 1 * { Sorties Clear (asynchrone) Q + Q + Remarque 1 0 Mise à 1 0 1 Mise à 0 1 1 Instable Q Q Maintien 0 1 Mise à 0 1 0 Mise à 1 Q Q Commutation Q Q maintien Clear Preset Q Q Mode asynchrone Horloge J K Q Commutation Maintien Mise à 0 Mise à 1 Mode synchrone • La bascule D 47 Preset (mise à 1) Donnée Horloge D S { Q CRQ Sorties Clear (mise à 0) Preset Clear CK Mode 0 1 * 1 0 * Asynchrone 0 0 * Mode 1 1 1 1 Synchrone 1 1 0 ou 1 D * * * 0 1 * Q+ 1 0 1 0 1 Q Q+ 0 1 1 1 0 Q Remarques Mise à 1 Mise à 0 Instable Mise à 0 Mise à 1 Maintien Table de vérité de la bascule D D Horloge Q Diagramme de fonctionnement de la bascule D Le boitier 74LS74 contient 2 bascules D. 48 3.Le monostable 123 Entrées { +5V 2 B 1 A 3 CLR 14 CX 15 R/C 10 B 9 A 11 CLR 6 CX 7 R/C Entrées Clear A 0 * * 1 * * 1 0 1 0 Q Q Q Q 13 4 5 12 B * * 0 { { { Sorties Sorties Q Q 0 1 0 1 0 1 1 1 Table de vérité du monostable • L'astable ou le multivibrateur ou l'oscillateur Ce circuit fournit un signal périodique de durée d et de période T. d/T s'appelle le rapport cyclique. On peut réaliser des astables à partir de : e) Un inverseur trigger de Schmitt R 49 b) Deux monostables 1 0 123 +5V 2 B 1 A 3 CLR 14 CX 15 R/C 10 B 9 A 11 CLR 6 CX 7 R/C Q 13 Q 4 Q 5 Q 12 Le premier monostable excite le second qui lui même excite le premier. c) Une chaîne d'inverseurs rebouclés avec un quartz d) Des boitiers oscillateurs: 74LS326, 555 50 FONCTIONS SEQUENTIELLES COMPLEXES Une fonction séquentielle complexe doit gérer plusieurs éléments d'information à la fois. On donne le nom de registre à l'ensemble des opérations requises pour effectuer la fonction. En général un registre comporte: • Un groupe de bascules alimentées par une horloge, • Un réseau combinatoire d'entrée (il sert à élaborer les commandes d'excitation des bascules), • Un réseau combinatoire de sortie (il donnel'état de sortie du registre à partir de l'état des bascules et des commandes de sortie). Informations d’entrée Commande des entrées Réseau d’entrée Commande des bascules Horloge Bascules Sortie des bascules Commande des sorties Réseau de sortie Sorties 51 Le fonctionnement du registre se décrit par une table de vérité qui comporte: • En entrée • • • • • Etat ancien des bascules Information d'entrée Commande d'entrée Commande de sortie Horloge • En sortie • Etat futur des bascules • Etat de sortie du registre Les registres peuvent avoir différentes fonctions: • Fonction de mémorisation • Fonction de comptage • Fonction de décalage. 52 LES COMPTEURS +5V D S Q D CRQ S Q D CRQ S Q D CRQ S Q CRQ 1 0 X Y Z Exemple de compteur binaire 4 bits Horloge X Y Z T 53 T