Vous êtes sur la page 1sur 7

Université de Bretagne Sud Emmanuel Boutillon

Licence 1

ELE1202
Algèbre de Boole et fonctions logiques

L’algèbre de Boole permet de travailler avec des variables à deux états (0, 1), (vrai, faux), (blanc,
noir), (0V, 5V).

En électronique, les niveaux logiques sont représentés par des tensions logiques.

5V

Sortie
entrées Circuit
numérique 0 logique : Vs  [0V, 1.5V]
1 logique : Vs  [3.5V, 5V]
0V Indéterminé si Vs  [1.5V,3.5V]

On général, on choisit 0 => 0V, 1 => 5 V (ou 3 V ou 1 V en fonction de la technologie). C’est un


choix arbitraire : on peut faire le choix inverse.

I. Fonction logique de base à 1 ou 2 entrées

1
Université de Bretagne Sud Emmanuel Boutillon
Licence 1

(image prise sur ce site : http://blogpeda.ac-poitiers.fr/lp2i-sti2d/2012/03/05/linformation-logique/)

Vocabulaire : ET => AND, OU => OR, NON ET => NAND (NOT AND), NON OU => NOR (NOT Or), OU exclusif
=> XOR, Non ou exclusif => NXOR.

A partir des fonctions INV, ET, OR, … on peut construire des fonctions logiques plus complexes.

Une fonction logique est une fonction de l’algèbre de Boole qui a plusieurs entrées et qui génère une sortie.

f ( x , y , z )=x . y+ z

On peut évaluer cette fonction pour des valeurs des entrées, par exemple, f ( 0 ,1 , 1 )=0.1+1=0+0=0. La fonction
est complétement caractérisée par les 23 valeurs de sortie pour les 23 entrées possibles.

On peut aussi la représenter par une table de vérité, par un schéma logique qui assemble des portes logiques ou par
l’équation algébrique:

2
Université de Bretagne Sud Emmanuel Boutillon
Licence 1

x y z f(x,y,z)
0 0 0 1
0 0 1 0 x
y
0 1 0 1 z f ( x , y , z )=x . y+ z
0 1 1 0
Equation algébrique
1 0 0 1 Logigramme
1 0 1 0
1 1 0 1
1 1 1 1
Table de vérité

Le logigramme correspond à un assemblage de composants électroniques (portes élémentaires). Sa complexité est


directement liée au nombre de portes utilisées => on essayera toujours de trouver le logigramme le plus simple possible
pour une fonction algébrique donnée.

II. Propriétés logiques


x.0 = 0 x+0=x
x.1 = x x+1=1
x.x = x x+x=x
x=x
x + x=1
x . x=0
Commutativité : x + y = y + x
x.y = y.x

Associativité : (x + y) + z = x + (y + z) = x + y + z.
(x.y).z = x.(y.z) = x.y.z

Distributivité : x.(y + z) = x.y + x.z

Théorème de De Morgan

Pour complémenter une fonction logique f(x,y, …, z) (définir la fonction inverse f ( x , y , … , z ) qui est vrai quand
f ( x , y , … , z ) est fausse et réciproquement, il suffit d’appliquer récursivement une règle très simple :
 Complémenter chaque variable.
 Remplacer les ET par des OU
 Remplacer les OU par de ET

Par exemple ;

x + y=x . y

Il existe une entrée à 1 (x . y ) => contraire : toutes les entrées sont à zéro x + y=x . y .

Toutes les entrées sont à 1 (x . y ) => contraire : il existe une entrée à zéro x . y =x+ y

Remarques

x + y + z=x . y . z
x . y . z=x+ y+ z
Application récursive

3
Université de Bretagne Sud Emmanuel Boutillon
Licence 1

f ( x , y , z )=x . y+ x . z à comme inverse


f ( x , y , z )=x . y+ x . z=( x . y ) . ( x . z )=( x+ y ) . ( x́ + z )=( x + y ) .(x+ z )

III. Simplification des équations logiques


L’objectif de la simplification des équations logiques est d’obtenir le système le plus simple possible.

Principe : éliminer toutes les variables redondantes.

S=a+a . b=a .1+a . b=a . ( 1+b ) =a .1=a

f ( x , y , z )=x . y . z+ x . y . z + x . y . z+ x . y . z

f ( x , y , z )=x . y . z+ x . y . z + x . y . z+ x . y . z+ x . y . z + x . y . z

f ( x , y , z )=(x . y . z + x . y . z)+(x . y . z + x . y . z)+(x . y . z + x . y . z )

f ( x , y , z )=( x + x ) .( y . z )+ ( y+ y ) .( x . z)+( x . y).(z ¿+ z )¿

f ( x , y , z )=1. ( y . z ) +1. ( x . z )+ 1.(x . y )

f ( x , y , z )=x . y+ x . z+ y . z

Méthode non évidente…

Méthode de Karnaugh

C’est une méthode permettant de mettre en évidence graphiquement les factorisations possibles sur les fonctions avec
moins de 4 variables.

C’est un tableau en deux dimensions qui représente la table de vérité avec une structure particulière : deux cases
adjacentes géométriquement ne diffèrent que d’une variable.

‫ݔ‬ҧ Ǥ‫ݐ‬ҧ
Ǥ‫ݖ‬ҧ
Ǥ‫ݐ‬ҧ
‫ݕ‬Ǥ‫ݖ‬ҧ
zt\xy 00 01 11 10
00 1 1 1 0
‫ݔ‬ҧ
Ǥ‫ݕ‬Ǥ‫ݖ‬ҧ
01 0 1 0 0
11 1 0 1 1 തǤ‫ݖ‬Ǥ‫ݐ‬
‫ݕ‬
10 0 0 1 1 ‫ݔ‬Ǥ‫ݖ‬

f ( x , y , z ,t )=x . z . t+ y . z . t+ x . y . z + y . z . t+ x . z

Règles d’un tableau de Karnaugh :

 Les regroupements s’effectuent par groupe de 2, 4 ou 8 rectangles ne contenant que des 1.


 Ils peuvent être effectué par l’extérieur du tableau.
 Une même case peut être utilisée plusieurs fois.

La simplification obtenue est optimale, mais pas forcément unique.

4
Université de Bretagne Sud Emmanuel Boutillon
Licence 1

‫ݔ‬ൌͲ ‫ݔ‬ൌͳ

zt\xy 00 01 11 10
00 1 1 1 0 ‫ݐ‬ൌͲ
‫ݖ‬ൌͲ
01 0 1 0 0
‫ݐ‬ൌͳ
11 1 0 1 1
‫ݖ‬ൌͳ
10 0 0 1 1 ‫ݐ‬ൌͲ
‫ݕ‬ൌͲ‫ ݕ‬ൌͳ ‫ݕ‬ൌͲ

IV. Forme Conjonctive/Disjonctive


Forme disjonctive : elle consiste à représenter une fonction logique comme une somme de produit.

f ( x , y , z ,t )=x . z . t+ y . z . t+ x . y . z + y . z . t+ x . z

Forme conjonctive : elle consiste à représenter une fonction logique comme un produit de somme.

f ( x , y , z ,t )= ( x + z +t ) .( y+ z).(x+ z)

Quand on a un tableau de Karnaugh et que l’on regroupe les 1 ensemble, on obtient une forme disjonctive.

z\xy 00 01 11 10 z\xy 00 01 11 10 z\xy 00 01 11 10 z\xy 00 01 11 10 z\xy 00 01 11 10


0 1 1 1 0 = 0 1 0 0 0 + 0 0 1 0 0 + 0 0 0 1 0 + 0 0 0 0 0
1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0

f ( x , y , z )=( x . y . z )+ ( x . y . z ) + ( x . y . z )+ ( x . y . z )

f ( x , y , z )=( x . y . z )+ ( x . y . z ) + ( x . y . z )+ ( x . y . z )

On peut imaginer de faire un regroupement par les zéros => on obtient une forme conjonctive.

z\xy 00 01 11 10 z\xy 00 01 11 10 z\xy 00 01 11 10 z\xy 00 01 11 10 z\xy 00 01 11 10


0 1 1 1 0 = 0 1 1 1 1 x 0 1 1 1 1 x 0 1 1 1 1 x 0 1 1 1 0
1 0 1 0 0 1 0 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1

f ( x , y , z )=( x + y +t ) × ( x+ y+ z ) × ( x + y + z ) × ( x + y + z )

f ( x , y , z )=( x + y +t ) × ( x+ y+ z ) × ( x + y + z ) × ( x + y + z )

On peut faire des simplifications en regroupe des 0 par zones rectangulaire.

z\xy 00 01 11 10 z\xy 00 01 11 10 z\xy 00 01 11 10 z\xy 00 01 11 10


0 1 1 1 0 = 0 1 1 1 1 x 0 1 1 1 1 x 0 1 1 1 0
1 0 1 0 0 1 0 1 1 0 1 1 1 0 0 1 1 1 1 0

f ( x , y , z )=( y +t ) × ( x + z ) × ( x+ y )

f ( x , y , z )=( y +t ) × ( x + z ) × ( x+ y )

V. Opérateurs universels
Les fonctions NAND et NOR permettent de réaliser toutes les fonctions logiques possibles

5
Université de Bretagne Sud Emmanuel Boutillon
Licence 1

Exo : construire les portes inv, and, nand et or avec des portes nor.

Expression d’une fonction quelconque avec porte NAND. Pour passer d’une fonction quelconque à une fonction
n’utilisant que des NAND, il faut exprimer la fonction sous une disjonctive puis utiliser f́ =f et appliquer ensuite la loi
de De Morgan pour faire apparaitre une expression de la fonction f ne faisant apparaitre que des portes NAND.

f ( x , y , z )=x y + xy z

f ( x , y , z )= f ( x ,´y , z )= x y +´ xy z=(x y + xy z )=(x y . xy z )

x ‫ݕݔ‬

F(x,y,z)
y
‫ݖ ݕݔ‬ҧ
z
Attention : il y a toujours que trois couches de porte NAND à traverser. Si vous en rencontrez plus, c’est que votre
solution n’est pas canonique (elle peut être néanmoins correcte).

Expression d’une fonction quelconque avec porte NOR. Pour passer d’une fonction quelconque à une fonction
n’utilisant que des NOR, il faut exprimer la fonction sous une conjonctive puis utiliser f́ =f et appliquer ensuite la loi
de De Morgan pour faire apparaitre une expression de la fonction f ne faisant apparaitre que des portes NOR.

f ( x , y , z )=( x + y ) . ( x + y + z ) . ( x + z )

f ( x , y , z )=f ( x , y , z )= ( x+ y ) . ( x+ ´y+ z ) . ( x+ z ) =( x+ y )+ ( x+ y + z ) + ( x + z )

x
y
x
y
z
x
z

6
Université de Bretagne Sud Emmanuel Boutillon
Licence 1

VI. Identification des fonctions XOR ou NXOR

On peut reconnaitre une porte XOR ou NXOR dans un tableau de Karnaugh en reconnaissant un motif en damier.

Par exemple :

z\xy 00 01 11 10 z\xy 00 01 11 10 z\xy 00 01 11 10 z\xy 00 01 11 10


0 1 0 1 0 0 0 1 0 1 0 1 0 1 0 0 1 1 0 0
1 0 1 0 1 1 1 0 1 0 1 1 0 1 0 1 0 0 1 1

x yzx y zx yxz
Si la case « tout à zéro » (en haut à gauche) est à 0, il s’agit d’une fonction XOR, si elle est à 1, il s’agit d’une fonction
NXOR.

Propriétés du XOR :

x y z=x y z=x y z=x y z

x y z=x y z=x y z=x y z

Vous aimerez peut-être aussi