Synthèse des systèmes logiques

 

 

I : Formes canoniques *

I.1 : Première forme canonique *

I.1.a : définition des mintermes *

I.1.b : Expression algébrique des mintermes *

I.1.c : Expression d’une fonction à partir des mintermes *

I.2 : Deuxième forme canonique *

I.2.a : définition des maxtermes *

I.2.b : Expression algébrique des maxtermes *

I.2.c : Expression d’une fonction à partir des maxtermes *

I.3 : Choix de la forme canonique *

II : Synthèse d’un distributeur de café *

II.1 : Cahier des charges *

II.2 : Afficheur 7 segments *

II.3 : Table de vérité *

II.4 : Forme canonique des fonctions *

II-5 : Logigramme *

III : Tableaux de Karnaugh *

III.1 : Présentation des tableaux de Karnaugh *

III.1.a : Définition *

III.1.b : Exemple d’un tableau à 4 variables *

III.2 : Représentation d’une fonction par tableau de Karnaugh *

III.2.a : Cas général *

III.2.b : Représentation d’un minterme *

III.2.c : Représentation d’un produit quelconque *

III.3 : Détermination de l’expression d’une fonction d’après son tableau de Karnaugh *

III.3.a : Formes canoniques *

III.3.b Formes minimales *

III.4 : Circuit en " trois couches " *

III.5 : Exemple de synthèse en " trois couches " *

III.5.a : Table de vérité *

III .5.b : Tableau de Karnaugh *

III.5.c : Expression algébrique de la fonction *

III.5.d : Logigramme en trois couches *

 

 

I : Formes canoniques

Théorème : Toute fonction logique peut s’exprimer sous forme algébrique en n’utilisant que la somme, le produit et la négation logiques.

Nous allons voir comment, à partir de sa table de vérité, toute fonction peut s’écrire sous deux formes particulières appelées formes canoniques et utilisant des fonctions dénommées mintermes et maxtermes.

 

I.1 : Première forme canonique

I.1.a : définition des mintermes

Soit un mot binaire de n variables (un problème logique avec n variables d’entrées logiques). Il existe 2n états binaires possibles pour ce mot binaire. Par conséquent, il existe 2n fonctions de ces n variables ne comportant qu’un seul ‘1’ dans leur table de vérité.

On appelle ces fonctions des mintermes et on les note mi, i étant l’équivalent décimal de l’unique état binaire pour lequel le minterme vaut ‘1’.

Exemple pour une entrée à trois variables :

e.d.

mot d’entrée

mintermes

n

%C B A

m0

m1

m2

m3

m4

m5

m6

m7

0

0 0 0

1

0

0

0

0

0

0

0

1

0 0 1

0

1

0

0

0

0

0

0

2

0 1 0

0

0

1

0

0

0

0

0

3

0 1 1

0

0

0

1

0

0

0

0

4

1 0 0

0

0

0

0

1

0

0

0

5

1 0 1

0

0

0

0

0

1

0

0

6

1 1 0

0

0

0

0

0

0

1

0

7

1 1 1

0

0

0

0

0

0

0

1

I.1.b : Expression algébrique des mintermes

Dans notre exemple, choisissons le minterme m3.

On peut énoncer : m3=1 ssi %CBA=%011

Ou encore : m3=1 si ( C=0 ET B=1 ET A=1 ) ou m3=1 si (/C=1 ET B=1 ET A=1).

Soit : m3=/C.B.A

On obtient l’expression algébrique du minterme à partir de sa table de vérité.

Il faut noter que l’expression du minterme comprend toujours toutes les variables d’entrées soit sous leur forme directe, soit sous leur forme complémentée.

I.1.c : Expression d’une fonction à partir des mintermes

Considérons à titre d’exemple la fonction majorité S à trois variables A, B, C. Voici sa table de vérité à laquelle on adjoint la table de vérité des mintermes :

e.d.

mot d’entrée

S

mintermes

n

%C B A

m0

m1

m2

m3

m4

m5

m6

m7

0

0 0 0

0

1

0

0

0

0

0

0

0

1

0 0 1

0

0

1

0

0

0

0

0

0

2

0 1 0

0

0

0

1

0

0

0

0

0

3

0 1 1

1

0

0

0

1

0

0

0

0

4

1 0 0

0

0

0

0

0

1

0

0

0

5

1 0 1

1

0

0

0

0

0

1

0

0

6

1 1 0

1

0

0

0

0

0

0

1

0

7

1 1 1

1

0

0

0

0

0

0

0

1

A partir de la table de vérité, on peut énoncer :

(S=1) ssi [ (m3=1) OU (m5=1) OU (m6=1) OU (m7=1) ]

Donc écrire : S=m3+m5+m6+m7.

La fonction s’exprime donc sous la forme d’une somme de mintermes qui valent ‘1’ pour un des états d’entrée qui donnent à S la valeur ‘1’.

C’est la première forme canonique.

Sous forme développée, on déduit S :

On peut donc, à partir de sa table de vérité et quelques soient la fonction et le nombre de variables d’entrée, déterminer l’expression algébrique de cette fonction, et donc d’en déduire son logigramme.

Note : la première forme canonique d’une fonction n’est pas forcément son expression la plus simple.

 

I.2 : Deuxième forme canonique

I.2.a : définition des maxtermes

Soit un mot binaire de n variables (un problème logique avec n variables d’entrées logiques). Il existe 2n états binaires possibles pour ce mot binaire. Par conséquent, il existe 2n fonctions de ces n variables ne comportant qu’un seul ‘0’ dans leur table de vérité.

On appelle ces fonctions des maxtermes et on les note Mi, i étant l’équivalent décimal de l’unique état binaire pour lequel le maxterme vaut ‘0’.

Exemple pour une entrée à trois variables :

e.d.

mot d’entrée

maxtermes

n

%C B A

M0

M1

M2

M3

M4

M5

M6

M7

0

0 0 0

0

1

1

1

1

1

1

1

1

0 0 1

1

0

1

1

1

1

1

1

2

0 1 0

1

1

0

1

1

1

1

1

3

0 1 1

1

1

1

0

1

1

1

1

4

1 0 0

1

1

1

1

0

1

1

1

5

1 0 1

1

1

1

1

1

0

1

1

6

1 1 0

1

1

1

1

1

1

0

1

7

1 1 1

1

1

1

1

1

1

1

0

I.2.b : Expression algébrique des maxtermes

On constate sur la table de vérité que

Mi=/mi

Cette relation permet d’obtenir l’expression de Mi à partir de celle de mi.

Par exemple pour M3 :

On sait que m3=/C.B.A

Par application du théorème de De Morgan on obtient :

M3=/(/C.B.A)=C+/B+/A.

On aurait pu directement obtenir cette relation en notant que dans la table de vérité, la seule combinaison pour laquelle M3 n’est pas égal à 1 est %CBA=011.

On obtient l’expression algébrique du maxterme à partir de sa table de vérité.

Il faut noter que l’expression du maxterme comprend toujours toutes les variables d’entrées soit sous leur forme directe, soit sous leur forme complémentée.

I.2.c : Expression d’une fonction à partir des maxtermes

Reprenons la fonction majorité S à trois variables A, B, C. Voici sa table de vérité à laquelle on adjoint la table de vérité des maxtermes :

e.d.

mot d’entrée

S

Maxtermes

n

%C B A

M0

M1

M2

M3

M4

M5

M6

M7

0

0 0 0

0

0

1

1

1

1

1

1

1

1

0 0 1

0

1

0

1

1

1

1

1

1

2

0 1 0

0

1

1

0

1

1

1

1

1

3

0 1 1

1

1

1

1

0

1

1

1

1

4

1 0 0

0

1

1

1

1

0

1

1

1

5

1 0 1

1

1

1

1

1

1

0

1

1

6

1 1 0

1

1

1

1

1

1

1

0

1

7

1 1 1

1

1

1

1

1

1

1

1

0

A partir de la table de vérité, on peut énoncer :

(S=0) ssi (M0=0) OU (M1=0) OU (M2=0) OU (M4=0)

soit /S=/M0+/M1+/M2+/M4

donc, par application de De Morgan,

S=M0.M1.M2.M4

La fonction s’exprime donc sous la forme d’un produit de maxtermes qui valent ‘0’ pour un des états d’entrée qui donnent à S la valeur ‘0’.

C’est la deuxième forme canonique.

Sous forme développée, on déduit S :

On peut donc, à partir de sa table de vérité et quelles que soient la fonction et le nombre de variables d’entrée, déterminer l’expression algébrique de cette fonction, et donc d’en déduire son logigramme.

Note : la deuxième forme canonique d’une fonction n’est pas forcément son expression la plus simple, elle n’est pas non plus forcément plus simple ou plus complexe que la première forme.

 

I.3 : Choix de la forme canonique

Suivant la fonction, on aura intérêt à utiliser plutôt une forme que l’autre.

Si la table de vérité de la fonction comporte une minorité de ‘1’, mieux vaut utiliser la première forme canonique.

Si la table de vérité de la fonction comporte une majorité de ‘1’, mieux vaut utiliser la deuxième forme canonique.

Dans la plupart des cas, on préférera utiliser la première forme.

 

 

 

 

III : Tableaux de Karnaugh

 

III.1 : Présentation des tableaux de Karnaugh

III.1.a : Définition

Un tableau de Karnaugh est constitué de cases (ou régions minimales) associées à chacune des combinaisons d’entrée de la fonction représentée. Il possède donc 2n cases pour une fonction de n variables.

Un tableau de Karnaugh est conçu de manière à permettre d’effectuer commodément des simplifications sur l’expression de la fonction.

C’est une forme particulière de la table de vérité.

III.1.b : Exemple d’un tableau à 4 variables

La forme utilisée est la suivante :

%DC

%BA

00

01

11

10

00

       

01

 

.

   

11

.

*

.

 

10

 

.

   

Dans ce tableau, la case repérée * est associée à la combinaison %DCBA=%1101.

On remarque que les combinaisons correspondant à deux cases adjacentes ne différent que pour une seule des variables d’entrée. Par exemple :

La case marquée d’une * correspond à la combinaison %DCBA=%1101.

Les 4 cases marqués d’un . lui sont toutes adjacentes. Leurs combinaisons associées sont :

%DCBA=%0101, %DCBA=%1001, %DCBA=%1100, %DCBA=%1111.

Chaque case possède 4 cases adjacentes, dont les combinaisons associées ne différent que par une et une seule variable.

On peut noter dans la case la combinaison d’entrée associée. On indique alors quelle combinaison (ici %DCBA).

 

 

 

III.2 : Représentation d’une fonction par tableau de Karnaugh

III.2.a : Cas général

La représentation d’une fonction par tableau de Karnaugh s’obtient en dessinant un tableau de la dimension correspondant au nombre de variables de la fonction puis en hachurant (ou grisant, …) chacune des cases associées à une combinaison d’entrée pour laquelle la fonction vaut ‘1’.

Par exemple, pour la fonction majorité à trois variables :

 

%C

%BA

00

01

11

10

0

0

0

1

0

1

0

1

1

1

La construction du tableau peut être faite directement ou à partir de la table de vérité.

III.2.b : Représentation d’un minterme

Un minterme n’ayant qu’un seul ‘1’ dans sa table de vérité, il n’y aura qu’une seule case hachurée dans son tableau de Karnaugh.

Inversement, un tableau de Karnaugh n’ayant qu’une seule case hachurée représente un minterme.

III.2.c : Représentation d’un produit quelconque

Pour une fonction de n variables d’entrées, les produits possibles de ces variables d’entrée (sous forme directe ou complémentée) se répartissent en :

Produits de 1 variable, de 2 variables, de 3…. De n-1 variables, de n variables (mintermes).

Prenons l’exemple de trois variables :

Les produits de deux variables : par exemple S=/A.B

Son tableau de Karnaugh est :

%C

%BA

00

01

11

10

0

0

0

0

1

1

0

0

0

1

 

Il est constitué de deux cases adjacentes. Une telle région est appelée région de taille 2.

Inversement, une région de taille 2 dans un tableau de Karnaugh à trois variables représente un produit de 2 variables.

Pour un produit d’une seule variable, par exemple, S=B

Le tableau de Karnaugh de S est :

%C

%BA

00

01

11

10

0

0

0

1

1

1

0

0

1

1

Il est constitué de 4 cases hachurées adjacentes.

Une telle région est appelée région de taille 4.

Inversement, une région de taille 4 dans un tableau de Karnaugh à trois variables représente un produit d’une seule variable.

 

De manière générale, avec n variables, on admettra :

Un produit de n variables représente un minterme, il correspond à une case hachurée unique.

Un produit de n-1 variables correspond à une région de taille 2.

Un produit de k variables (0<k<=n) correspond à une région de taille 2n-k.

 

III.3 : Détermination de l’expression d’une fonction d’après son tableau de Karnaugh

III.3.a : Formes canoniques

La première s’obtient directement : chaque case hachurée représentant un minterme, on effectue un OU des mintermes correspondants aux cases hachurés.

 

 

 

 

Par exemple, pour la fonction majorité à trois variables :

 

%C

%BA

00

01

11

10

0

0

0

1

0

1

0

1

1

1

 

On obtient directement :

S=C./B.A + C.B.A + C.B./A + /C.B.A

 

On obtient la deuxième forme canonique en écrivant S sous forme complémentée, puis en appliquant De Morgan :

Remarque : écrire /S revient à utiliser les cases non hachurée du tableau.

/S = /C./B./A + /C./B.A + /C.B./A + C./B./A

D’où :

S=(C+B+A).(C+B+/A).(C+/B+A).(/C+B+A)

 

III.3.b Formes minimales

On cherchera à établir la fonction sous forme d’une somme de produits les plus courts possible de variables d’entrée sous forme simple ou complémentée.

Pour cela, on essaie à partir du tableau de Karnaugh, de déterminer les régions de taille maximum, en recouvrant toutes les cases hachurées. Une région de taille 4 donne un produit plus simple qu’une région de taille 2.

Note : si toutes les cases hachurées sont disjointes, la fonction ne s’écrit que sous ses formes canoniques.

Si l’on reprend l’exemple de la fonction majorité à trois variables :

%C

%BA

00

01

11

10

0

0

0

1

0

1

0

1

1

1

 

 

 

 

S=C./B.A + C.B.A + C.B./A + /C.B.A

 

Il faut trouver les régions de taille la plus grande possible. On peut réaliser les groupements ci-dessus :

On trouve 3 régions de taille 2 (aucune région de taille 4 possible). Toutes les cases hachurées sont contenues dans ces régions.

S=S1+S2+S3.

Or on a S1=A.C, S2=A.B, S3=B.C

On obtient donc la forme minimale pour S :

S=A.C+A.B+B.C

Remarques :

 

III.4 : Circuit en " trois couches "

Lorsqu’on synthétise une fonction combinatoire à l’aide des tableaux de Karnaugh, suivant la méthode décrite ci-dessus, on établit un logigramme dit en " trois couches ".

On a vu que cette méthode donnait comme expression algébrique de la fonction une somme de produits des variables d’entrées ou de leur complément.

Quelle que soit la fonction et le nombre de variables d’entrées, la structure du circuit sera toujours :

Cette structure présente plusieurs avantages :

 

III.5 : Exemple de synthèse en " trois couches "

 

III.5.a : Table de vérité

Soit la fonction F(D,C,B,A) dont voici la table de vérité :

N

%DCBA

F

0

0

0

0

0

0

1

0

0

0

1

0

2

0

0

1

0

0

3

0

0

1

1

0

4

0

1

0

0

1

5

0

1

0

1

0

6

0

1

1

0

1

7

0

1

1

1

0

8

1

0

0

0

0

9

1

0

0

1

1

10

1

0

1

0

0

11

1

0

1

1

1

12

1

1

0

0

1

13

1

1

0

1

0

14

1

1

1

0

1

15

1

1

1

1

1

III .5.b : Tableau de Karnaugh

Construisons le tableau de Karnaugh de la fonction F à partir de sa table de vérité :



0000

0010

0011

0001

0100

0110

0111

0101

1100

1110

1111

1101

1000

1010

1011

1001

 

Il y a un groupement de taille 4 (donc un produit de 2 variables) et deux groupements de taille 2 (un produit de 3 variables).

Leurs expressions sont :

/A.C, B.C.D et D.A./C

 

III.5.c : Expression algébrique de la fonction

D’après le tableau de Karnaugh, on déduit que l’expression minimale de F est :

F = /A.C + /D.A.C + B.C.D

 

 

 

III.5.d : Logigramme en trois couches