Académique Documents
Professionnel Documents
Culture Documents
Exemple de base
Dans les exemples suivants, nous découvrons la table de vérité pour certaine porte logique. Par
exemple, pour que la sortie de la porte logique ET soit activée, nous devons avoir les deux entrées à 1.
Alors que la porte logique OU n'a besoin que d'une des entrées pour afficher un 1 à la sortie.
Exemple composé
Table de vérité de a. (b + c)
a b c a.(b + c)
0 0 0 0
0 0 1 0
1
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
Le '.' se dit et, le '+' se lit ou.
On lit dans ce tableau: a et (b ou c)
Pour valider cette table, il faut donc que le a soit à l'état 1, ainsi que b ou c.
Les et et ou sont les opérateurs d'un état logique. On note les entrées "E" et les sorties "S".
tables de Karnaugh
Une table de Karnaugh sert à simplifier des équations logiques ou à trouver l'équation logique
correspondant à une table de vérité. La méthode utilisée est graphique et simple. Elle utilise le code
Gray ou binaire réfléchi, qui a comme propriété principale de ne faire varier qu'un seul bit entre deux
mots successifs (la distance de Hamming de deux mots successifs du code de Gray est égale à 1).
Cette méthode a été développée par Maurice Karnaugh en 1953, en perfectionnant un
diagramme similaire introduit en 1952 par Edward Veitch.
Principe
Un tableau de Karnaugh peut être vu comme une table de vérité particulière, à deux
dimensions, destinées à faire apparaître visuellement les simplifications possibles.
Supposons 2n ou 2n+1 variables: on assignera par exemple n ou n+1 variables au repérage des
lignes, les n autres variables au repérage des colonnes. Chaque case élémentaire correspond alors à une
seule ligne et à une seule colonne, donc à une seule combinaison des variables.
Examinons le cas d'une fonction S des quatre variables A, B, C, D, les variables A et B étant
assignées aux lignes, C et D aux colonnes de la table ci-dessous.
Table de Karnaugh
S CD 00 01 11 10
AB
00 0 1 1 0
01 0 1 1 1
11 0 1 1 1
10 0 1 1 0
Cette table est proche du diagramme de Veitch antérieur. Pour rendre plus évidentes les
simplifications cherchées, Karnaugh propose, pour la succession des valeurs données à C et D, ainsi
qu'à A et B, d'employer un code de Gray, de sorte que les valeurs de deux repères consécutifs ne
diffèrent que par la modification d'une seule variable, et fasse apparaître des symétries utiles. Ainsi :
équations logiques
Méthode de recherche de l'équation:
Pour trouver l'équation de S, c'est simple. Il y a deux méthodes :
former une somme ;
former un produit.
La somme
Pour trouver une somme, il faut regrouper les valeurs de S égales à 1. Le nombre de 1 dans
chaque groupe doit être égal à une puissance de 2. Les groupes formés doivent être les moins
nombreux possibles, mais ils doivent englober tous les 1. Un 1 peut être inclus dans plus d'un groupe,
par contre aucun 0 ne doit être inclus. Les groupes sont composés d'une ou plusieurs colonnes et d'une
ou plusieurs lignes. Si possible, assemblez-les par valeurs d'entrées communes. Par exemple, la
colonne 2 et la colonne 3 ont pour valeur commune D=1. La ligne 1 et la ligne 4 ont la valeur B=0 en
commun.
Pour les tables à 4 variables, de préférence procéder dans l'ordre suivant :
Le rectangle 16 cases puis,
les rectangles 8 cases puis,
les rectangles 4 cases puis,
les rectangles 2 cases et,
enfin les cases uniques.
3
Utilisation de la table de Karnaugh
Dans l'exemple pris ci-dessus : on peut former un rectangle de 8 cases, puis un carré de 4 (le
rectangle des colonnes 2 et 3 et le carré au croisement des lignes 2-3 et des colonnes 3-4). Le rectangle
correspond à l'équation « D » car dans ces deux colonnes et dans ces deux colonnes seulement, D est
toujours égal à 1. Le carré correspond à l'équation « B·C » car dans ces cases et dans ces cases
seulement B=1 et C=1. S est représenté par l'union des 2 figures, et on obtient pour équation de S : « S
= D + B·C ».
Cette méthode, une fois assimilée, permet de trouver une équation au premier coup d'œil, et
propose une alternative simple à la simplification d'équation, qui peut rapidement devenir fastidieuse
(отегчително).
Les tables/tableaux de Karnaugh sont surtout utilisé(e)s en électronique. En effet, la
simplification de l'expression algébrique booléenne permet d'économiser des opérateurs logiques
(portes logiques) et donc des circuits. Elle engendre aussi une économie de temps de conception et de
fonds, tout en augmentant la fiabilité de l'ensemble.
En programmation, l'utilisation des tables de Karnaugh permet de réduire les séquences de
conditions de test complexes en les regroupant en des conditions non intuitives au premier abord, mais
qui réduisent la complexité effective du code (volume du source), ainsi que son temps d'exécution en
réduisant le nombre des évaluations nécessaires.
Le produit
Cette méthode ne regroupe pas les « 1 » mais les « 0 », pour trouver non pas une somme de
produits mais un produit de sommes.
En regroupant les 0, on trouve S' sous forme d'une somme, et par complémentation, on obtient
S sous forme de produit.
Ici, en regroupant les 0 de S (ou 1 de S') on obtient S' = C'D'+ B'D', le premier terme
regroupant la 1ère colonne, et le second les 4 coins. Donc, par la règle de De Morgan,
S = (C+D) · (B+D)
S est maintenant vu comme l'intersection de C+D, qui représente les colonnes 1 à 3, et de B+D,
qui représente le carré total hormis les 4 coins
équivalents décimaux
Représentation décimale par code binaire - exemples:
Conversion binaire - décimal
Convertissons 01001101 en décimal à l'aide du schéma ci-dessous:
27 26 25 24 23 22 21 20
0 1 0 0 1 1 0 1
77 = 64 + 13 = 64 + 12 + 1 = 64 + 8 + 4 + 1 = 26 + 23 + 22 + 20 = 1 0 0 1 1 0 1
Le schéma ci-dessous explique la méthode:
0 1 0 0 1 1 0 1
27 26 25 24 23 22 21 20
a b c F
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 0
Table de vérité d’une fonction complètement définie
Autant de termes que de fois que la fonction est égale à 1.Ce qui donne une écriture
"algébrique" en notant :
Cette forme d'écriture est appelée forme canonique, comme première forme canonique.
La seconde forme canonique est la suivante:
_ _ _ _ _ _
Y = (a + b + c). (a + b + c). (a + b + c). (a + b + c). (a + b + c)
6
_
(car x + x .y = x + y)
On ne peut pas simplifier plus.
7
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
\ ab
c
00 01 11 10
0 0 0 1 1
1 1 0 1 1
\ ab
c
00 01 11 10
0 0 0 1 1
1 1 0 1 1
_
Au final pour ce bloc, on a donc: bc.
Bloc le plus gros : a reste à 1, b passe de 0 à 1 et c passe de 0 à 1;
On ne conserve que les variables qui ne changent pas. Donc on a le terme: a;
_
Au final: g(a,b,c) = a+bc.