Barre de navigation

Accueil à Informatique générale à Circuits logiquesà Synthèse de fonctions booléennes

 

 

Synthèse de fonctions logiques

 

I.- Synthèse à partir d’une table de vérité

 

            L’énoncé que l’on peut avoir est le suivant :

 

 

X

Y

Z

F(X,Y,Z)

0

0

0

1

0

0

1

1

0

1

0

0

0

1

1

1

1

0

0

0

1

0

1

1

1

1

0

0

1

1

1

0

 

            Il s’agit en fait de retrouver la fonction logique qui va nous donner les résultats de la quatrième colonne qui correspond à F(X,Y,Z). Pour cela on va suivre trois étapes.

 

Etape 1 :

 

            Il faut repérer les lignes où F(X,Y,Z) vaut 1.

 

X

Y

Z

F(X,Y,Z)

0

0

0

1

0

0

1

1

0

1

0

0

0

1

1

1

1

0

0

0

1

0

1

1

1

1

0

0

1

1

1

0

 

Etape 2 :

 

            Pour chaque ligne pour laquelle F(X,Y,Z) vaut 1, on écrit une  conjonction de X,Y,Z à partir des valeurs de vérité de X, Y et Z de la ligne en question. Les X, Y ou Z seront niés si la valeur correspondante sur la ligne est 0.

 

            a) La formule qui correspond à

 

           

X

Y

Z

F(X,Y,Z)

0

0

0

1

 

 est .

 

 

            La formule qui correspond à

 

X

Y

Z

F(X,Y,Z)

0

0

1

1

 

           

est .

 

b) La formule qui correspond à

 

           

X

Y

Z

F(X,Y,Z)

0

1

1

1

 

 est .

 

 

c) La formule qui correspond à

 

           

X

Y

Z

F(X,Y,Z)

1

0

1

1

 

 est.

 

Etape 3 :

 

            La formule qu’on cherche est une disjonction des formules trouvées à l’étape 2. Dans notre exemple :

 

 

            Cette formule a une forme normale disjonctive (FND). On peut la simplifier à l’aide des théorèmes booléens.

 

 

II.- Synthèse de fonctions polynomiales :

 

            Le but est de synthétiser une fonction polynomiale à l’aide d’un circuit logique.

 

            Par exemple, si nous avons la fonction  avec des valeurs de x entre 0 et 3, on aura les résultats suivants :

 

            Grâce à ces résultats on a la table de résultats :

 

x

f(x)

0

-2

1

-1

2

2

3

7

 

Et nous pouvons transformer tous les nombres de cette table en base binaire. Cela donnera, sur 2 bits pour les valeurs de x et sur 4 bits pour les valeurs de f(x) (avec les nombres négatifs en complément à 2) :

 

x

f(x)

00

1110

01

1111

10

0010

11

0111

 

            Après on construit une table où l’on place les bits des x sur deux colonnes et les bits des f(x) sur 4 colonnes numérotées comme on le voit ci-dessous avec les couleurs vert et bleu:

 

X1

X0

X

f(x)

Y3

Y2

Y1

Y0

0

0

0

-2

1

1

1

0

0

1

1

-1

1

1

1

1

1

0

2

2

0

0

1

0

1

1

3

7

0

1

1

1

 

 

 

            Finalement il ne reste plus qu’à synthétiser les fonctions Y0, Y1, Y2, et Y3 avec la méthode vue plus haut :

 

 

 

III.- Exercices :

 

a)      Synthétiser la fonction booléenne  où x est un nombre binaire de 2 bits. Le résultat doit être exprimé en complément à 2 (pour les nombres négatifs) avec le nombre minimum de bits

 

 

 

 

 

Page rédigée par Jaime Vladimir Torres-Heredia avec la collaboration d’Helena

 

Version du 24 janvier 2008