Cours No.4
Transcription
Cours No.4
INF1500 : Logique des systèmes numériques Cours 4: Tables de Karnaugh à 2, 3 et 4 variables Sylvain Martel - INF1500 1 Simplification d’expressions booléennes par les tables de Karnaugh Une table de Karnaugh est une façon compacte de représenter une table de vérité. Les tables de Karnaugh permettent de simplifier facilement et méthodiquement des expressions booléennes. On note : Chaque case de la table de Karnaugh correspond à une rangée de la table de vérité. Un ‘1’ placé dans une case de la table de Karnaugh correspond à un minterme de la fonction. Un ‘0’ placé dans une case de la table de Karnaugh correspond à un maxterme de la fonction. Deux mintermes ou maxtermes représentés par deux cases adjacentes ne diffèrent que par un seul bit. Sylvain Martel - INF1500 2 Simplification d’expressions booléennes par les tables de Karnaugh -Suite Le diagramme de Karnaugh est donc un outil graphique qui permet de simplifier de manière méthodique une équation logique ou le processus de passage d’une table de vérité à son circuit correspondant. En général, on utilise cette approche pour 6 variables ou moins. Sinon, on utilise un programme informatique. Simplifier permet de diminuer le matériel, les délais et la consommation Grâce au code Gray on va créer un diagramme (i.e. un tableau) dans lequel on va pouvoir analyser tous les regroupements permettant d’appliquer le théorème T10: X • Y + X • Y’ = X Sylvain Martel - INF1500 3 Encodage mécanique d’un disque avec code binaire 3 bits 111 000 110 001 0 0 1 101 010 100 011 Copyright © 2000 by Prentice Hall, Inc. Digital Design Principles and Practices, 3/e Sylvain Martel - INF1500 4 Encodage mécanique d’un disque avec code Gray 3 bits 100 000 101 001 0 0 1 111 011 110 010 Copyright © 2000 by Prentice Hall, Inc. Digital Design Principles and Practices, 3/e Sylvain Martel - INF1500 5 Code Gray et diagrammes de Karnaugh Copyright © 2000 by Prentice Hall, Inc. Digital Design Principles and Practices, 3/e YZ X X 0 Y 0 1 0 2 1 3 Z 0 1 Y (a) (b) (a) 2 variables 00 X XY 1 W WX 00 01 11 10 0 2 6 4 1 3 7 5 01 11 Y 10 Z Y (b) 3 variables Sylvain Martel - INF1500 (c) 00 01 11 10 0 4 12 8 1 5 13 9 3 7 15 11 2 6 14 10 Z X (c) 4 variables 6 Mapping de la fonction à optimiser sur le diagramme de Karnaugh (a) Attention à la numérotation W WX 00 01 YZ 00 01 11 Y 10 0 4 11 12 (b) 10 8 1 1 5 13 1 3 7 1 2 6 9 11 01 Z 11 1 14 0 00 X•Z 1 15 WX 00 YZ Y 10 10 1 X F = ΣW,X,Y,Z(5,7,12,13,14,15) Sylvain Martel - INF1500 Copyright © 2000 by Prentice Hall, Inc. 7 Digital Design Principles and Practices, 3/e F = X Tables de Karnaugh à 2 variables Sylvain Martel - INF1500 8 Tables de Karnaugh à 3 variables Il y a deux possibilités : forme horizontale ou verticale. Les deux formes sont équivalentes. Sylvain Martel - INF1500 9 F(A,B,C) = m1 + m2 +m3 + m6 = A’B’C + A’BC’ + A’BC + ABC’ F(A,B,C) = M0 M4 M5 M7 = (A+B+C) (A’+B+C) (A’+B+C’) (A’+B’+C’) Tables de Karnaugh à 3 variables Voici la forme verticale équivalente de la table de Karnaugh précédente à 3 variables. Sylvain Martel - INF1500 000 100 001 101 100 est 011 111 010 110 adjacent à 110 10 Représentation de termes sur la table de Karnaugh A=1 sur cette colonne 1 B=1 sur ces lignes 1 1 1 1 F1 = B C=0 sur ces lignes 1 1 F2 = BC’ Sylvain Martel - INF1500 1 F3 = AC’ 11 Table de Karnaugh à 4 variables Sylvain Martel - INF1500 12 Définitions Adjacence : deux cellules sont adjacentes si elles se touchent ou si elles sont à deux extrémités de la table (i.e. la cellule du haut et la cellule du bas d’une colonne sont adjacentes, et la cellule de gauche et la cellule de droite d’une rangée sont adjacentes aussi) Impliquant : un groupe de forme rectangulaire de 1, 2, 4, 8, 16, 32, 64, … 2k, k ∈ N, cellules adjacentes contenant des ‘1’. Impliquant primaire : impliquant ne pouvant pas être combiné avec un autre impliquant pour former un impliquant plus grand Impliquant primaire essentiel : si un minterme est couvert par un seul impliquant primaire, cet impliquant est qualifié d’essentiel. Il fera partie de la description minimale de la fonction. Sylvain Martel - INF1500 13 Procédure de simplification d’équations booléennes La procédure simplifiée est : Former des groupes (impliquants) contenant le plus de ‘1’ possible (puissances de 2 : 1, 2, 4, 8, 16, …) Trouver un nombre minimal d’impliquants couvrant tous les ‘1’ Sylvain Martel - INF1500 14 Règles de Karnaugh Faire des regroupements de « 1 » en groupe de 1, 2, 4, 8 ou 16. Commencer par les plus grands regroupements. Englober tous les 1 et aucun 0. Si le regroupement couvre un endroit où la variable passe de 0 à 1 ou de 1 à 0 alors cette variable ne fait pas partie du terme (minterm) correspondant. Les variables restantes d’un regroupement forme un minterm qu’on appelle aussi terme de 1er ordre (prime implicant) et l’ensemble des regroupements, i.e. F, forment une somme complete. Sylvain Martel - INF1500 15 Fonctions définies partiellement: valeurs sans importance Nous avons supposé que la valeur des fonctions logiques devait être spécifiée exactement pour chaque entrée possible. En pratique, ce n’est pas toujours nécessaire. Si une combinaison de variables d’entrée est impossible, alors on « se fiche » (don’t care) de la valeur que la fonction pourrait prendre dans ce cas. Cette valeur est sans importance, puisqu’on considère qu’elle ne peut survenir. On indique ces situations par un ‘X’ ou un tiret (-) dans la table de vérité et dans la table de Karnaugh de la fonction. Comme la combinaison d’entrées correspondant à un ‘-’ est impossible, on peut assigner la valeur ‘0’ ou ‘1’ à ce ‘-’, comme bon nous semble. Dans la table de Karnaugh, si ce ‘-’ permet de combiner un plus grand nombre de ‘1’ ensemble, on l’interprète comme un ‘1’. Sinon, on l’interprète comme un ‘0’. Sylvain Martel - INF1500 16 Karnaugh avec peu importe Copyright © 2000 by Prentice Hall, Inc. Digital Design Principles and Practices, 3/e N3 N3 N2 (a) 00 N1 N0 00 01 11 N1 10 0 (b) 01 4 11 12 10 1 5 1 3 13 1 8 7 1 2 15 1 6 9 d 14 1 d 11 N0 d N1 10 d N2′ • N1 N2 F = ΣN3,N2,N1,N0(1,2,3,5,7) + d(10,11,12,13,14,15) 01 11 00 N3′ • N0 d 00 N1 N0 d N3 N3 N2 10 N2 • N0 d 01 1 1 d 11 1 1 d d 10 1 d d N0 N2 F = N3′ • N0 + N2′ • N1 « Don’t care » Sylvain Martel - INF1500 17 Obtenir un produit de sommes au lieu d’une somme de produits Faire des regroupements de « 0 » en groupe de 1, 2, 4, 8 ou 16. Commencer par les plus grands regroupements. Englober tous les 0 et aucun 1. Si le regroupement couvre un endroit où la variable passe de 0 à 1 ou de 1 à 0 alors cette variable ne fait pas partie du terme (maxterm) correspondant. Les variables restantes d’un regroupement forme un maxterm qu’on appelle aussi terme de 1er ordre (prime implicant) et l’ensemble des regroupements, i.e. F, forment une somme complete. Sylvain Martel - INF1500 18 Exemples 0 0 0 0 1 1 0 0 0 1 1 0 1 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 1 0 0 0 F = B’ C + B D + A C F = A’B’D’ + A’C’ + A’BD + ACD Sylvain Martel - INF1500 19 Procédure Former des groupes contenant le plus de ‘1’ et de ‘X’ possible (impliquants primaire) (puissances de 2 : 1, 2, 4, 8, 16, …) Déterminer parmi ces groupes les impliquants essentiels Sans toucher aux impliquants essentiels, minimiser le nombre d’impliquants primaires qui couvrent les 1 restants Rappel: Impliquant primaire : impliquant ne pouvant pas être combiné avec un autre impliquant pour former un impliquant plus grand Impliquant primaire essentiel : si un minterme est couvert par un seul impliquant primaire, cet impliquant est qualifié d’essentiel. Il fera partie de la description minimale de la fonction. Sylvain Martel - INF1500 20 Exemples (a) W WX 00 01 YZ 00 01 11 Y 10 0 4 11 12 (b) 10 8 1 1 5 13 1 3 7 1 2 6 9 11 01 11 10 W•X 1 01 1 1 11 1 1 Z 1 14 W 00 X•Z 1 15 WX 00 YZ Z Y 10 10 1 1 X X F = ΣW,X,Y,Z(5,7,12,13,14,15) F = X•Z + W•X Copyright © 2000 by Prentice Hall, Inc. Digital Design Principles and Practices, 3/e Sylvain Martel - INF1500 21 Exemples Copyright © 2000 by Prentice Hall, Inc. Digital Design Principles and Practices, 3/e W WX (a) 00 YZ 00 01 11 Y 10 0 01 4 11 12 1 1 5 1 3 13 1 15 1 2 1 6 14 00 YZ 8 00 1 1 7 (b) 10 W WX 9 1 11 Z 1 01 1 11 1 01 11 10 1 1 1 1 1 1 1 X • Y′ W•Z Y′ • Z Z Y 10 10 1 1 X X F = ΣW,X,Y,Z(1,3,4,5,9,11,12,13,14,15) F = X • Y′ + X′ • Z + W • X Sylvain Martel - INF1500 X′ • Z W•X 22 Exemples W WX (a) 00 YZ 00 01 11 Y 10 0 01 4 11 12 (b) 10 5 13 1 8 3 7 1 2 15 1 6 1 9 1 1 14 11 00 YZ 1 1 W WX 01 11 00 1 01 1 1 1 10 W′ • X X•Z Z Z 1 11 1 1 10 1 1 1 Y 10 1 W′ • Y X F = ΣW,X,Y,Z(2,3,4,5,6,7,11,13,15) Y•Z X F = W′ • Y + W′ • X + X • Z + Y • Z Copyright © 2000 by Prentice Hall, Inc. Digital Design Principles and Practices, 3/e Sylvain Martel - INF1500 23 Exemples W WX (a) 00 YZ 00 01 11 Y 10 0 01 4 1 1 1 12 8 13 9 1 7 1 2 10 15 1 6 11 W′ • Y′ 1 00 1 1 01 1 1 11 10 00 YZ 01 11 01 Z 11 1 10 1 1 1 W′ X′ W•X•Y Z 1 Y 10 10 W′ • Z 00 Z 1 14 01 W WX (c) 00 YZ 1 5 3 11 W WX (b) 11 1 Y 1 10 X•Y•Z • X F = ΣW,X,Y,Z(0,1,2,3,4,5,7,14,15) X X F = W′ • Y′ + W′ • X′ + W • X • Y + W′ • Z Sylvain Martel - INF1500 24 Exemples - Méthode de branchement W WX (a) 00 YZ 00 01 11 Y 10 0 01 4 1 11 12 5 13 1 3 7 15 1 2 6 1 10 01 11 10 W WX (c) 00 YZ 8 00 YZ 00 01 11 10 W•X•Z 00 W • Y′ • Z 9 1 11 1 14 W WX (b) 10 01 F = ΣW,X,Y,Z(2,6,7,9,13,15) 1 Z 01 Z 11 1 11 1 1 Y 10 W′ • Y • Z′ Z 1 Y 1 X 1 1 1 X•Y•Z 10 W′ • X • Y X X F = W • Y′ • Z + W′ • Y • Z′ + X • Y • Z Copyright © 2000 by Prentice Hall, Inc. Digital Design Principles and Practices, 3/e Sylvain Martel - INF1500 25 Exemples WX 00 YZ (a) 00 01 11 Y 10 0 1 W 01 11 4 12 8 13 9 5 1 10 1 3 7 2 6 (b) 1 15 1 WX 00 YZ 11 1 1 14 10 W 01 01 1 1 (c) Z 11 1 1 Y 10 11 WX 00 YZ 10 X′ • Y′ • Z 1 1 X 00 01 1 Z W 01 10 00 X WX 00 YZ 11 1 (d) W 01 11 10 W′ • Y′ • Z 00 1 01 1 1 1 Z 11 1 1 Z 1 11 Y 1 1 1 Y 10 W•Y•Z 10 W • X′ • Z W′ • X • Z X F = W′ • X • Z + W • Y • Z + X′ • Y′ • Z Sylvain Martel - INF1500 X X•Y•Z F = X • Y • Z + W • X′ • Z + W′ • Y′ • Z 26 Hasards statiques temporels Un hasard statique-1 peut se présenter lorsqu’une combinaison d’entrées diffère de seulement une variable et que la sortie donne 1. Alors, la sortie peut basculer momentanément à 0. (a) (b) X ZP ZP XZP Z Z F YZ YZ Y XZP Copyright © 2000 by Prentice Hall, Inc. Digital Design Principles and Practices, 3/e Sylvain Martel - INF1500 F 1 0 1 0 1 0 1 0 1 0 27 Hasards statiques temporels - Suite Un hasard statique-0 peut se présenter lorsqu’une combinaison d’entrées diffère de seulement une variable et que la sortie donne 0. Alors, la sortie peut basculer momentanément à 1. (a) W X Z (b) 0 0 0→1 ZP 0 0 1→0 WXZP ZP 1→0 0→1 Y Z YZ 0→1 YZ F 0 0 1 YP 1 XP 1 WXZP XPYP F Copyright © 2000 by Prentice Hall, Inc. Digital Design Principles and Practices, 3/e Sylvain Martel - INF1500 1 0 1 0 1 0 1 0 1 0 28 Solution Les hasards statiques peuvent être éliminés en utilisant Karnaugh et en ajoutant des liens entres les regroupements non-liées. X (a) 00 Z 01 0 1 1 Y•Z X (b) XY 11 10 1 1 XY X • Z′ Z 1 1 Z Y•Z F = X • Z′ + Y • Z Z 01 0 Y X 00 1 11 10 1 1 X • Z′ 1 Z X•Y Y F = X • Z′ + Y • Z + X • Y XZP Copyright ©ZP 2000 by Prentice Hall, Inc. Digital Design Principles and Practices, 3/e YZ F Y XY Sylvain Martel - INF1500 Copyright © 2000 by Prentice Hall, Inc. Digital Design Principles and Practices, 3/e 29 Autre exemple X • Y′ • Z′ (a) W WX 00 YZ 00 W′ • Z 01 11 1 1 01 1 1 11 1 1 (b) 10 W WX 00 YZ 00 W′ • X • Y′ 01 11 1 1 01 1 1 11 1 1 10 Z 1 1 1 1 Z Y 1 1 1 1 Y 10 W Y • 10 Y•Z W • X • Z′ X X F = X • Y′ • Z′ + W′ • Z + W • Y F = X • Y′ • Z′ + W′ • Z + W • Y + W′ • X • Y′ + Y • Z + W • X • Z′ Sylvain Martel - INF1500 30 Hasards dynamiques – Solution: synchronisation Lorsqu’on a plus que deux niveaux de portes de base 0 W 0→1 X Y slow 0 slower 0→1 1→0 1→0 0→1→0 1→0 1→0 →1→0 F 1→0 1 1 Z 1 Sylvain Martel - INF1500 Copyright © 2000 by Prentice Hall, Inc. Digital Design Principles and Practices, 3/e 31 Exercices Exprimer chaque fonction sous forme d’une somme de produits et sous forme d’un produit de sommes et dessiner les circuits équivalents. Sylvain Martel - INF1500 32 Exercices Sylvain Martel - INF1500 33 Exercices Sylvain Martel - INF1500 34 Exercices Sylvain Martel - INF1500 35 Exercices - Tables de Karnaugh à 4 variables, fonctions définies partiellement Sylvain Martel - INF1500 36 Exercices - Tables de Karnaugh à 4 variables, fonctions définies partiellement - Suite Sylvain Martel - INF1500 37 Exercices - Tables de Karnaugh à 4 variables, fonctions définies partiellement - Suite Sylvain Martel - INF1500 38 Sylvain Martel - INF1500 39