Chapitre1 Logique Combinatoire
Chapitre1 Logique Combinatoire
Chapitre1 Logique Combinatoire
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
Dans ce cours nous nous placerons toujours dans le cas de la logique positive :
3
Chapitre 1 Logique combinatoire
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
Notation : F = x
Table de vérité
X F= x
0 1
1 0
Relation caractéristique x = x ∀x
Fonction OU (OR).
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
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).
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
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
y x F = x• y
0 0 1
0 1 1
v c
1 0 1
1 1 0
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
y x F =x⊕ y
0 0 0
0 1 1
1 0 1
1 1 0
commutativité: A B=B A
associativité: (A B) C =A (B C) = A B C
y x F =x⊙ y
0 0 1
XNOR 0 1 0
1 0 0
1 1 1
8
Chapitre 1 Logique combinatoire
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.
x • y = y • x
x + y = y + x
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
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
qui ne sont rien d’autre que les relations caractéristiques de la loi OU.
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
- 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.
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.
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
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.
Exemples :
f(x,y) = x.y
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))
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.
12
Chapitre 1 Logique combinatoire
Exemples :
f(x,y) = (x + y ) ⋅ (x + y ) ⋅ (x + y )
F = (y + x) • (y • x) = (y + x) • (y + x) = produit de sommes
= y • x + x • y = somme de produits
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
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.
14
Chapitre 1 Logique combinatoire
B A M
0 0 1
0 1 0
1 0 0
1 1 ɸ
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.
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
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.
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 :
• 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.
19
Chapitre 1 Logique combinatoire
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.
Exemple 1:
20
Chapitre 1 Logique combinatoire
Exemple 2:
Exemple 3:
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 Φ ϕ
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.
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.
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 :
S = a.b.c +
24