La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

©Pierre Marchand, 2001 111 Objectifs : À la fin de cette unité, vous comprendrez le fonctionnement des principaux éléments d'un ordinateur : décaleur,

Présentations similaires


Présentation au sujet: "©Pierre Marchand, 2001 111 Objectifs : À la fin de cette unité, vous comprendrez le fonctionnement des principaux éléments d'un ordinateur : décaleur,"— Transcription de la présentation:

1 ©Pierre Marchand, 2001 111 Objectifs : À la fin de cette unité, vous comprendrez le fonctionnement des principaux éléments d'un ordinateur : décaleur, additionneur, unité logique et arithmétique. Pour y arriver, vous devrez avoir atteint les objectifs suivants : -décrire le fonctionnement et les propriétés des portes logiques, de circuits combinatoires simples tels que le décodeur, le multiplexeur et le démultiplexeur; -utiliser les théorèmes et les identités de l'algèbre de Boole pour synthétiser un circuit à partir de sa table de vérité et simplifier le résultat obtenu. Unité 4: Logique combinatoire

2 ©Pierre Marchand, 2001 112 Digital Works Pour mieux profiter des unités 4 à 6, nous vous encourageons à utiliser le logiciel Digital Works, disponible gratuitement à ladresse : http://www.mecanique.co.uk/digital-works/ Le logiciel est également disponible dans les laboratoires 3910 et 3966. Ce logiciel permet non seulement de dessiner les circuits, mais égale- ment de les faire fonctionner. Vous trouverez sur le site du cours à la page : http://www.ift.ulaval.ca/~marchand/ift17583/Exemples/Exemples2.html des fichiers implantant pratiquement tous les circuits du cours ainsi que quelques autres.

3 ©Pierre Marchand, 2001 113 5.1 Notion de circuit logique Fonctions logiques Une fonction logique est une fonction qui agit sur une ou plusieurs variables logiques. Une variable logique est une variable qui peut prendre lune de deux valeurs : vrai ou faux, 1 ou 0. Unité 4: Logique combinatoire

4 ©Pierre Marchand, 2001 114 5.1 Notion de circuits logiques Les circuits logiques sont des circuits électroniques servant à effectuer physiquement des fonctions logiques. Circuits combinatoires Les signaux de sortie ne dépendent que des signaux dentrée présents. Circuits séquentiels Circuits dans lesquels les signaux de sortie dépendent des signaux dentrée appliqués antérieurement en plus des signaux dentrée présents. Unité 4: Logique combinatoire

5 ©Pierre Marchand, 2001 115 5.2 Circuits combinatoires 5.2.1 Algèbre booléenne Georges Boole, en 1847, a défini une algèbre qui sapplique à des fonctions logiques de variables logiques. Nous verrons que toute fonction logique peut être réalisée à laide dun petit nombre de fonctions logiques de base aussi appelées opérateurs logiques ou portes (gates). La fonction logique dun circuit combinatoire peut se définir par le tableau de correspondance entre les états dentrée et les états de sortie. Un tel tableau est appelé table de vérité. Unité 4: Logique combinatoire

6 ©Pierre Marchand, 2001 116 5.2 Circuits logiques 5.2.1 Algèbre booléenne La table de vérité dune fonction de n variables a autant de lignes que détats dentrée possibles, soit 2 n. Pour chacun de ces états, la sortie peut prendre la valeur 0 ou 1. Donc, pour n variables, on a fonctions possibles. Unité 4: Logique combinatoire

7 ©Pierre Marchand, 2001 117 5.2 Circuits logiques 5.2.2 Fonctions dune variable Soit a une variable logique. On a quatre fonctions possibles : aZ 0 Z 1 Z 2 Z 3 00011 10101 Z 0 = 0 : constante Z 1 = a: identité Z 2 = a : complément Z 3 = 1 : constante La seule fonction non triviale est le complément, quon réalise au moyen de lopérateur NON ou inverseur Z = a. Unité 4: Logique combinatoire

8 ©Pierre Marchand, 2001 118 5.2 Circuits logiques 5.2.2 Fonctions dune variable Lopérateur NON ou inverseur Table de vérité :a 01 10 Unité 4: Logique combinatoire aa

9 ©Pierre Marchand, 2001 119 5.2 Circuits logiques 5.2.3 Fonctions de deux variables Il y a 16 fonctions possibles de deux variables 00011011ab 0000F 0 = 0Constante 0 0001F 1 = a.bFonction ET 0010F 2 = a.b 0011F 3 = a 0100F 4 = a.b 0101F 5 = b 0110F 6 = a bFonction XOR 0111F 7 = a+bFonction OU Unité 4: Logique combinatoire

10 ©Pierre Marchand, 2001 120 5.2 Circuits logiques 5.2.3 Fonctions de deux variables 00011011ab 1000F 8 = a+b = a.bFonction NOR 1001F 9 = a bFonction égalité 1010F 10 = b 1011F 11 = a+b 1100F 12 = a 1101F 13 = a+b 1110F 14 = a.b = a + bFonction NAND 1111F 15 = 1Constante 1 Unité 4: Logique combinatoire

11 ©Pierre Marchand, 2001 121 5.2 Circuits logiques 5.2.3Fonctions de deux variables Fonction ET (AND) Table de vérité aba.b 000 010 100 111 Unité 4: Logique combinatoire ET abab a.b 0100010101000101 a b

12 ©Pierre Marchand, 2001 122 5.2 Circuits logiques 5.2.3Fonctions de deux variables Fonction OU (OR) Table de vérité aba+b 000 011 101 111 Unité 4: Logique combinatoire OU abab a+b 0100111101001111 a b

13 ©Pierre Marchand, 2001 123 5.2 Circuits logiques 5.2.3 Fonctions de deux variables Application. Masquage dun registre : Avec des portes ET, on peut mettre des bits à 0 de façon sélective. Avec des portes OU, on pourrait mettre des bits à 1 de façon sélective. Unité 4: Logique combinatoire 1 1 0 1 1 1 0 0 Masque Registre 0 0 1 1 1 1 1 1 0 0 1 1 1 0 0 0

14 ©Pierre Marchand, 2001 124 5.2 Circuits logiques 5.2.3 Fonctions de deux variables On peut généraliser les fonctions logiques à trois variables ou davantage : Unité 4: Logique combinatoire abca+b+c 0000 0011 0101 0111 1001 1011 1101 1111 abca.b.c 0000 0010 0100 0110 1000 1010 1100 1111

15 ©Pierre Marchand, 2001 125 5.2 Circuits logiques 5.2.3 Fonctions de deux variables Théorèmes fondamentaux de lalgèbre de Boole Identitésa + 0 = aa. 0 = 0 a + 1 = 1a. 1 = a Commutativitéa + b = b + aa. b = b. a Distributivitéa+(b.c) = (a+b).(a+c)a.(b+c) = a.b + a.c Associativitéa+(b+c) = (a+b)+c = a+b+ca.(b.c) = (a.b).c = a.b.c Idempotencea + a = aa. a = a Complémentationa + a = 1a. a = 0 De Morgana.b = a + ba + b = a. b Autresa = a Absorptiona + (a. b) = aa.(a + b) = a a + (a. b) = a + b(a + b).(a + b) = a Unité 4: Logique combinatoire

16 ©Pierre Marchand, 2001 126 5.2 Circuits logiques 5.2.3Fonctions de deux variables La fonction XOR (OU-exclusif ou OU-disjonctif) ou fonction inégalité Table de vérité aba b 000 011 101 110 Unité 4: Logique combinatoire abab a b 0100111001001110 a b

17 ©Pierre Marchand, 2001 127 5.2 Circuits logiques 5.2.3Fonctions de deux variables La fonction XOR. Propriétés : a b = a.b + a.b a 0 = a a a = 0 a 1 = a a a = 1 a b = b a (a b) c = a (b c) Réalisation : Unité 4: Logique combinatoire b a a b

18 ©Pierre Marchand, 2001 128 5.2 Circuits logiques 5.2.3Fonctions de deux variables Minterm Un minterm est le produit logique de toutes les variables dentrée apparaissant chacune sous la forme vraie (si la variable vaut 1) ou sous la forme complémentée (si la variable vaut 0). Ainsi, dans la table de vérité suivante, il y a quatre minterms : aba b 000a. b 011a. b 101a. b 110a. b Unité 4: Logique combinatoire

19 ©Pierre Marchand, 2001 129 5.2 Circuits logiques 5.2.3Fonctions de deux variables Maxterm Un maxterm est la somme logique de toutes les variables dentrée apparaissant chacune sous la forme vraie (si la variable vaut 0) ou sous la forme complémentée (si la variable vaut 1). Ainsi, dans la table de vérité suivante, il y a quatre maxterms : aba b 000a + b 011a + b 101a + b 110a + b Unité 4: Logique combinatoire

20 ©Pierre Marchand, 2001 130 5.2 Circuits logiques 5.2.3Fonctions de deux variables Théorème Un circuit logique peut être représenté par la somme logique de tous les minterms pour lesquels la sortie est 1 ou par le produit logique de tous les maxterms pour lesquels la sortie est 0. Exemple : Le XOR peut être exprimé par a b = a.b + a.b ou a b = (a + b).(a + b) Unité 4: Logique combinatoire

21 ©Pierre Marchand, 2001 131 5.2 Circuits logiques 5.2.3 Fonctions de deux variables Les fonctions NAND et NOR Le théorème précédent montre que tout circuit logique peut être réalisé avec trois types de portes : ET, OU et NON. On peut aussi les réaliser avec un seul type de porte si on utilise les portes complètes NAND ou NOR. NANDNOR Unité 4: Logique combinatoire 0101111001011110 a b a.ba.b abab a.ba.b 0101010001010100 a b a+ba+b a+ba+b abab

22 ©Pierre Marchand, 2001 132 5.2 Circuits logiques 5.2.3 Fonctions de deux variables Les fonctions NAND et NOR En effet : a.b = a.b = a+b et a+b = a+b = a.b Aussi, puisque a.a = a et a+a = a Unité 4: Logique combinatoire = = = = a a

23 ©Pierre Marchand, 2001 133 5.2 Circuits logiques 5.2.4 Synthèse dun circuit combinatoire Pour effectuer la synthèse dun circuit combinatoire, on part de sa table de vérité. On en extrait les minterms des valeurs pour lesquelles la fonction est vraie (1) et on réalise cette fonction en faisant la somme logique de ces minterms, ou encore, on en extrait les maxterms des valeurs pour lesquelles la fonction est fausse (0) et on réalise cette fonction en faisant le produit logique de ces maxterms. Cette réalisation nest pas toujours optimale. On aura donc la plupart du temps à simplifier les expressions au moyen de lalgèbre booléenne. Unité 4: Logique combinatoire

24 ©Pierre Marchand, 2001 134 5.2 Circuits logiques 5.2.4Synthèse dun circuit combinatoire Exemple : soit la table de vérité suivante : abcfminterms 0000 0011a.b.c 0100 0110 1000 1011a.b.c 1101a.b.c 1111a.b.c f = a.b.c + a.b.c + a.b.c + a.b.c Unité 4: Logique combinatoire

25 ©Pierre Marchand, 2001 135 5.2 Circuits logiques 5.2.4Synthèse dun circuit combinatoire Simplification f = (a + a).b.c + a.b.(c + c) = b.c + a.b Circuit Unité 4: Logique combinatoire a b c f

26 ©Pierre Marchand, 2001 136 5.2 Circuits logiques 5.2.4Synthèse dun circuit combinatoire Simplification La simplification des équations logiques au moyen de lalgèbre booléenne nest pas toujours simple, et on ne sait pas toujours si on a atteint une solution optimale. Les tables de Karnaugh permettent de systématiser ce processus. Unité 4: Logique combinatoire

27 ©Pierre Marchand, 2001 137 5.2 Circuits logiques 5.2.4Synthèse dun circuit combinatoire Tables de Karnaugh abcf 0000 0011 0100 0111 1000 1010 1101 1111Donc f = a.b + a.c Unité 4: Logique combinatoire 00 0 1 01 0 1 11 1 1 10 0 0 ab c 0 1 a.b a.c

28 ©Pierre Marchand, 2001 138 5.2 Circuits logiques 5.2.4Synthèse dun circuit combinatoire Chaque boucle doit être rectangulaire et doit contenir le maximum possible de 1 qui soit une puissance de 2 : 1, 2, 4, 8, 16, etc. et ne contenir aucun 0. La boucle est caractérisée par les combinaisons qui sont vraies pour tous les éléments de la boucle. Les recouvrements sont possibles. Unité 4: Logique combinatoire 00011110 000000 010110 110111 101000 ab cd b.d a.b.c 00 0 0 01 1 1 11 1 1 10 1 0 ab c 0 1 b a.c a.b.c.d

29 ©Pierre Marchand, 2001 139 5.2 Circuits logiques 5.2.4Synthèse dun circuit combinatoire Les boucles peuvent «faire le tour» de la table abcf 0000 0011 0100 0110 1000 1011 1100 1110Donc f = b.c Unité 4: Logique combinatoire 00 0 1 01 0 0 11 0 0 10 0 1 ab c 0 1 b.c

30 ©Pierre Marchand, 2001 140 5.2 Circuits logiques 5.2.4Synthèse dun circuit combinatoire Les boucles peuvent «faire le tour» de la table Unité 4: Logique combinatoire ab cd b.d 00011110 001001 010000 110000 101001 ab cd b.d 00011110 000110 011001 111001 100110 b.d

31 ©Pierre Marchand, 2001 141 5.2 Circuits logiques 5.2.4Synthèse dun circuit combinatoire États indifférents Dans certains cas, la sortie pour un état dentrée donné est indifférente, soit parce que cet état dentrée ne peut jamais se produire, soit parce que la sortie correspondante ne nous inté- resse pas. On inscrit alors un x dans la table de Karnaugh. On peut sen servir pour minimiser le circuit comme si cétaient des 1. Unité 4: Logique combinatoire ab cd 00011110 000000 010000 111xxx 10x01x a.b + a.c au lieu de a.b.c.d + a.b.c.d

32 ©Pierre Marchand, 2001 142 5.2 Circuits logiques 5.2.4Synthèse dun circuit combinatoire Synthèse dun demi-additionneur binaire Table de vérité du demi-additionneur (qui ne tient pas compte dune retenue antérieure) a bSRR = a.b 0000S = a.b + a.b = a b 0110a.b 1010a.b 1101a.b Unité 4: Logique combinatoire a b S R

33 ©Pierre Marchand, 2001 143 5.2 Circuits logiques 5.2.4Synthèse dun circuit combinatoire Synthèse dun additionneur binaire de 1 bit Table de vérité de ladditionneur 1 bit a bRSRR = a.b.R + a.b.R + a.b.R + a.b.R 00000S = a.b.R + a.b.R + a.b.R + a.b.R 00110On simplifie : 01010R = (a.b + a.b).R + a.b 01101R = (a b).R + a.b 10010S = (a.b + a.b).R + (a.b + a.b).R 10101S = (a b).R + (a b).R 11001S = (a b) R 11111 Unité 4: Logique combinatoire

34 ©Pierre Marchand, 2001 144 5.2 Circuits logiques 5.2.4Synthèse dun circuit combinatoire Synthèse dun additionneur binaire Réalisation au moyen de 2 demi-additionneurs Réalisation complète dun additionneur 1 bit Unité 4: Logique combinatoire a b S R a b S R S R a b R a.b a b a b R (a b)R R R a b S a b a b R a.b

35 ©Pierre Marchand, 2001 145 5.2 Circuits logiques 5.2.4 Synthèse dun circuit combinatoire Additionneur à plusieurs bits Unité 4: Logique combinatoire a b R R S A 0 B 0 a b R R S A 1 B 1 a b R R S A 2 B 2 a b R R S A 3 B 3 S3S3 S2S2 S1S1 S0S0 0 Additionneur 1 bit

36 ©Pierre Marchand, 2001 146 5.2 Circuits logiques 5.2.4 Synthèse dun circuit combinatoire Additionneur/soustracteur 4 bits Unité 4: Logique combinatoire a b R R S A0A0 a b R R S A1A1 a b R R S A2A2 a b R R S A3A3 S3S3 S2S2 S1S1 S0S0 Additionneur 1 bit B0B0 B1B1 B2B2 B3B3 1 = soustraction 0 = addition

37 ©Pierre Marchand, 2001 147 5.2 Circuits logiques 5.2.6 Multiplexeurs et démultiplexeurs Démultiplexeur 4 bits ou 1 vers 4 Ce circuit est utile pour choisir la destination dun signal. Unité 4: Logique combinatoire a b x a.b.x

38 ©Pierre Marchand, 2001 148 5.2 Circuits logiques 5.2.6 Multiplexeurs et démultiplexeurs Multiplexeur 2 bits ou 2 vers 1 Ce circuit est utile pour choisir la source dun signal. Unité 4: Logique combinatoire S a b S.a S.b z z = S.a + S.b

39 ©Pierre Marchand, 2001 149 5.2 Circuits logiques 5.2.6Multiplexeurs et démultiplexeurs Multiplexeur 4 bits ou 4 vers 1 Unité 4: Logique combinatoire a b x0x0 x1x1 x2x2 x3x3 a.b.x 0 a.b.x 3 a.b.x 1 a.b.x 2 z

40 ©Pierre Marchand, 2001 150 5.2 Circuits logiques 5.2.6 Multiplexeurs et démultiplexeurs Décaleur de 1 bit vers la gauche Unité 4: Logique combinatoire a b S z 0D0D0 S0S0 a b S z D0D0 D1D1 S1S1 a b S z D1D1 D2D2 S2S2 a b S z D2D2 D3D3 S3S3 a b S z D3D3 D4D4 S4S4 a b S z D4D4 D5D5 S5S5 a b S z D5D5 D6D6 S6S6 a b S z D6D6 D7D7 S7S7 C

41 ©Pierre Marchand, 2001 151 5.2 Circuits logiques 5.2.6 Multiplexeurs et démultiplexeurs Décaleur à barillet Unité 4: Logique combinatoire D 0 -D 31 S 0 -S 31 Décaleur 1 bit Décaleur 2 bits Décaleur 4 bits Décaleur 8 bits S S S S 1 0 1 1 Nb. de décalages Registre de commande

42 ©Pierre Marchand, 2001 152 5.2 Circuits logiques 5.2.6Multiplexeurs et démultiplexeurs Utilisation dun multiplexeur pour réaliser nimporte quelle fonction logique. Exemple : Table de vérité abcf 0001 0010 0100 0110 1001 1011 1100 1111 Unité 4: Logique combinatoire MUX f c01cc01c a b 01230123

43 ©Pierre Marchand, 2001 153 5.2 Circuits logiques 5.2.7Décodeurs, codeurs, transcodeurs Codeur : code en binaire le numéro de la ligne activée. Unité 4: Logique combinatoire 0 1 2 3 4 5 6 7 8 9 S1S1 S2S2 S4S4 S8S8

44 ©Pierre Marchand, 2001 154 5.2 Circuits logiques 5.2.7 Décodeurs, codeurs, transcodeurs Décodeur 3 vers 8 Unité 4: Logique combinatoire ccbbaa 0 1 2 3 4 5 6 7 Une seule sortie à la fois est 0 et est choisie par le code abc. a.b.c = 4

45 ©Pierre Marchand, 2001 155 5.2 Circuits logiques 5.2.7Décodeurs, codeurs, transcodeurs Transcodeur BCD-excédent-3 Table de vérité: Unité 4: Logique combinatoire ABCDXYZTI000000110000101000001001010001101100010001110010110000011010010011110100100010110100111000ABCDXYZTI000000110000101000001001010001101100010001110010110000011010010011110100100010110100111000 ABCDXYZTI1010xxxx11011xxxx11100xxxx11101xxxx11110xxxx11111xxxx1ABCDXYZTI1010xxxx11011xxxx11100xxxx11101xxxx11110xxxx11111xxxx1

46 ©Pierre Marchand, 2001 156 5.2 Circuits logiques 5.2.7Décodeurs, codeurs, transcodeurs Transcodeur BCD-excédent-3 Unité 4: Logique combinatoire 00011110 001010 011010 11xxxx 1010xx Z 00011110 000111 011000 11xxxx 1001xx Y 00011110 000000 010111 11xxxx 1011xx X 00011110 000000 010000 111111 100011 I AB CD AB CD AB CD AB CD AB CD T = D Z = CD + CD = C D Y = BCD+BC +BD X = A + BC +BD I = AB + AC 00011110 001001 011001 11xxxx 1010xx T

47 ©Pierre Marchand, 2001 157 5.2 Circuits logiques UAL élémentaire Unité 4: Logique combinatoire Additionneur Décodeur 2-4 ABRABR SRSR ABRF0F1ABRF0F1 01230123 R A.B A+B B ABAB Sortie Unité logique Unité arithmétique Unité de commande

48 ©Pierre Marchand, 2001 158 5.2 Circuits logiques Logique à trois états Il faut souvent appliquer à un même fil la sortie de lune ou lautre dun ensemble de sorties. Pour éviter linterférence entre les différents circuits, par exemple une sortie qui tenterait dappliquer 1 à une ligne alors quune autre sortie tenterait dy appliquer 0, on utilise la logique trois états, dans laquelle la sortie peut être 0, 1, ou haute impédance (comme si elle nétat pas connectée). On ajoute une entrée Output Enable (OE) à chaque circuit et on nen active quun à la fois. Unité 4: Logique combinatoire OE =

49 ©Pierre Marchand, 2001 159 5.2 Circuits logiques Logique programmable Les circuits de logique programmable PLA (Programmable Logic Array), PLD (Programmable Logic Devices), EPLD (Eraseble PLD), etc. sont basés sur le fait que toute fonction logique peut être exprimée comme une somme de minterms. Le circuit contient un réseau de portes logiques ET à n variables, et un réseau de portes logiques OU, suivi, le cas échéant, dune couche de bistables. Des appareils spécialisés permettent la programmation du réseau. Unité 4: Logique combinatoire

50 ©Pierre Marchand, 2001 160 5.2 Circuits logiques Logique programmable combinatoire Unité 4: Logique combinatoire I1I1 I2I2 InIn F0F0 F2F2 F0F0 F1F1 F2F2 F1F1 Les jonctions en rouge sont éliminées (brûlées) sélectivement lors de la programmation.

51 ©Pierre Marchand, 2001 161 5.2 Circuits logiques Logique avec ROM Il est possible de réaliser des circuits logiques au moyen de mémoires ROM (Read-Only Memory). Aucune simplification nest nécessaire. Les entrées de la table de vérité servent dadresse dans la ROM et le contenu de chaque adresse est la sortie désirée pour cette combinaison de variables dentrée, la sortie pouvant avoir un ou plusieurs bits. Unité 4: Logique combinatoire

52 ©Pierre Marchand, 2001 162 5.2 Circuits logiques Logique avec ROM Exemple : transcodeur binaire à code Gray Unité 4: Logique combinatoire ABCD 0000 0001 0010 0011 0100 0101 0110 0111 EFGH 0000 0001 0011 0010 0110 0111 0101 0100 ABCD 1000 1001 1010 1011 1100 1101 1110 1111 EFGH 1100 1101 1111 1110 1010 1011 1001 1000 A B C D ROM 16 x 4 E F G H Table de vérité

53 ©Pierre Marchand, 2001 163 Technologie des semiconducteurs Transistors Transistors bipolaires Unité 4: Logique combinatoire NPN PNP + - Transistors unipolaires (à effet de champ) MOSFET ou MOS, CMOS E B C S G D p-channel n-channel E B C S G D + -

54 ©Pierre Marchand, 2001 164 Technologie des semiconducteurs Inverseur TTLInverseur CMOS Unité 4: Logique combinatoire +5 V 5 k 10 k entrée sortie +5 V à +15 V entrée sortie

55 ©Pierre Marchand, 2001 165 Technologie des semiconducteurs NAND TTLNOR CMOS Unités 4 et 5 : Logique combinatoire A B +5 V A.B +5 V +5 V à +15 V sortie A B


Télécharger ppt "©Pierre Marchand, 2001 111 Objectifs : À la fin de cette unité, vous comprendrez le fonctionnement des principaux éléments d'un ordinateur : décaleur,"

Présentations similaires


Annonces Google