Vous êtes sur la page 1sur 24

Chapitre 1 Logique combinatoire

Introduction générale : champ d'application de


l'automatisme
L'automatisme consiste en l'étude de la commande de systèmes industriels.

La première amélioration des conditions de travail a été de remplacer l'énergie humaine


fournie par l'ouvrier par une machine (P.O. ).

L'opérateur commande la machine, et regarde le résultat obtenu. Il adapte ses commandes en


fonction du déroulement du processus.

L'automatisme débute lorsque l'on intercale entre l’opérateur et la P.O. une P.C. qui prend
certaines décisions (gestion automatique des cas les plus simples et les plus courants).

La P.C. lit les informations sur la P.O. par l'intermédiaire de capteurs, et commande les

1
Chapitre 1 Logique combinatoire

actionneurs de la P.O. Le but est de prendre en compte par la P.C. tout ce qui est répétitif et
simple, en laissant à l'opérateur les tâches nobles de réflexion. La P.C. doit nécessairement
"tout savoir" : toute information ou commande, même non traitée par elle, devrait passer
par elle. Il reste néanmoins quelques phénomènes difficiles à mesurer, ou dont la mesure
coûte trop cher par rapport à la probabilité qu'ils se produisent, ou non prévus. Pour cela,
l'opérateur−contrôleur reste nécessaire.

Nous nous identifierons toujours à la partie commande. Nous appellerons donc entrées les
commandes de l'opérateur ainsi que les informations reçues des capteurs. Nous appellerons
sorties les commandes envoyées à la P.O. ainsi que les informations transmises à
l'opérateur.

On peut "classifier" les différents cas. La première distinction qui a été faite a été de séparer
le Tout Ou Rien (allumé ou non, appuyé ou non, ouvert ou fermé... représenté par 0 ou 1)
de l'analogique (grandeurs représentées par une valeur réelle, comme l'électronique par
exemple). Désormais, le numérique (gestion de l'analogique par une combinaison de
composants ToR, donc regroupement de zéros et de uns pour former des valeurs), tend à
englober tous les cas, en premier lieu par son coût plus faible, en second lieu par les
possibilités de programmation donc d'évolution.
Une autre distinction peut se faire entre le combinatoire (les sorties dépendent uniquement
de l'état actuel des entrées) et le séquentiel (les sorties dépendent des entrées et de
l'historique, c'est à dire de ce qui s'est passé auparavant). Le séquentiel en numérique est
souvent appelé automatique, en analogique plutôt asservissement.

2
Chapitre 1 Logique combinatoire

Chapitre 1
Logique combinatoire

En électronique numérique on manipule des variables logiques conventionnellement


repérées par les valeurs 0 ou 1. Ces grandeurs obéissent à des règles d’algèbre particulières
qu’il est indispensable de maîtriser avant d’entreprendre l’analyse ou la synthèse de circuits
numériques. Dans ce chapitre nous énoncerons les principes et les règles de calcul de
l’algèbre logique, appelé aussi algèbre de Boole, puis nous les appliquerons à l’écriture et à
la manipulation des fonctions logiques.

1.1. Variables et fonctions logiques.


1.1.1. Variables logiques
On appelle variable logique une variable qui ne peut prendre que deux valeurs
conventionnellement repérées par 0 et 1. On parle aussi de variable binaire. Chacune de ces
deux valeurs est associée à une grandeur physique, par exemple la tension du collecteur
d’un transistor, ce qui permet de faire le lien entre une étude théorique utilisant l’algèbre
de Boole et un circuit électronique. Deux cas de figure se présentent :

Logique positive Logique négative

0 Valeur algébrique minimum Valeur algébrique maximum

1 Valeur algébrique maximum Valeur algébrique minimum

Dans ce cours nous nous placerons toujours dans le cas de la logique positive :

• La variable 0 sera associée à un niveau bas (typiquement une tension nulle)


• La variable 1 sera associée à un niveau haut (une tension positive de 5 V par
exemple dans le cas des circuits électroniques réalisés en technologie TTL)

3
Chapitre 1 Logique combinatoire

1.1.2. Fonctions logiques


Une fonction logique F des n variables logiques ( x1 , x 2 ...x n ) , notée par exemple

F = f( x1 , x 2 ...x n ) , associe une valeur 0 ou 1 aux différentes combinaisons possibles des


n variables logiques ( x1 , x 2 ...x n ) . Chaque variable logique xi pouvant prendre la valeur 0
ou 1, il y a au total 2n combinaisons possibles des variables logiques ( x1 , x 2 ...x n ) et on

définit complètement une fonction logique en donnant sa valeur pour chacune de ces
combinaisons.

Les fonctions logiques peuvent être représentées sous forme de tables, appelées tables
de vérité, donnant la valeur de la fonction pour chaque combinaison des variables logiques.
Considérons par exemple une fonction F de deux variables x et y. Il y a donc 22= 4
combinaisons possibles de ces deux variables. Une table de vérité donne la valeur de F pour
chacune des 22 combinaisons possibles de ces 2 variables. On trouve généralement 2
types de représentations comme indiqué ci-dessous.

y x F
x
0 0 0 0 1
y

0 1 1 0 0 1

1 0 0 1 0 1

1 1 1 F

L’écriture de la table de vérité fait partie de l’analyse d’un système donné. A l’inverse
une fois la table de vérité connue, il faut pouvoir déterminer le schéma électronique
permettant de réaliser cette table: c’est la phase de synthèse.

4
Chapitre 1 Logique combinatoire

1.2. Définition d’une algèbre logique.


Une algèbre logique se définit par l’existence de trois lois, ou fonctions logiques de
base : fonction inversion, fonction somme logique et fonction produit logique.

1.2.1. Fonctions logiques de base.

Fonction inversion NON (NOT).

Cette fonction est également appelée complément.

Notation : F = x

Table de vérité

X F= x

0 1

1 0

Relation caractéristique x = x ∀x

Fonction OU (OR).

C’est une fonction de deux variables également appelée somme logique

Notation : F = x + y

Table de vérité

y x F =x+ y

0 0 0

0 1 1

1 0 1

1 1 1

La fonction OU vaut 1 si au moins une des variables vaut 1.

5
Chapitre 1 Logique combinatoire

Relations caractéristiques :

x + 0 = x : élément neutre
x +1=1 : élément absorbant
x + x = x : idempotence
x + x = 1: complémentaire

Fonction ET (AND).

C’est une fonction de deux variables également appelée produit logique

Notation : F = x • y

Table de vérité

y x F = x• y

0 0 0

0 1 0

1 0 0
1 1 1

La fonction ET ne vaut 1 que si toutes les variables valent 1.

Relations caractéristiques :

x • 0 = 0 : élément absorbant
x •1 = x :élément neutre
x • x = x : idempotence
x • x = 0 : complémentaire

Sur les schémas de circuits électroniques les fonctions logiques sont représentées par
des symboles que l’on appelle généralement ”portes logiques”. Les fonctions NON, ET et
OU (notés respectivement INV, AND, OR) sont associées aux symboles suivants :

v c
On rencontre aussi d’autres fonctions logiques réalisées à partir des 3 fonctions précédentes.
6
Chapitre 1 Logique combinatoire

1.2.2. Fonctions logiques universels


Autres que les fonctions logiques de base, il existe deux fonctions universels:

La fonction NON ET (NAND)

La fonction NON ET est obtenue en complémentant la fonction ET F = x • y . La table


de vérité et le symbole associés à cette fonction sont :

y x F = x• y
0 0 1

0 1 1
v c
1 0 1

1 1 0

La fonction NON OU (NOR)

La fonction NON OU est obtenue en complémentant la fonction OU F = x + y . La


table de vérité et le symbole associés à cette fonction sont :

y x F =x+ y
0 0 1

0 1 0

1 0 0
v c
1 1 0

Les deux opérateurs NOR et NAND sont universels ou dit complets, vue qu’ils peuvent être utilisés
indifféremment pour synthétiser une même fonction. En pratique, le NAND est plus rapide que le
NOR, il est donc plus utilisé.

7
Chapitre 1 Logique combinatoire

1.2.3. La fonction OU EXCLUSIF (XOR).


La fonction OU EXCLUSIF ne vaut 1 que si les deux entrées sont différentes. Elle
s’écrit F = x ⊕ y = x • y + x • y. La table de vérité et le symbole associés à cette fonction

y x F =x⊕ y

0 0 0

0 1 1

1 0 1

1 1 0

Les propriétés de la fonction OU EXCLUSIF sont:

commutativité: A B=B A

associativité: (A B) C =A (B C) = A B C

élément neutre 0: A 0=A

La fonction N O N - OU EXCLUSIF (XNOR) est la fonction complémentaire de la fonction


OU EXCLUSIF, ne vaut 1 que si les deux entrées sont égales. Elle s’écrit :

F = x ⊙ y = x • y + x • y. La table de vérité et le symbole associés à cette fonction :

y x F =x⊙ y

0 0 1
XNOR 0 1 0

1 0 0
1 1 1

8
Chapitre 1 Logique combinatoire

1.2.4. Propriétés des fonctions logiques de base.

1. Les représentations des fonctions ET et OU par les symboles • et + sont faites par
analogie avec la multiplication et l’addition en algèbre ordinaire en considérant les
éléments neutres. En principe aucune confusion n’est à craindre ! Nous ne
manipulerons jamais à la fois les lois ET et OU et celles de l’algèbre ordinaire.
Notons également qu’il n’existe pas de « lois inverses » analogue à la soustraction
ou la division en algèbre ordinaire.

2. Les fonctions ET et OU sont commutatives.

x • y = y • x
x + y = y + x

3. Les fonctions ET et OU sont distributives l’une par rapport à l’autre.

x • (y + z) = (x • y) + (x • z) distributivité de ET par rapport à OU

x + (y • z) = (x + y) • (x + z) distributivité de OU par rapport à ET

Il faut s’habituer à la distributivité de OU par rapport à ET qui n’a pas d’analogue en


algèbre ordinaire!

4. Dans les expressions logiques (formules ne faisant intervenir que des variables
logiques et les trois lois ci-dessus) il existe un ordre de priorité qui est le suivant en
décroissant :

NON, ET , OU .

Ces règles de priorité dispensent d’un certain nombre de parenthèses. Par exemple

x + (y + z) = (x + y) + z = x + y + z

x • (y • z) = (x • y) • z = x • y • z

x + (y • z) = x + y • z

≠ (x +y) • z

9
Chapitre 1 Logique combinatoire

1.2.5. Théorème de Morgan


C’est une des propriétés les plus importantes des fonctions logiques. Elle repose sur la
remarque suivante :

Les relations caractéristiques des lois ET et OU sont invariantes dans leur ensemble
lors de la transformation + → •, • → +, x → x, x → x . Partons par exemple des relations
constitutives de la loi ET

0 • x = 0, et 1 • x = x quelque soit x

Elles se transforment en

1 + x =1, et 0 + x = x quelque soit x

qui ne sont rien d’autre que les relations caractéristiques de la loi OU.

Le théorème de De Morgan est symbolisé par :

x• y=x + y

x + y=x • y

Mais, il est très général et porte sur toutes relations. Ainsi le complément d’une fonction
logique sera obtenu en remplaçant les variables par leurs compléments, les signes + par
des • et les signes • par des +.

En paragraphe 1.2.2 on a noté que les deux opérateurs NOR et NAND sont universels
vue qu’ils peuvent être utilisés indifféremment pour synthétiser une même fonction. En
particulier, ils peuvent être utiliser pour la réalisation des trois fonctions simples en appliquant
les propriétés citées.
L'opérateur NAND pour la :
- réalisation de la fonction inverse : 𝑥 𝑥
𝑥̅ 𝑥̅
• relier les deux entrées ensembles, ou bien 1
• mettre toujours à 1 l'une des entrées.

- réalisation de la fonction ET :
x
• Il suffit d'inverser la sortie de la porte NAND par X.y
y
une deuxième porte NAND montée en inverseur.
- réalisation de la fonction OU :
• Il suffit d’inverser les deux entrées par deux portes NAND montées en inverseur.
𝑥
𝑥̅
𝑥+𝑦
10
𝑦
𝑦ത
Chapitre 1 Logique combinatoire

L'opérateur NOR pour la :

- réalisation de la fonction inverse:


• relier les deux entrées ensembles, ou bien
• mettre toujours à 0 l'une des entrées.

- réalisation de la fonction ET:


• Il suffit d’inverser les deux entrées par deux portes NOR montées en inverseur.

- réalisation de la fonction OU :
• Il suffit d'inverser la sortie de la porte NOR par une deuxième porte NOR montée en inverseur.

1.2.6. Quelques relations utiles.


En appliquant des règles d’algèbre du Boole, qui ont été énoncées plus haut, on peut
démontrer un certain nombre de relations très utiles.

x+ x• y = x
x+ x• y = x+ y
x • ( x + y) = x
x • ( x + y) = x • y
x • A+ x • B + A• B = x • A+ x • B
( x + A) • ( x + B) • ( A + B) = ( x + A) • ( x + B)

Ces relations permettent, avec un peu de pratique, de simplifier l’écriture des fonctions logiques.
Les deux dernières relations sont connues sous le nom de relations du consensus.

1.2.7. Formes canoniques des expressions logiques.


Une expression logique F peut s’écrire sous un grand nombre de formes différentes. Deux
d’entre elles, dites formes canoniques, sont particulièrement utiles.

a – Première forme canonique : somme de produits canonique d’une fonction

• cas d’une fonction d’une variable

On considère une fonction f de la variable binaire x. Soit f(1) la valeur de la fonction quand x = 1
et f(0) sa valeur quand x = 0. On vérifie aisément que l’on a :

f (x ) = x ⋅ f (1) + x ⋅ f (0)

11
Chapitre 1 Logique combinatoire
• cas d’une fonction de deux variables

On considère une fonction de deux variables binaires x et y. A partir du cas précédent, on en


déduit la relation :

f (x, y ) = x ⋅ y ⋅ f (1,1) + x ⋅ y ⋅ f (1,0) + x ⋅ y ⋅ f (0,1) + x ⋅ y ⋅ f (0,0)

Les termes f(0,0), f(1,0), f(0,1) et f(1,1) représentent les 4 valeurs que peut prendre la fonction pour
les états d’entrées correspondantes.

Toute fonction de 2 variables binaires peut s’écrire comme l’expression précédente, c’est–à–dire
comme la somme de (termes) produits de monômes. Cette expression constitue la première forme
canonique de toute fonction logique de deux variables.

On peut étendre à un nombre quelconque de variables ; si n est le nombre de variables, la


n
forme canonique comportera 2 produits de monômes.

Exemples :

fonction ET : f(0,0) = 0, f(1,0) = 0, f(0,1) = 0 et f(1,1) = 1, on en déduit le résultat :

f(x,y) = x.y

On a développé la fonction par les 1

fonction OU exclusif : f(0,0) = 0, f(1,0) = 1, f(0,1) = 1 et f(1,1) = 0, on en déduit le résultat :


f(x,y) = x ⋅ y + x ⋅ y

b – Seconde forme canonique : produit de sommes canonique d’une fonction

• cas d’une fonction d’une variable

On considère une fonction f de la variable binaire x. Soit f(1) la valeur de la fonction quand x = 1
et f(0) sa valeur quand x = 0. On vérifie aisément que l’on a :

f (x ) = (x + f (0)) ⋅ (x + f (1))

• cas d’une fonction de deux variables

On considère une fonction de deux variables binaires x et y. A partir du cas précédent,


on en déduit la relation :

f (x, y ) = (x + y + f ( 0,0 )) ⋅ (x + y + f ( 0,1)) ⋅ (x + y + f (1,0)) ⋅ (x + y + f (1,1))


Les termes f(0,0), f(1,0), f(0,1) et f(1,1) représentent les 4 valeurs que peut prendre la fonction
pour les états d’entrées correspondantes

Toute fonction de 2 variables binaires peut s’écrire comme l’expression précédente, c’est–à–
dire comme le produit de sommes de monôme. Cette expression constitue la seconde forme
canonique de toute fonction logique de deux variables.

On peut étendre à un nombre quelconque de variables ; si n est le nombre de


n
variables, la forme canonique comportera 2 produits de monômes.

12
Chapitre 1 Logique combinatoire

Exemples :

fonction ET : f(0,0) = 0, f(1,0) = 0, f(0,1) = 0 et f(1,1) = 1, on en déduit le résultat :

f(x,y) = (x + y ) ⋅ (x + y ) ⋅ (x + y )

On a développé la fonction par les zéros.

fonction OU exclusif : f(0,0) = 0, f(1,0) = 1, f(0,1) = 1 et f(1,1) = 0, on en déduit le


résultat :
f(x,y) = (x + y ) ⋅ (x + y )

La recherche d’une forme canonique correspond en fait à la première étape de


simplification d’une fonction logique. Cela peut se faire, soit en utilisant les règles de
l’algèbre de Boole, soit directement à partir de la table de vérité de la fonction.

Considérons par exemple la fonction F = ( y + x) • ( y • x) , son expression sous forme

canonique peut s’obtenir de deux façons.

• A partir des règles d’algèbre :

F = (y + x) • (y • x) = (y + x) • (y + x) = produit de sommes

= y•y + y•x + x•y +x • x

= y • x + x • y = somme de produits

• A partir de la table de vérité de la fonction logique.

On commence par dresser la table de vérité en calculant la valeur de la fonction F pour les
4 combinaisons possibles des variables x et y.

y x F

0 0 0

0 1 1

1 0 1

1 1 0

Sous la forme de somme de produits : on considère que les lignes ou F= 1, Dans ces lignes
une variable égale à zéro, on fait correspondre son complément, une variable égale à un, on fait
13
Chapitre 1 Logique combinatoire

correspondre elle-même.
Pour chaque ligne, on écrit le produit logique correspondant (terme), puis on termine en
faisant la somme de ces produits.

F = y • x + x • y = somme de produits

Ligne 3 ligne 2

Sous la forme de produit de sommes : on considère que les lignes ou F= 0, Dans ces lignes
une variable égale à un, on fait correspondre son complément, une variable égale à zéro, on fait
correspondre elle-même.
Pour chaque ligne, on écrit la somme logique correspondant (terme), puis on termine en
faisant le produit de ces sommes.
F = (y + x) • (x + y) = produit de sommes

Fonctions incomplètement définies

On appelle « fonction incomplètement définie » une fonction non définie pour certaines
combinaisons des variables d’entrée. On note cet état par le symbole ɸ. Le fait de faire
intervenir cet état indéfini permet encore de simplifier l’équation logique.
Une fonction est incomplète soit :
• Parce qu’elle n’a pas de sens logique tel que la valeur 1100 en DCB.
• Parce que la combinaison logique n’est pas réalisable (empêchement physique). Par
exemple :
Soit un chariot, animé par un moteur M à double sens de rotation (Droite,
Gauche). Le chariot se déplace entre deux butées A et B en fonction de
l’état du moteur M (marche ou arrêt). Déterminer l’équation logique du
moteur M en fonction des boutons de fin de cours A et B.

• M =1 quand le moteur fonctionne.


• M = 0 quand le chariot se trouve en A ou en B.
• M = 1 quand le chariot n'est pas en A ou en B.
On se propose de chercher la fonction logique du moteur M :
• Si le chariot se trouve en butée gauche c'est à dire A= 0 et B= 1 donc M=0 ;
• Si le chariot se trouve en butée droite c'est à dire A= 1 et B= 0 donc M=0 ;
• Si le chariot se trouve ni en butée gauche, ni en butée droite c'est à dire A= 0 et B= 0
donc M=1 ;
• Si le chariot se trouve à la fois en butée gauche et en butée droite c'est à dire A= 1 et
B= 1, quelle est la valeur de M ? Comme cette situation n'est jamais réalisée, on peut
attribuer pour M n'importe quelle valeur 1 ou 0.

14
Chapitre 1 Logique combinatoire

B A M
0 0 1

0 1 0

1 0 0

1 1 ɸ

1.3. Simplification des fonctions logiques.


Nous venons de voir que toute fonction logique peut être associée à deux expressions
logiques (correspondant aux deux formes canoniques). On entend en général par
simplification la réduction de ces expressions à un minimum de termes contenant chacun
un minimum de variables.

1.3.1. Simplification par la méthode algébrique :


Cette méthode consiste à appliquer les principes de l'algèbre de Boole, et tout
particulièrement :

- en regroupant des termes à l'aide des identités remarquables,

- en ajoutant des termes déjà existant,

- en supprimant un terme superflu (consensus),

- en choisissant par fois la fonction complémentée si elle a un minimum de termes.

Exemples:

Exemple 1:

Exemple 2:

15
Chapitre 1 Logique combinatoire

Exemple 3:

Exemple 4:

Avec un peu d’habitude un examen attentif des expressions logiques suffit à dégager
les simplifications. Le point de départ le plus commode est la première forme canonique car
les simplifications y paraissent plus familières compte tenu des analogies avec la
distributivité de la multiplication par rapport à l’addition.

Pour les fonctions de quatre ou cinq variables au plus, il existe cependant « une
méthode graphique » permettant d’obtenir simplement la forme la plus simplifiée de la
fonction logique.

1.3.2. Simplification d’une fonction logique par la méthode des


tables de Karnaugh
Commençons par définir ce que nous appelons une table de Karnaugh.

a. Tables de Karnaugh

Il s’agit d’un tableau à double entrée dans lequel chaque combinaison des variables
d’entrée est associée à une case qui contient la valeur de la fonction. Cependant, la
disposition des cases est telle que deux cases adjacentes correspondent à des
combinaisons adjacentes des variables d’entrée, c’est à dire des combinaisons ne diffèrent
que par la complémentation d’une seule variable. On utilise donc le code de Gray.

Le code de Gray est un codage binaire, c'est-à-dire une fonction qui associe à chaque
nombre une représentation binaire mais il est symétrique et réfléchi.

Cette méthode est différente du codage binaire naturel. Le tableau suivant montre
partiellement le codage sur 3.
16
Chapitre 1 Logique combinatoire

Codage décimal Codage binaire naturel Codage Gray ou binaire réfléchi

0 000 000

1 001 001

2 010 011

3 011 010

4 100 110

5 101 111

6 110 101

7 111 100

La différence principale entre les deux est le fait que le codage de Gray de deux nombres
consécutifs ne diffère que d'une position. Par exemple 5 est codé par 111, et 6 est codé par
101 : seul le troisième bit change.

Exemple de représentation de Karnaugh d'une fonction :

Il est important de noter que la table de vérité, l'écriture algébrique d'une fonction et le
tableau de Karnaugh ne sont que des formes d'écriture différentes du même phénomène. En
effet, la représentation d'une fonction peut être définie par :

• une suite de termes:

• sa table de vérité:

17
Chapitre 1 Logique combinatoire

Décimale D C B A F

0 0 0 0 0 1

1 0 0 0 1 0

2 0 0 1 0 1

3 0 0 1 1 0

4 0 1 0 0 0

5 0 1 0 1 0

6 0 1 1 0 0

7 0 1 1 1 0

8 1 0 0 0 0

9 1 0 0 1 0

10 1 0 1 0 0

11 1 0 1 1 1

12 1 1 0 0 0

13 1 1 0 1 0

14 1 1 1 0 0

15 1 1 1 1 1

• sa table de Karnaugh:
A chaque case de la table de Karnaugh, on associe le nombre décimal correspondant
à son équivalent en code binaire naturel (DCBA). Numérotation décimale des cases dans
le diagramme de karnaugh:
Par convention, le nombre décimal équivalent à une case associe au nombre binaire
exprimé par DCBA est égale : D.23+C.22+B.21+A.20 .

18
Chapitre 1 Logique combinatoire

Exemples

Pour les entrées DCBA qui valent respectivement 0000 on associe la case 0
Pour les entrées DCBA qui valent respectivement 0111 on associe la case 7
Pour les entrées DCBA qui valent respectivement 1110 on associe la case 14

DC\BA 00 01 11 10

00 1 0 0 1 0 3 1 2

01 0 4 0 5 0 7 0 6

11 0 12 0 13 1 0 14
15

10 0 8 0 9 1 11 0 10

La case 2 correspond à A = 0 ; B = 1 ; C = 0 ; D = 0
La case 3 correspond à A = 1 ; B = 1 ; C = 0 ; D = 0
Lorsque nous passons de 2 à 3, seule la variable "A" change d'état : 2 et 3 sont adjacentes.

Lorsque nous passons de 2 à 0, seule la variable "B" change d'état : 2 et 0 sont adjacentes.

Lorsque nous passons de 2 à 6, seule la variable "C" change d'état : 2 et 6 sont adjacentes.

Enfin, lorsque nous passons de 2 à 10, seule la variable "D" change d'état :2 et 10 sont
adjacentes.

Nous venons de déterminer les adjacences de la case n° 2. Cette notion de cases


adjacentes est fondamentale.
Bien que cela ne soit pas évident à priori, il faut se rendre compte que, sur une ligne
donnée, les cases de la première et de la quatrième colonnes correspondent à des
combinaisons adjacentes ne différant que par la valeur de variable B (0 dans la première
colonne et 1 dans la quatrième). Il faut donc s’imaginer la table de Karnaugh comme enroulée
sur elle-même de sorte que les colonnes 1 et 4 se touchent. Le même raisonnement tient
aussi pour les lignes 1 et 4 puisque, sur une colonne donnée, les combinaisons de ces
deux lignes ne diffèrent que par la valeur de la variable D (1 sur la ligne du bas et 0 sur
celle du haut). La table de Karnaugh doit donc également se concevoir comme étant
enroulé sur elle-même de bas en haut.

19
Chapitre 1 Logique combinatoire

b. Simplification des fonctions logiques.

La méthode de Karnaugh pour la simplification d'une fonction est basée sur la remarque
suivante : considérons les 2 termes d'une somme logique :

Une variable disparaît par regroupement de deux termes qui contiennent les mêmes
variables à l'exception d'une seule qui apparaît sous forme vraie dans un terme et sous forme
complémentée dans l'autre. La variable qui disparaît est celle qui apparaissait sous les deux
formes.

Remarque :
Il est possible de regrouper les cases par des puissances de 2. C'est à dire par 2, par 4,
par 8, cet 2k. Dans un tableau de Karnaugh de 4 variables les regroupements doivent être en
ligne ou en colonne, ou en carré. Il faut utiliser toutes les cases qui ont 1 au moins une fois,
de même il est recommandé de chercher à regrouper le plus grand nombre possible de cases,
car les simplifications obtenues sont plus importantes. Les regroupements doivent être d’un
nombre minimal et peuvent s'entrecroiser.
Lorsque l'on regroupe 2 cases, on ramène à un seul terme les deux termes
correspondants de l'équation booléenne. La variable qui change de valeur dans les deux
cases n'y figure plus.
Lorsque l'on regroupe 4 cases, on ramène à un seul terme les quatre termes
correspondants de l'équation booléenne. Les deux variables qui changent de valeur dans
les quatre cases n'y figurent plus
Lorsque l'on regroupe 8 cases, on ramène à un seul terme les huit termes
correspondants de l'équation booléenne. Les trois variables qui changent de valeur
dans les huit cases n'y figurent plus.

Pour une fonction de n variables, un regroupement de 2k cases résultant de k simplifications


successives correspond à un terme de (n-k) variables.

Exemple 1:

20
Chapitre 1 Logique combinatoire

Exemple 2:

Exemple 3:

Cas de fonction incomplète


Il peut arriver que la valeur de la fonction logique ne soit pas définie pour certaines
combinaisons des variables logiques. Cela signifie que pour ces combinaisons la valeur de
la fonction est indifférente (souvent parce que ces combinaisons ne se produisent jamais
ou qu’elles ne sont pas jugées pertinentes). C’est le cas par exemple de la fonction F définie
par la table de vérité ci-contre.

21
Chapitre 1 Logique combinatoire

t z y x F

0 0 0 0 1

0 0 0 1 0

0 0 1 0 1

0 0 1 1 0

0 1 0 0 0

0 1 0 1 1

0 1 1 0 0

0 1 1 1 1

1 0 0 0 1

1 0 0 1 1

La fonction F n’est définie que pour 10 des 16 combinaisons possibles des 4 variables
logiques x, y, z et t. Pour les 6 autres combinaisons la valeur de F est sans importance et
peut donc être choisie librement. La table de Karnaugh correspondante est écrite ci-dessous.
Les six cases correspondant aux combinaisons pour lesquelles la fonction F n’est pas
définie sont remplies par des ϕ. Pour ces six combinaisons la valeur de la fonction peut
être choisie librement (ϕ = 0 ou 1).

0
x 1 1 0
t z y 0 0 1 1

0 0 1 0 0 1

0 1 0 1 1 0

1 1 ϕ ϕ ϕ ϕ

1 0 1 1 Φ ϕ

Lors de la simplification, on choisit pour chaque ϕ la valeur 0 ou 1 afin d’obtenir la


fonction la plus simple possible. La fonction simplifiée s’écrit ainsi à partir de trois
regroupements :

F = x • z + x• z + t

22
Chapitre 1 Logique combinatoire

Les fonctions incomplètement spécifiées laissent donc certains degrés de liberté pour
effectuer les regroupements. Le choix doit s’effectuer au cas par cas en fonction de la
possibilité de regroupements les plus gros et les moins nombreux possible.

1.3.3. Conclusion
La méthode des tables de Karnaugh est très efficace pour simplifier les fonctions
logiques et ne pose aucun problème si elle est appliquée correctement en respectant les
règles suivantes :

1. Il faut regrouper tous les 1 par groupes de 2, 4, 8 ou 16 (2k) les plus gros et les moins
nombreux possibles. Chaque case avec 1 peut appartenir à plusieurs regroupements
différents.

2. Il est généralement astucieux de commencer par les 1 les plus isolés.

3. Il peut parfois être plus rapide de calculer F en regroupant les 0 puis de revenir à F en
complémentant le résultat.

4. Lorsque la valeur de la fonction logique n’est pas précisée pour certaines combinaisons des
variables logiques, on écrit un ϕ dans les cases correspondantes de la table de Karnaugh. Au
moment de la simplification, on donne à chaque ϕ la valeur 0 ou 1 de façon à simplifier au
maximum la fonction 0.

Exemple de fonction à 5 variables d’entrée :

Soit l'équation suivante :

S=

On peut déjà constater qu'il y a cinq variables et non plus quatre. Voici à quoi ressemble une
table de Karnaugh avec cinq entrées :

On constate qu’on a mis les variables a, b et c sur les colonnes et d et e sur les lignes. Ensuite,
23
Chapitre 1 Logique combinatoire
on remplit le tableau :

Voici comment procéder terme par terme :


-> Pour le terme a.b.c, on a pris la colonne où a, b et c valent 1 et on l'a entièrement rempli,
puisqu’il n’y a aucune information sur d et e.
-> Pour a.b.c.d, on a pris la colonne où a, b, c valent 1 et les lignes où d vaut 1. Rien à remplir
comme il y avait déjà des 1 placés à cause du premier terme.
-> Pour , on a pris les colonnes où a vaut 1 et la ligne où d vaut 0 et e 1.
-> Pour , on a pris la case où a vaut 1 et b vaut 0, et où d vaut 0 et e vaut 1 ; rien à
remplir.

L’équation est beaucoup simplifiée et donnée par :

S = a.b.c +

24

Vous aimerez peut-être aussi