1 Représentation de l`information 2 Formes canoniques
Transcription
1 Représentation de l`information 2 Formes canoniques
1ère session Année 2010-2011 Exercices de Logique Combinatoire EN 101 Camille LEROUX - Dominique Dallet Filière : TELECOM Année : 2012-2013 Semestre : 6 SUJET 1 Représentation de l’information Exercice 1 Nous désirons cadrer une position entre 0 et 15 cm avec une précision supérieure ou égale à 0.1 mm. 1. Quel est le nombre de bits nécessaires ? 2. Quelle est la précision obtenue finalement ? 3. Donner la relation entre la longueur en mm et le code binaire. 4. Quelle est la longueur décimale qui correspond au nombre 72C en hexadécimale ? 1. Il faut coder 15.10−2/0.1.10−3 = 1500 valeurs pour avoir une précision de 0.1mm. Notons que, 210 < 1500 < 211 . Pour avoir une précision d’AU MOINS 0.1 mm, il faut donc coder la longueur sur 11 bits. 2. Sur 11 bits, on peut coder 2048 valeurs, la précision obtenue est donc de δ = 15cm/2048 ≈ 0.073mm. 3. La longueur est obtenue en multipliant le pas de quantification δ (exprimé en mm) par le code binaire. (L)10 = (δ)10 × (N )2 4. La valeur héxadécimale 72C correspond à 011100101100 en binaire qui correspond elle même à la valeur (4+8+32+256+512+1024)=1836 en base 10. La longeur L vaut donc 1836 × 0.073mm ≈ 134mm. 2 Formes canoniques Exercice 1 Établir la table de vérité de la fonction suivante, puis l’écrire sous les deux formes canoniques : F = X + Y.Z + Y .Z.T 1 On dresse tout d’aborde la table de vérité: 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 F2 0 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 Table 1: Tableau de vérité de la fonction F . • Première forme canonique: somme de min-termes correspondant aux valeurs non-nulles de F : F = X.Y .Z.T + X.Y.Z.T + X.Y.Z.T + X.Y .Z.T + X.Y .Z.T + X.Y .Z.T + X.Y .Z.T + ... ...X.Y.Z.T + X.Y.Z.T + X.Y.Z.T + X.Y.Z.T • Deuxième forme canonique: produit de max-termes correspondant aux valeurs nulles de F : F = (X + Y + Z + T ).(X + Y + Z + T ).(X + Y + Z + T ).(X + Y + Z + T ).(X + Y + Z + T ). Exercice 2 Établir les tables de vérité des fonctions suivantes, puis les écrire sous les deux formes canoniques : 1. F1 = X.Y + Y.Z + X.Z 2. F2 = X + Y.Z + Y .Z.T 3. F3 = (X + Y )(X + Y + Z) 4. F4 = (X + Y + Z)(X + Y + Z)(X + Y + Z)(X + Y + Z)(X + Y + Z) F1 = X.Y + Y.Z + X.Z 2 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 F1 0 0 0 1 0 1 1 1 Première forme canonique: F1 = X.Y.Z + X.Y .Z + X.Y.Z + X.Y.Z Deuxième forme canonique: F1 = (X + Y + Z)(X + Y + Z)(X + Y + Z)(X + Y + Z) F2 = X + Y.Z + Y .Z.T 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 F2 0 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 Première forme canonique: F2 = X.Y .Z.T + X.Y.Z.T + X.Y.Z.T + X.Y .Z.T + X.Y .Z.T + X.Y .Z.T + X.Y .Z.T + X.Y.Z.T + X.Y.Z.T + X.Y.Z.T + X.Y.Z.T Deuxième forme canonique: F2 = (X + Y + Z + T )(X + Y + Z + T )(X + Y + Z + T )(X + Y + Z + T )(X + Y + Z + T ) F3 = (X + Y )(X + Y + Z) 3 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 F3 0 0 1 1 0 1 1 1 Première forme canonique: F3 = XY Z + XY Z + XY Z + XY Z + XY Z Deuxième forme canonique: F3 = (X + Y + Z)(X + Y + Z)(X + Y + Z) F4 = (X + Y + Z)(X + Y + Z)(X + Y + Z)(X + Y + Z)(X + Y + Z) 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 F4 0 0 0 0 1 1 0 1 Première forme canonique: F4 = X.Y .Z + X.Y .Z + X.Y.Z Deuxième forme canonique: F4 = (X + Y + Z) + (X + Y + Z) + (X + Y + Z) + (X + Y + Z) + (X + Y + Z) Exercice 3 Écrire sous la première forme canonique les fonctions définies par les propositions suivantes : 1. f(A,B,C) = 1 si et seulement si aucune des variables A, B, C ne prend la valeur 1 2. f(A,B,C) = 1 si et seulement si au plus une des variables A, B, C prend la valeur 0 3. f(A,B,C) = 1 si et seulement si exactement une des variables A, B, C prend la valeur 1 Mettre ces fonctions sous la seconde forme canonique. a-) Utilisez les combinaisons des variables pour lesquelles f = 1. 1. f (A, B, C) = A.B.C 2. f (A, B, C) = A.B.C + A.B.C + A.B.C + A.B.C 3. f (A, B, C) = A.B.C + A.B.C + A.B.C 4 b-) Utilisez les combinaisons des variables pour lesquelles f = 0. 1. f (A, B, C) = (A + B + C)(A + B + C)(A + B + C)(A + B + C)(A + B + C)(A + B + C)(A + B + C) 2. f (A, B, C) = (A + B + C)(A + B + C)(A + B + C)(A + B + C) 3. f (A, B, C) = (A + B + C)(A + B + C)(A + B + C)(A + B + C)(A + B + C) 3 Algébre de Boole Exercice 1 Démontrer algébriquement les relations suivantes : 1. AB + ACD + BD = AB + BD 2. (A + B)(A + C)(B + C) = (A + B)(A + C) 3. (A + B)(A + C) = (A + B)(A + C) Solution 1 : Deux fonctions logiques sont identiques si et seulement si leurs tables de vérité ou leurs formes canoniques sont identiques. Une solution consiste donc à établir la table de vérité ou l’une des représentations canoniques de la fonction définie par chaque expression, et de les comparer. Solution 2 : Les identités peuvent également être démontrées par des manipulations algébriques. A titre d’exemple : 1. AB + ACD + BD = AB + ACD(B + B) + BD = AB + ABCD + ABCD + BD = AB(1 + CD) + BD(1 + AC) = AB + BD 2. (A + B)(A + C)(B + C) = (A + B)(A + C)(B + C + AA) = (A + B)(A + C)(B + C + A)(B + C + A) = (A + B + 0.C)(A + C + 0.B) = (A + B)(A + C) 3.(A + B)(A + C) = A + B + A + C = (A.B) + (A.C) = (A + A)(A + C)(B + A)(B + C) (A + C)(A + B)(AA + B + C) = (A + C)(A + B)(A + B + C)(A + B + C) (A + 0.B + C)(A + B + 0.C) = (A + B)(A + C) Exercice 2 Simplifier algébriquement les fonctions suivantes : 1. F1 = (X + Y )(X + Y ) 2. F2 = X.Y + X.Y + X.Y 3. F3 = X.Y + Z + Z.(X + Y ) 4. F4 = (X + Y + Z)(X + Y + Z) + X.Y + Y.Z 1. F1 = Y 5 2. F2 = X + Y 3. F3 = 1 4. F4 = Y + Z Exercice 3 Question 1 Soit le circuit suivant: Donnez l’équation logique de F en fonction de A,B,C et D. A B A C F (A, B, C, D) D A B C F (A, B, C, D) = A.B + A.C.D + A.B.C Question 2 Consider below. Each of the control inputs, C0 through C3, must be tied to a Dans le circuit suivant, quelles doivent B. être les valeursthe decircuit C0 , Cshown 1 , C2 , et C3 pour que F soir le Ou exclusif de either 0 or 1. A et B. A B C0 A B C1 F A B C2 A B C3 Figure by MIT OpenCourseWare. Le OU-exclusif de A et B s’exprime A.B + A.B. D’autre part, on a F = C0 .A.B + C1 .A.B + C2 .A.B + C3 .A.B. Par identification on en déduit que F estWhat le Ou de BC3 si that et seulement are exclusif the valuesdeof A C0etthrough would causesiF toC0be=theC3 = 0 et C1 = C2 = 1. of A and B? We want F to be 1 when A=1 and B=0, or when A=0 and B=1. So C0 = 0, C1 = 1, C2 = 1, C3 = 0 Question 3 Can any arbitrary function of A and B be through appropriate wiring of the c C. n’importe Expliquez pourquoi il est possible de réaliser quelleBoolean fonction booléenne de A et realized de B avec ce circuit. C0 through C3? Toute fonction logique est définissable par une somme de min termes des entrées. La fonction F est une somme Yes. This circuit implements a 4-input MUX with its two select lines connected to A and B. By ch de tous les min-termes des entrées. Chaque min-terme peut être sélectionné en choisissant la valeur de Ci appropriate values for C0 through C3 we can implement any of the 16 possible Boolean functions adéquate. Il est donc possible d’implémenter n’importe quelle fonction logique à 2 entrées avec F . D. Give a sum-of-products expression for each of the following circuits: 6 Question 4 Pour chaque circuit, donnez l’expression logique qu’il implémente sous forme de somme de produits et sous forme de produit de sommes. A A B B C C (a) (b) A B A A C D f F (A, B, C, D) B A C B C (c) (d) X A D Q B C W Z (e) Figure by MIT OpenCourseWare. (a): ΣΠ: F ΠΣ: F (b): ΣΠ: F ΠΣ: F (c): ΣΠ: F ΠΣ: F (d): ΣΠ: F ΠΣ: F (e): ΣΠ: F ΠΣ: F = A.B + B + C =A+B+C = A.C + B.C = (A + B).C = A.C + B.C = (A + B).(A + C).(B + C) E. Give a canonical sum-of-products expression for the Boolean function described by each truth table below = A.B + A.C.D + A.B.C = (A + B + C).(A + B + D).(A + D + C).(A + B).(B + C + D) = A.D + B.C + B.D = (A + B).(C + D).(A + B + C + D) Question 5 Pour chaque table de vérité, donnez l’expression logique en utilisant la 1ère forme canonique et la 2ème forme canonique. We can construct a sum-of-products expression from a truth table by writing down a product term for each line of the table where the output is 1. Each product term contains all the input variables: directly (ie, "A") if that variable is 1 for this line of the truth table, or negated (ie, "not A") if that variable is 0 for this line of the truth table. We then OR the product terms together to get the final expression: Pour la 1ère forme canonique, on écrit la somme des min-termes correspondant aux sorties à ’1’: F (A, B, C) = A.B.C + A.B.C + A.B.C + A.B.C G(A, B, C) = A.B.C + A.B.C + A.B.C + A.B.C F. We've seen that there are a total of sixteen 7 2-input Boolean functions. How many 5-input Boolean functions are there? There are 225 = 232 5-input boolean functions. To see why, recall that the truth table for a 5-input function will have 32 rows, one for each possible combination of the 5 inputs. The output column for each row can be filled in with one of two choices ("0" or "1"), for a total of 232 possible ways of filling in the output column for all 32 rows. Pour la 2ème forme canonique, on écrit le produit des max-termes correspondants aux sorties à ’0’ en prenant soin de complémenter chaque variable: F (A, B, C) = (A + B + C).(A + B + C).(A + B + C).(A + B + C) G(A, B, C) = (A + B + C).(A + B + C).(A + B + C).(A + B + C) 4 Synthèse de fonctions logiques et tableaux de Karnaugh Exercice 1 Une société a 4 actionnaires (A, B, C et D) dont le nombre d’actions est le suivant : • A: 60 • B: 100 • C: 160 • D: 180 Nous désirons construire une machine permettant le vote automatique par boutons poussoirs lors des réunions. Pour chaque actionnaire, le poids du vote est proportionnel au nombre d’actions qu’il possède. Une résolution est votée (V = 1) si la somme des actions correspondantes au vote OUI représente au moins la moitié des actions plus une. Faire la synthèse (table de vérité, simplification par un tableau de Karnaugh et logigramme) du dispositif de vote en utilisant uniquement des portes NAND à 2 et 3 entrées. Nous prendrons comme convention : vote OUI de A correspond à A = 1. V=1 si le nombre de votes OUI est supérieur ou égal à 251 (moyenne 250 actions) On dresse la table de vérité de la fonction V . A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 V 0 0 0 1 0 1 1 1 0 0 0 1 0 1 1 1 Table 2: Tableau de vérité de la fonction V . On en déduit le tableau de Karnaugh suivant AB/CD 00 01 11 10 00 0 0 0 0 01 0 1 1 0 11 1 1 1 1 10 0 1 1 0 Table 3: Tableau de Karnaugh de la fonction V . 8 En effectuant trois regroupement de quatre cases, on en déduit l’équation logique simplifiée: V = BD + BC + CD Finalement, en appliquant la théorème de De Morgan, on obtient: V = B.D.B.C.C.D Exercice 2 Réaliser deux circuits à base de portes XOR correspondant aux deux transcodeurs à quatre entrées binaires : Code binaire → Code de Gray Code de Gray → Code binaire Dressons tout d’abord la table de vérité correspondant au transcodage de code binaire vers code de Gray: B3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 B1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 B0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 G3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 G2 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 G1 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 G0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 Table 4: Tableau de vérité Binaire vers Gray La première méthode consiste à utiliser des tableaux de Karnaugh pour chacune des variables G3 , G2 , G1 et G0 et d’en déduire ainsi les équations logiques. Cependant, en observant la table de vérité, on peut plus simplement remarquer: • G3 = B3 • G2 = B3 ⊕ B2 • G1 = B2 ⊕ B1 • G0 = B1 ⊕ B0 Le transcodeur binaire → Gray est donc constitué de trois portes logiques XOR. Pour le transcodeur Gray → binaire, on a tout d’abord: B3 = G3 On peut ensuite, par substitution en déduire: • B2 = G2 ⊕ G3 • B1 = G1 ⊕ G2 ⊕ G3 • B0 = G0 ⊕ G1 ⊕ G2 ⊕ G3 Le circuit résultant est composé de 3 portes XOR. 9 Exercice 3 Simplifier, par la méthode des diagrammes de Karnaugh, les fonctions booléennes suivantes : 1. F (A, B, C) = A.B.C + A.B.C + A.B.C + A.B.C + A.B.C + A.B.C 2. F (A, B, C) = A.B.C + A.B.C + A.B.C + A.B.C 3. F (A, B, C) = A.B.C + A.B.C + A.B.C 4. F (A, B, C) = (A + B + C)(A + B + C)(A + B + C)(A + B + C)(A + B + C) Utiliser les zéros du tableau de Karnaugh et donner le résultat sous forme conjonctive. 1. F (A, B, C) = B + C 2. Pas de simplification possible, il s’agit de la fonction XNOR, F (A, B, C) = A ⊕ B ⊕ C 3. Rappel : en présence d’états indifférents, traiter d’abord la simplification sans en tenir compte, puis les prendre en compte pour agrandir et éventuellement fusionner les regroupements déjà existants (ne pas créer de nouveaux groupes). F (A, B, C) = AC + AC = A ⊕ C 4. F (A, B, C) = (B + C)(B + C)(A + B)ou(B + C)(B + C)(A + C) Exercice 4 Simplifier, par la méthode des diagrammes de Karnaugh, les fonctions booléennes suivantes : 1. F (A, B, C, D) = A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D 2. F (A, B, C, D) = A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D 3. F (A, B, C, D) = A.B.C.D+A.B.C.D+A.B.C.D +A.B.C.D +A.B.C.D +A.B.C.D +A.B.C.D +A.B.C.D 4. F (A, B, C, D) = (A+B+C+D)(A+B+C+D)(A+B+C+D)(A+B+C+D)(A+B+C+D)(A+B+C+D) Donner le résultat sous les deux formes algébriques, conjonctive et disjonctive. 5. F (A, B, C, D) = A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D, sachant que quatre combinaisons de variables sont impossibles : A.B.C.D , A.B.C.D, A.B.C.D , et A.B.C.D . 6. F (A, B, C, D) prend la valeur 1 pour les combinaisons suivantes des variables booléennes A, B, C, et D : A.B.C.D , A.B.C.D , A.B.C.D, A.B.C.D , A.B.C.D, A.B.C.D , A.B.C.D . La valeur de F peut être quelconque pour les combinaisons A.B.C.D , A.B.C.D , A.B.C.D , A.B.C.D , et A.B.C.D . 1. F (A, B, C, D) = AB 2. F (A, B, C, D) = BD 3. Tableau en damier, avec F = 0 pour A = B = C = 0 rightarrow pas de simplification possible, il s’agit de la fonction OU exclusif (OUEX ou XOR) : F (A, B, C, D) = A ⊕ B ⊕ C ⊕ D 4. Résultat sous forme conjonctive, obtenue en regroupant les 0 : F (A, B, C, D) = (A + C + D)(A + B + C)(A + B + D)(A + B + C + D)(A + B + C + D) 5. Résultat sous forme disjonctive, obtenue en regroupant les 1 : F (A, B, C, D) = A.C + B.D + A.B.D + A.B.C + A.C.D 6. F (A, B, C, D) = A.B.D + A.B.C + B.C.D + A.B.D 7. F (A, B, C, D) = A.B + A.B + C.D + C.D = A ⊕ B + C ⊕ D , et tous les états indifférents sont utilisés. 10