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