Vous êtes sur la page 1sur 8

Chapitre 3

Principes de la logique combinatoire

La logique combinatoire est la logique où la sortie dépend seulement des entrées. L’autre
type de logique, la logique séquentielle, est celle où la sortie dépend des entrées actuelles et
de la sortie précédente. Ce type de logique sera présenté plus tard. La logique combinatoire
est la base du design de circuits logiques.

3.1 Algèbre booléenne

L’algèbre booléenne est l’algèbre utilisée pour les systèmes binaires ; il y a seulement
deux valeurs : 0 ou 1. On y verra certaines propriétés. Le tableau 3.1 présente les postulats
les plus importants de l’algèbre booléenne. Note : Il n’y a pas de soustraction ou de division
dans l’algèbre booléenne.

Tableau 3.1 – Postulats importants de l’algèbre booléenne

(A1) X = 0 si X , 1 (A1’) X = 1 si X , 0
(A2) Si X = 0 ⇒ X 0 = 1 (A2’) Si X = 1 ⇒ X 0 = 0
(A3) 0·0 = 0 (A3’) 1+1 = 1
(A4) 1·1 = 1 (A4’) 0+0 = 0
(A5) 0·1 = 1·0 = 0 (A5’) 1+0 = 0+1 = 1

Le tableau présente certains théorèmes importants.

1
CHAPITRE 3. PRINCIPES DE LA LOGIQUE COMBINATOIRE

Tableau 3.2 – Théorèmes importants de l’algèbre booléenne

Numéro Nom Théorème


T5 Complément X + X 0 = 1, ou X · X 0 = 0
T6 Idempotence X + X = X, ou X · X = X
T8 Distributivité X + (Y · Z) = (X + Y ) · (X + Z)
T9 Absorption X + (X · Y ) = X
T10 Combinaison X ·Y +X ·Y0 = X

Dualité

Le principe de dualité peut être exprimé ainsi : si dans une expression on interchange
l’opérateur et l’élément d’identité, l’égalité demeure (0 ↔ 1, · ↔ +). La figure 3.1 montre
quelques exemples de cette propriété.

Dualité
X +0 = X X ·1 = X
X + X0 = 1 X · X0 = 0

Figure 3.1 – Exemples de la dualité

Théorème de Demorgan

Le théorème de Demorgan permet d’interchanger l’opérateur + et ·, et l’opérateur de


complément :

(X + Y + Z)0 = X 0 · Y 0 · Z 0
(X · Y · Z)0 = X 0 + Y 0 + Z 0

Figure 3.2 – Exemples du théorème de Demorgan

3.1.1 Fonction booléenne

Une fonction booléenne est une expression formée de variables binaires, comme F =
X · Y + Z 0 . Le symbole · représente ET (AND), et le symbole + représente OU (OR). On
représente souvent une fonction booléenne par une table de vérité : c’est un tableau qui
représente toutes les combinaisons possibles d’entrées et de sortie(s). Pour n variables
d’entrée, il y a 2n possibilités. La figure 3.3 montre un exemple de table de vérité.

Gabriel Cormier 2 GELE2442


CHAPITRE 3. PRINCIPES DE LA LOGIQUE COMBINATOIRE

X Y Z F
0 0 0 1
0 0 1 0
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 1

Figure 3.3 – Exemple de table de vérité pour F = X · Y + Z 0

3.1.2 Complément d’une fonction

Le complément d’une fonction F s’écrit F 0 . On l’obtient en changeant les 0 pour des 1


(et vice-versa) dans la table de vérité. On peut aussi l’obtenir en utilisant le théorème de
Demorgan.

Exemple 1

Calculer le complément de la fonction F = X 0 Y Z 0 + X 0 Y 0 Z

F 0 = (X 0 Y Z 0 + X 0 Y 0 Z)0 = (X 0 Y Z 0 )0 · (X 0 Y 0 Z) = (X + Y 0 + Z) · (X + Y + Z 0 )

3.1.3 Mintermes et maxtermes

Une fonction booléenne peut être exprimée de l’une de deux façons : une somme de
produits, ou un produit de sommes. Les termes multipliés sont des mintermes, et les termes
de somme sont nommés maxtermes. La figure 3.4 montre les mintermes et maxtermes d’une
fonction à 3 bits.

Pour générer les mintermes, on utilise le complément de la variable aux endroits où
on a un 0 dans la table de vérité. Pour générer les maxtermes, on utilise le complément
lorsqu’il y a un 1 dans la table de vérité. Une fonction peut ensuite être exprimée comme
une somme de mintermes, ou un produit de maxtermes. Par la suite, on peut simplifier
la fonction en utilisant les théorèmes appropriés. Une fonction est créée en à l’aide de
mintermes en utilisant les termes où la fonction est 1. Pour créer une fonction à l’aide de
maxtermes, on utilise les termes où la fonction est 0.

Gabriel Cormier 3 GELE2442


CHAPITRE 3. PRINCIPES DE LA LOGIQUE COMBINATOIRE

X Y Z Minterme Maxterme
0 0 0 0 X0 · Y 0 · Z0 X +Y +Z
1 0 0 1 X0 · Y 0 · Z X + Y + Z0
2 0 1 0 X0 · Y · Z0 X +Y0 +Z
3 0 1 1 X0 · Y · Z X + Y 0 + Z0
4 1 0 0 X · Y 0 · Z0 X0 + Y + Z
5 1 0 1 X ·Y0 ·Z X0 + Y + Z0
6 1 1 0 X · Y · Z0 X0 + Y 0 + Z
7 1 1 1 X ·Y ·Z X0 + Y 0 + Z0

Figure 3.4 – Mintermes et maxtermes à 3 bits

Exemple 2

Exprimer la fonction ayant la table de vérité de la figure 3.5 à l’aide de mintermes et


maxtermes.

X Y Z F
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 1

Figure 3.5 – Table de vérité pour une fonction

Les mintermes sont exprimés avec des m minuscules ; les termes où la fonction est 1
sont : 0, 3, 4, 6 et 7.
X
F= m0 , m 3 , m 4 , m 6 , m 7
= X0 · Y 0 · Z0 + X0 · Y · Z + X · Y 0 · Z0 + X · Y · Z0 + X · Y · Z

Les maxtermes sont exprimés avec des M majuscules ; les termes où la fonction est 0 sont :
1, 2 et 5.
Y
F= M1 , M 2 , M 5
= (X + Y + Z 0 ) · (X + Y 0 + Z) · (X 0 + Y + Z 0 )

Gabriel Cormier 4 GELE2442


CHAPITRE 3. PRINCIPES DE LA LOGIQUE COMBINATOIRE

3.2 Portes logiques

Il y a trois fonctions logiques de base présentées dans la section précédente : ET (AND),


représenté par le symbole · ; OU (OR), représenté par + ; et NON (NOT ; complément),
représenté par 0 . Ces trois fonctions permettent la création de n’importe quelle fonction
complexe. Ces trois fonctions de base, et leur symboles (circuits) correspondants sont
montrés à la figure 3.6. Le cercle à la sortie de la porte NON indique que la porte logique a
un comportement d’inversion. La porte NON s’appelle aussi un inverseur.

X X
X·Y X+Y X X0
Y Y

X Y X·Y X Y X+Y X X0
0 0 0 0 0 0 0 1
0 1 0 0 1 1 1 0
1 0 0 1 0 1
1 1 1 1 1 1

ET OU NON

Figure 3.6 – Trois fonctions logiques de base

Trois autres portes logiques sont fréquemment utilisées : la porte NAND (NON-ET),
la porte NOR (NON-OU) et la porte XOR (Exclusivement-OU). Ces portes, ainsi que leur
table de vérité, sont montrées à la figure 3.7.

X X X
X ·Y X +Y X⊕Y
Y Y Y

X Y X ·Y X Y X +Y X Y X⊕Y
0 0 1 0 0 1 0 0 0
0 1 1 0 1 0 0 1 1
1 0 1 1 0 0 1 0 1
1 1 0 1 1 0 1 1 0

NAND NOR XOR

Figure 3.7 – Trois fonctions logiques communes

Gabriel Cormier 5 GELE2442


CHAPITRE 3. PRINCIPES DE LA LOGIQUE COMBINATOIRE

3.3 Création des circuits logiques

Pour créer des circuits logiques à partir de fonctions complexes, on combine les min-
termes (ou maxtermes) avec les fonctions logiques de base. Chaque minterme est créé à
partir des portes logiques de base. Soit la fonction logique suivante :

F1 = X + Y 0 Z (3.1)

Le circuit créé est montré à la figure 3.8. L’inverseur est utilisé pour créer Y 0 , puis la porte
AND pour créer Y 0 Z, et finalement la porte OR permet de créer la fonction F1 .

X
F1

Y
Y 0Z
Z

Figure 3.8 – Circuit logique de la fonction F1

Exemple 3

On a trois juges qui contrôlent le départ d’une course. La course a lieu si au moins deux
des trois juges sont prêts. Créer le circuit logique qui représente le départ d’une course.

Les trois juges forment les trois entrées : A, B et C. Le départ de la course représente la
sortie F. On peut ensuite créer manuellement la table de vérité de cette fonction.

A B C F
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1

Figure 3.9 – Table de vérité de la fonction de l’exemple 3

P On peut ensuite exprimer cette fonction comme une somme de mintermes : F =


(3, 5, 6, 7). Puis on va simplifier la fonction.

Gabriel Cormier 6 GELE2442


CHAPITRE 3. PRINCIPES DE LA LOGIQUE COMBINATOIRE

X
F= (3, 5, 6, 7) = ABC + ABC + ABC + ABC
= ABC + ABC + ABC + ABC + ABC + ABC Th.6
= BC(A + A) + AC(B + B) + AB(C + C)
= AB + BC + AC Th.5

À partir de la fonction simplifiée, on peut créer le circuit.

A
B

B
F
C

A
C

Figure 3.10 – Circuit logique de l’exemple 3

3.4 Implémentation NAND

Les circuits logiques sont souvent implantés avec des portes NAND et NOR plutôt que
des portes AND et OR. Les portes NAND et NOR nécessitent moins de transistors pour
l’implémentation, donc prennent moins de superficie sur les circuits intégrés, et donc sont
moins chers. Comme exemple, une porte NAND à 2 entrés nécessite 4 transistors, tandis
qu’une porte OR créée avec la même technologie nécessite 6 transistors. Puisque les portes
NAND et NOR sont très communes, des méthodes ont été développées pour faire le design
de circuits logiques avec ces portes.

3.4.1 Création des portes NAND

Une porte NAND peut être créée de deux façons : à partir d’une porte AND, en ajoutant
une bulle d’inversion à la sortie, et à partir d’une porte OR, en ajoutant des bulles d’inver-
sion aux entrées. La conversion d’une porte OR est montrée à la figure 3.11. Des bulles
d’inversion sont ajoutées à l’entrée de la porte OR ; à l’aide du théorème de Demorgan, on
obtient la même équation de sortie qu’une porte NAND.

Gabriel Cormier 7 GELE2442


CHAPITRE 3. PRINCIPES DE LA LOGIQUE COMBINATOIRE

X (X + Y + Z)0 X
X0 · Y 0 · Z0
Y Y
= (X + Y + Z)0
Z Z

Figure 3.11 – Porte OR transformée en porte NAND

3.4.2 Transformation AND-OR à NAND

Pour effectuer une transformation AND-OR à NAND, il faut que le circuit (ou la
fonction logique) soit de la forme d’une somme de produits, et donc exprimée par des
mintermes. Comme exemple, on prend la fonction suivante :

F = AB + CD (3.2)

Le circuit correspondant à cette fonction est montré à la figure 3.12, sous la forme d’un
circuit AND-OR.

A
B
F
C
D

Figure 3.12 – Fonction F = AB + CD implantée en logique AND-OR

Pour transformer les portes à des portes NAND, on ajoute des bulles d’inversion à la
sortie des portes AND et à l’entrée de la porte OR. La logique reste la même puisqu’il y a
deux inversions consécutives ((X 0 )0 = X). La figure 3.13 montre cette transformation. Le
circuit est maintenant constitué de portes NAND seulement.

A A
B B
F F
C C
D D

Figure 3.13 – Portes AND-OR transformées en portes NAND

Gabriel Cormier 8 GELE2442