Circuit Logique
Circuit Logique
Ce chapitre présente la base des systèmes de notation utilisés dans les systèmes
numériques, tel que le codage binaire, ou hexadécimal. On y verra aussi différentes
méthodes pour coder les systèmes.
Le système positionnel est le système de base utilisé pour coder des chiffres. Le système
le mieux connu est le système décimal. Dans ces systèmes, la position d’un chiffre est
associée à un poids (ou valeur) spécifique.
1
CHAPITRE 2. SYSTÈMES DE NOMBRES ET CODES
C’est le système le mieux connu après le système décimal. C’est aussi la base de tous les
systèmes numériques (ordinateurs, microcontrôleurs, etc). Dans ce système, à base 2, r = 2,
et les deux symboles sont 0 et 1.
Exemple 1
Quelle est la valeur décimale des chiffres binaires suivants : 100112 et 101.0012 ?
100112 = 1 · 24 + 0 · 23 + 0 · 22 + 1 · 21 + 1 · 20
= 1 · 16 + 0 · 8 + 0 · 4 + 1 · 2 + 1 · 1 = 1910
On utilise un indice pour indiquer la base avec laquelle le chiffre est écrit. Le chiffre le
plus à gauche est le chiffre le plus important : c’est lui qui a le plus de poids sur la valeur du
chiffre. Ce chiffre est nommé le bit le plus significatif (MSB : most significant bit). Le bit le
plus à droite est le chiffre le moins significatif, nommé le LSB. Par exemple, pour le chiffre
100112 , s’il y a erreur dans le MSB, la valeur du chiffre est 3 au lieu de 19. Par contre, s’il y
a erreur dans le LSB, le chiffre est 18 au lieu de 19 ; l’erreur est moins significative dans ce
cas.
Il existe quelques méthodes pour convertir d’une base à une autre. Certaines conversions
sont plus faciles que d’autre, comme la conversion de binaire à hexadécimal.
La conversion de binaire à octal est assez simple, puisque dans la base octal, 8 = 23 . On
doit donc grouper les termes binaires en groupes de trois, puis convertir. Exemple :
1000110011102 = 100 011 001 110 = 43168
4 3 1 6
Le même principe peut être appliqué pour convertir de binaire à hexadécimal ; cette fois,
on fait des groupes de 4 (16 = 24 ).
1000110011102 = 1000 1100 1110 = 8CE16
8 C E
Pour convertir de octal (ou hexadécimal) à binaire, on fait le processus inverse. Pour
la conversion octal-binaire, chaque chiffre octal est écrit comme 3 bits binaires, et pour
la conversion hexadécimale, chaque chiffre hexadécimal est écrit comme 4 bits binaires.
Exemples :
13578 = 001 011 101 1112
9F.46C16 = 1001 1111. 0100 0110 11002
Pour convertir de décimal à une autre base, on fait la division par la base à laquelle on
veut convertir. On fait la division jusqu’à ce que le chiffre à diviser soit plus petit que la
base.
Exemple 2
Exemple 3
Exemple 4
Avec des fractions, il est possible d’avoir des erreurs de conversions. Il faut tronquer la
séquence selon le nombre de bits voulus.
Exemple 5
Ici, la séquence se répète à partir de d−6 . Il faut donc décider du nombre de bits à utiliser
dans la conversion. Avec 3 bits, la réponse est 0102 , ce qui est 0.25 si on reconvertit en
décimal. On a donc une erreur de 0.05.
L’addition et la soustraction binaires suivent les même règles que le décimal, sauf qu’il
n’y a que deux valeurs possibles.
Le tableau 2.1 montre les combinaisons possibles d’entrées et leurs sorties correspon-
dantes pour l’addition binaire. Le Cin est le report d’entrée : c’est le surplus de l’addition à
la position précédente. Le Cout est le report de sortie : le surplus qui sera ajouté à l’addition
des bits de la position suivante.
X Y Cin S Cout
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Un exemple d’addition binaire est montré à la figure 2.1. Il y a débordement dans cet
exemple : le report de sortie est 1 à la fin de l’addition, mais il n’y a pas de bit de réservé
pour ce report. Dans l’exemple, on est dans un système à 8 bits : le report de sortie irait à
la place du 9e bit, mais cette position n’existe pas.
Débordement
1 1 1 1 1
X 1 0 1 1 1 1 1 0 190
Y + 1 0 0 0 1 1 0 1 + 141
0 1 0 0 1 0 1 1 S 331
1 0 1 1 1 1 0 0 Cout
Le tableau 2.2 montre les combinaisons possibles d’entrées et leurs sorties correspon-
dantes pour la soustraction binaire. Le Bin est l’emprunt d’entrée : c’est la valeur qu’il
faut aller chercher à la position plus importante pour effectuer la soustraction. Le Bout est
l’emprunt de sortie : valeur qu’on doit aller chercher à la position précédente.
Un exemple d’addition binaire est montré à la figure 2.2. Le processus est un peu
plus complexe que l’addition : lorsqu’on doit emprunter un bit pour faire la soustraction,
l’emprunt se propage à travers les colonnes jusqu’à ce qu’on trouve un 1. Dans l’exemple,
lorsqu’il faut faire un emprunt à la colonne 3, on doit chercher jusqu’à la colonne 6 pour
trouver un 1. Le 100 devient donc 011 + 1 : le 011 sont les bits modifiés, et le +1 est
l’emprunt.
X Y Bin D Bout
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1
0 10 1 1 10 10
X 1 1 1 0 0 1 0 1 229
Y − 0 0 1 0 1 1 1 0 − 46
1 0 1 1 0 1 1 1 D 183
Dans la représentation avec MSB, le MSB représente le signe : un 0 veut dire un chiffre
positif, et un 1 veut dire un chiffre négatif. Par exemple, le chiffre 010101012 = +8510 , et
110101012 = −8510 . Le bit de signe est celui le plus à gauche (le MSB). On perd donc 1 bit
pour représenter l’amplitude des chiffres. Dans un système à n bits, les valeurs possible
sont de :
−(2n−1 − 1) à (2n − 1)
Pour n = 4, les valeurs possibles sont de −7 à 7. La valeur zéro a deux possibilités : 1000 ou
0000.
Les systèmes à compléments ont été introduits pour simplifier l’opération de soustrac-
tion. On a deux types de complément : complément à R, et complément à R − 1.
r n − D = [(r n − 1) − D] + 1 (2.3)
Exemple 6
Dans ce cas-ci, la base est 10 (r = 10), on utilise 4 chiffres (n = 4), et le chiffre est
D = 1849. Le complément à 10 est :
h i
C = (104 − 1) − 1849 + 1 = 8151
Une autre méthode de faire le calcul est de prendre le complément de chaque chiffre,
individuellement, puis additionner 1 au total. Le complément de chaque chiffre (à la
position x) est (r − 1) − dx .
Exemple 7
Dans ce cas-ci, la base est 10 (r = 10), et le complément par chiffre est (10 − 1) −
dx .
9 9 9 9
− 1 8 4 9
8 1 5 0 + 1 = 8151
2.4.3 Complément à 2
Le complément à 2 (two’s complement) est très utilisé : c’est le système utilisé dans les
ordinateurs. C’est un système de représentation pour les chiffres binaires. Dans ce cas-ci,
la plage de valeurs possible est de −(2n−1 ) à +(2n−1 − 1), pour un nombre à n bits.
Exemple 8
1710 = 00010001
⇓
11101110
+1
11101111 = −1710
2.4.4 Complément à 1
Exemple 9
1710 = 00010001
⇓
11101110 = −1710
+3 0011 −2 1110
+ +4 0100 + −6 1010
+7 0111 −8 1 1000
+6 0110 +4 0100
+ −3 1101 + −7 1001
+3 1 0011 −3 1101
−3 1101 +5 0101
+ −6 1010 + +6 0110
−9 1 0 1 1 1 = +7 +11 1 1 0 1 1 = −5
Les codes binaires sont l’ensemble des règles ou conventions qui permettent de représenter
les chiffres décimaux en en code binaire.
Le décimal codé binaire (DCB, ou BCD, binary coded decimal en anglais) est un code
communément utilisé. La représentation est montrée à la figure 2.5.
Décimal Code
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
Le décimal codé binaire n’est pas la même chose que la conversion décimale à binaire.
Par exemple, en code binaire le nombre 13 est 1101, mais en DCB c’est 00010011 (chaque
chiffre est convertit séparément). Dans les ordinateurs (ou microcontrôleurs), les opérations
sont effectuées sur le code binaire et non sur le DCB.
Le code Gray est une autre méthode pour coder des nombres en format binaire. C’est
un code où seulement 1 bit change entre chaque nombre successif. La figure 2.6 montre le
code Gray pour un système à 3 bits.
Le code Hamming permet de détecter et corriger des erreurs dans des séquences de
bits. On calcul k bits de parité à partir de n bits de données (k < n). Les bits de parité sont
placés à des positions qui sont des puissances de 2. Les n bits de données sont placés dans
les positions restantes. La figure 2.7 montre un exemple de position des bits de parité et
des bits de données, pour un mot de 8 bits.
Position 1 2 3 4 5 6 7 8 9 10 11 12
Valeur P1 P2 d1 P4 d2 d3 d4 P8 d5 d6 d7 d8
Le j e bit de parité (où j = 1, 2, 3, ...k) est calculé en faisant des opérations xor (ou
exclusifs) avec les bits de données dont les positions, lorsque présentées en binaire, sont
des 1. La figure 2.8 montre le calcul des bits de parité pour un mot de 8 bits.
Colonne
Position 4321
P1 ← 0001
P2 ← 0010
0011
P4 ← 0100
0101
0110
0111
P8 ← 1000
1001
1010
1011
1100
Figure 2.8 – Code Hamming et calcul des bits de parité pour un mot de 8 bits
Exemple 10
P1 = XOR(d1 , d2 , d4 , d5 , d7 ) = 1 ⊕ 1 ⊕ 0 ⊕ 0 ⊕ 0 = 0
P2 = XOR(d1 , d3 , d4 , d6 , d7 ) = 1 ⊕ 0 ⊕ 0 ⊕ 1 ⊕ 0 = 0
P4 = XOR(d2 , d3 , d4 , d8 ) = 1 ⊕ 0 ⊕ 0 ⊕ 0 = 1
P8 = XOR(d5 , d6 , d7 , d8 ) = 0 ⊕ 1 ⊕ 0 ⊕ 0 = 1
avoir un code spécial pour représenter ces caractères alphanumériques. Le système ASCII
(American Standard Code for Information Interchange) est un code très utilisé. C’est un code
à 7 bits. Cependant, il ne permet pas de représenter les caractères spéciaux de plusieurs
langages du monde ; de plus en plus, on préfère le format UTF-8 (Unicode), qui permet de
représenter beaucoup plus de caractères spéciaux. Le tableau 2.3 présente le code ASCII.
b7 b6 b5
b4 b3 b2 b1 000 001 010 011 100 101 110 111
0000 NUL DLE SP 0 @ P ‘ p
0001 SOH DC1 ! 1 A Q a q
0010 STX DC2 ” 2 B R b r
0011 ETX DC3 # 3 C S c s
0100 EOT DC4 $ 4 D T d t
0101 ENQ NAK % 5 E U e u
0110 ACK SYN & 6 F V f v
0111 BEL ETB ’ 7 G W g w
1000 BS CAN ( 8 H X h x
1001 HT EM ) 9 I Y i y
1010 LF SUB * : J Z j z
1011 VT ESC + ; K [ k {
1100 FF FS , < L \ l |
1101 CR GS − = M ] m }
1110 SO RS . > N ˆ n ˜
1111 SI US / ? O o DEL
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.
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.
(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
1
CHAPITRE 3. PRINCIPES DE LA LOGIQUE COMBINATOIRE
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
Théorème de Demorgan
(X + Y + Z)0 = X 0 · Y 0 · Z 0
(X · Y · Z)0 = X 0 + Y 0 + Z 0
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é.
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
Exemple 1
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 )
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.
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
Exemple 2
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
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 )
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
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
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
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
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
A
B
B
F
C
A
C
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.
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.
X (X + Y + Z)0 X
X0 · Y 0 · Z0
Y Y
= (X + Y + Z)0
Z Z
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
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
Les équations produites par les diagrammes de Karnaugh sont toujours sous l’une de
deux formes : somme de produits ou produits de sommes. L’équation résultante minimise
le nombre de termes, et donc la complexité du circuit logique correspondant.
Le plus simple diagramme de Karnaugh est celui à deux variables, montré à la figure
4.1. Une fonction à deux variables possède un maximum de quatre mintermes, et donc
1
CHAPITRE 4. MINIMISATION
Y Y
Y Y
0 1 0 1
X X
0 m0 m1 0 X0Y 0 X0Y
X 1 m2 m3 X 1 XY 0 XY
Y Y
Y Y
0 1 0 1
X X
0 0 0 0 0 1
X 1 0 1 X 1 1 1
X ·Y X +Y
Figure 4.2 – Exemples de diagrammes de Karnaugh pour une fonction à 2 variables
Le diagramme de Karnaugh pour trois variables est montré à la figure 4.3. Noter que
les mintermes sont organisés comme un code Gray : un seul bit change en passant d’une
case à une autre. Le processus de simplification est le même que celui de deux variables :
on essaie de créer des carrés ou rectangles qui englobent le plus de 1. Dans tous les cas,
que ce soit à 2, 3, 4 variables ou plus, il faut minimiser le nombre de regroupements, et
maximiser la taille des regroupements.
Y
YZ
00 01 11 10
X
0 m0 m1 m3 m2
X 1 m4 m5 m7 m6
Exemple 1
P
Simplifier la fonction suivante : F = (2, 3, 4, 5).
Y
YZ
00 01 11 10
X
0 0 0 1 1
X 1 1 1 0 0
Exemple 2
P
Simplifier la fonction suivante : F = (3, 4, 6, 7).
Y
YZ
00 01 11 10
X
0 0 0 1 0
X 1 1 0 1 1
Y
YZ
00 01 11 10
WX
00 m0 m1 m3 m2
01 m4 m5 m7 m6
X
11 m12 m13 m15 m14
W
10 m8 m9 m11 m10
Exemple 3
P
Simplifier la fonction suivante : F = (0, 1, 2, 4, 5, 6, 8, 9, 12, 13, 14)
Y
YZ
00 01 11 10
WX
00 1 1 0 1
01 1 1 0 1
X
11 1 1 0 1
W
10 1 1 0 0
Exemple 4
Y
YZ
00 01 11 10
X
0 0 1 1 0
X 1 1 1 0 1
Y Y
YZ YZ
00 01 11 10 00 01 11 10
X X
0 0 1 1 0 0 0 1 1 0
X 1 1 1 0 1 X 1 1 1 0 1
Z Z
La fonction est :
F = X 0 Z + XZ 0 + Y 0 Z = X 0 Z + XZ 0 + XY 0
Exemple 5
Y
YZ
00 01 11 10
WX
00 1 0 1 1
01 0 1 1 0
X
11 0 1 1 0
W
10 1 1 1 1
Les impliquants premiers essentiels sont montrés à la figure 4.11a. Ce sont des impli-
quants essentiels, parce que les deux 1 encerclés en bleu peuvent seulement être groupés
par les impliquants montrés. En groupant ces 1, il faut maximiser le nombre de termes
groupés, et donc on obtient les impliquants de la figure 4.11a. Les impliquants premiers
sont montrés à la figure 4.11b. Il y a plusieurs possibilités pour regrouper les mintermes
qui ne sont pas groupés par les impliquants essentiels. On a quatre possibilités pour la
fonction simplifiée :
F = BD + BD 0 + CD + AD
= BD + BD 0 + CD + AB0
= BD + BD 0 + B0 C + AD
= BD + BD 0 + B0 C + AB0
Y Y
YZ YZ
00 01 11 10 00 01 11 10
WX WX
00 1 0 1 1 00 1 0 1 1
01 0 1 1 0 01 0 1 1 0
X X
11 0 1 1 0 11 0 1 1 0
W W
10 1 1 1 1 10 1 1 1 1
Z Z
a) Impliquants premiers essentiels b) Impliquants premiers
Figure 4.11 – Diagramme de Karnaugh pour l’exemple 5
Jusqu’à maintenant, lorsqu’on crée une table de vérité pour une fonction, on place les 1
aux endroits où la fonction est vrai, puis on rempli le reste des combinaisons de 0. Dans
certains cas, il y a des combinaisons d’entrées qui ne sont pas possibles lorsqu’on crée
des tables de vérité. Par exemple, en DCB, il y a 6 combinaisons qui ne sont pas utilisées
(de 10 à 15). La plupart du temps, lorsque des combinaisons ne sont pas utilisées, on est
indifférent à la valeur de sortie. On utilise alors un X (au lieu d’un 0 ou 1) dans la table de
vérité. En anglais, cette condition est appelée un don’t care. Les mintermes ou maxtermes
qui ont des conditions indifférentes sont exprimées avec un d.
Les conditions indifférentes peuvent être utilisées dans les diagrammes de Karnaugh
pour créer des regroupements plus gros. Par contre, il n’est pas nécessaire d’utiliser ces
conditions ; on les utilise seulement pour faire des regroupements plus gros, pas pour créer
plus de regroupements.
Exemple 6
Y
YZ
00 01 11 10
WX
00 X 1 1 1
01 0 X 1 0
X
11 0 0 1 0
W
10 0 0 1 0
Exemple 7
C
CD
00 01 11 10
AB
00 1 X X X
01 1 X 0 X
B
11 0 0 X 1
A
10 0 0 X 1
La fonction est :
F = A0 C 0 + CD 0
On peut aussi utiliser les diagrammes de Karnaugh pour simplifier des fonctions
représentées par un produit de sommes. Dans ce cas-ci, on modifie un peu la procédure.
Au lieu de faire des regroupements de 1, on fait les regroupements avec des zéros ; ceci
nous donne le complément de la fonction. On applique ensuite le théorème de Demorgan
à la fonction simplifiée. Cette méthode fonctionne aussi avec les conditions indifférentes.
Exemple 8
Le diagramme de Karnaugh est montré à la figure 4.14. On regroupe les 0 au lieu des 1.
C
CD
00 01 11 10
AB
00 1 1 0 1
01 0 1 0 0
B
11 0 0 0 0
A
10 1 1 0 1
F 0 = AB + CD + BD 0
F = (A0 + B0 ) · (C 0 + D 0 ) · (B0 + D)