1. Chapitre 2 : Circuits combinatoire
Dans la suite des exercices, les minterms/maxterms sont exprimés en considérant les
variables xi dans l’ordre croissant. Exemple : x1 x2x3x4 = m7.
Portes logiques
Question 1 :
À l’aide de l’algèbre de Boole, trouver les équivalences entre les circuits suivants :
f A = x1⊕x2
x1 x2 +x1 x2
f B = x1⊗x2
x1 x2 +x1 x2
f C = x1 ⊕x2
x1x2+ x1 x2 = f B
f D = x1⊕ x2
x1 x2 +x1 x2 = f B
f E = x1 ⊗x2
x1 x2 + x1 x2 = f A
f F = x1⊗ x2
x1 x2 +x1 x2 = f A
f G = x1 ⊕ x2
x1 x2 + x1 x2 = f A
f H = x1 ⊗ x2
x1x2+ x1 x2 = f B
Il en résulte que f A = f E = f F = f G et f B = f C = f D = f H
1/8
2. Question 2 :
À l’aide de l’algèbre de Boole, trouver les équivalences entre les circuits suivants :
f A = x1+x2+x3
Σm(0)
f B = x1+x2 +x3
Σm(2, 4, 6)
f C = x1⊕x2⊕x3
Σm(1, 2, 6, 7)
f D = (x1⊕x2) ⊕x3
Σm(1, 2, 6, 7) = f C
f E = x1⊕x2⊕x3
Σm(0, 3, 4, 7)
f F = (x1+x2)+x3
Σm(0) = f A
Il en résulte que f
autres.
2/8
A
= f
F
et f
C
= f D. Les autres fonctions sont différentes les unes des
3. Déduire le circuit d’une fonction logique
Question 3 :
Déduire le circuit de chacune des fonctions logiques suivantes (sans simplification) :
1) xyz + x y + x y
2) (x+z)(y+z)+y
3)
3/8
(x+z)(y+z) + y
4. Question 4 :
Effectuer une décomposition (conjonctive) de Shannon sur la variable x des fonctions de
la question 3. Déduire le circuit de chacune des fonctions logiques ainsi réécrites.
1) xyz + x y + x y = ( x+ y )( x + z + y )
2) (x+z)(y+z)+y = z +y
3)
4/8
(x+z)(y+z) + y = (x + z + y )( x + y )
5. Les réponses des questions qui suivent utilisent une notation abrégée pour manipuler les
équations. Il est conseillé de reprendre les développements en faisant usage des variables x1,
x2, x3 et x4.
Déduire la fonction logique d’un circuit
Question 5 :
Déduire la fonction logique de chacun des circuits suivants :
A) f A = ( x1 + x2 + x3 ) + ( x1 + x4 ) + (x2+ x4 ) + ( x2 + x3 +x4)
= ΠM(1, 3, 6, 9, 11, 13, 14, 15)
B) f B = [x2⊕x4][ x2(x1⊗x3) ] = x2⊗x4+x2(x1⊗x3) = x2x4+ x2 x4 +x2(x1x3+ x1 x3 )
= x2x4+ x2 x4 +x1x2x3+ x1 x2 x3 = Σm(0, 2, 4, 5, 7, 8, 10, 13, 14, 15)
5/8
6. C) f
C
= f A⊗f B = ΠM(1, 3, 6, 9, 11, 13, 14, 15) ⊗ Σm(0, 2, 4, 5, 6, 7, 8, 10, 13, 14, 15)
= Σm(0, 2, 4, 5, 7, 8, 10, 12) ⊗ Σm(0, 2, 4, 5, 7, 8, 10, 13, 14, 15)
= ΠM(1, 3, 6, 9, 11, 13, 14, 15) ⊗ ΠM(1, 3, 6, 9, 11, 12)
La fonction XNOR renvoie 1 si ses deux termes ont la même valeur (0,0) ou (1,1)
f C = Σm(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11) = ΠM(12, 13, 14, 15)
Coût d’un circuit
Question 6 :
Évaluer le coût de chacun des circuits de la question 5. Considérer le coût d’un
XOR/XNOR à N entrées comme étant 2N.
Coût de f A = 2(2+1)+2(3+1)+(4+1) = 6 + 8 + 5 = 19
Coût de f B = 2(2+1)+2(2·2) = 6 + 8 = 14
Coût de f C = (2·2) + Coût de f A + Coût de f B = 4 + 19 + 14 = 37
6/8
7. Question 7 :
Proposez une simplification algébrique permettant de réduire le coût de chacun des circuits
de la question 5.
A)
f A= ΠM(1, 3, 6, 9, 11, 13, 14, 15)
= M1M3M6M9M11M13M14M15
= M1M3M6M9M11M9M11M13M14M15
= (M1M3M9M11)(M9M11M13M15)(M6M14)
= ( x2+ x4 )( x1 + x4 )( x2 + x3 +x4)
On trouve par ailleurs (forme disjonctive) que :
f A= Σm (0, 2, 4, 5, 7, 8, 10, 12)
= (m0+m2+m8+m10)+( m0+m4+m8+m12)+( m5+m7)
= x2 x4 + x3 x4 + x1 x2x4
Les deux implémentations auraient le même coût (implémentation en N-ET/N-OU) de 14.
B)
f B= Σm(0, 2, 4, 5, 7, 8, 10, 13, 14, 15)
= (m0+m2+m8+m10)+(m0+m4)+(m5+m7+m13+m15)+(m10+m14)
= x2 x4 + x1 x3 x4 +x2x4+x1x3 x4
Pour un coût de (4+1)+2(2+1)+2(3+1)=19 (N-ET).
On trouve par ailleurs (forme conjonctive) que :
f B= ΠM(1, 3, 6, 9, 11, 12)
= (M1M3M9M11)(M6)(M12)
= ( x2+ x4 )( x1+ x2 + x3 +x4)( x1 + x2 +x3 +x4)
Pour un coût de (3+1)+(2+1)+2(4+1)=17 (N-OU).
Il apparaît alors que l’ancienne implémentation était moins coûteuse.
C) Pour implémenter f C, il est possible de considérer différentes implémentations :
f C = = f A⊗f B
On implémenter ce circuit en utilisant les implémentations minimales de f A et f B et en les
ajoutant un XNOR, de sorte que son coût soit
Coût de f C = (2·2) + Coût min de f A + Coût min de f B = 4 + 14 + 14 = 32
7/8
8. Il est aussi possible de reprendre l’équation de f C :
f C = Σm(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11) = ΠM(12, 13, 14, 15) = x1 + x2
Dont le coût est de 3…
8/8