Professional Documents
Culture Documents
Algbre de Boole
ET / AND ( a.b ou ab )
OU / OR ( a+b )
Origine
Mathmaticien anglais Georges Boole, 1815 1864
2
Proprits de base
: :
: aa=a a. a=0
Proprits de base
Associativit Distributivit
Fonction logique
Fonction logique
Prend en entre une ou plusieurs variables boolennes Retourne une valeur boolenne fonction des variables d'entre Par son expression logique
fa, b,c=abbca c
Table qui dfinit la valeur de la fonction pour chaque combinaison 5 de valeurs possibles en entre
Tables de vrit
Fonction logique
Note
Maxtermes :
Partir de la fonction et la transformer pour faire apparatre des mintermes/maxtermes complets Pour la transformation
On s'appuie sur les proprits de l'algbre de Boole, et notamment des invariants :
x.x = 0 et x + x = 1
10
Mme chose pour les 2 autres mintermes D'o : fa , b,c=abccbcaaa cbb =abcab ca b ca b ca bc
11
Soit fa, b,c=abbca c On passe par x = x Aprs dveloppement : f(a,b,c)=a ba bcaca bc Reste transformer les mintermes 2 variables : a ba c=a bccacbb Au final f(a,b,c)=a bca bca bc Et fa, b,c=abcabcabc
12
Pour chaque combinaison de valeurs possibles pour les variables, on dtermine la valeur boolenne de f(X) (X = ensemble des variables) Exemple : fa, b,c=abbca c
abc|b|c|ab|bc|ac|f(a,b,c) ++++++ 000|1|1|0|0|0|0 001|1|0|0|1|0|1 010|0|1|0|0|0|0 011|0|0|0|0|0|0 100|1|1|0|0|1|1 101|1|0|0|1|0|1 110|0|1|1|0|1|1 111|0|0|1|0|0|1
13
On dfinit un minterme de toutes les variables tel que Si une variable Xi = 1 on note Xi, sinon on note Xi
14
On dfinit un minterme de toutes les variables tel que Si une variable Xi = 1 on note Xi, sinon on note Xi
Le OU de ces mintermes = f(Xi) Aprs calcul de f(Xi), on obtient la seconde forme canonique
15
a = 0, b = 0 et c = 1 d'o le minterme
a bc a = 1, b = 0 et c = 0 d'o le minterme a b c a = 1, b = 0 et c = 1 d'o le minterme a b c a = 1, b = 1 et c = 0 d'o le minterme a b c a = 1, b = 1 et c = 1 d'o le minterme a b c fa, b,c=abcab ca b ca b ca bc
16
a bc a bc a bc
f(a,b,c)=a b ca bca bc
17
Au final :
fa, b,c=abcabcabc
Les formes canoniques d'une fonction logique sont une dfinition correcte de la fonction, mais elles peuvent tre simplifies
Pour crire la mme fonction avec le moins de termes et les plus simples possibles Pour raliser la fonction avec moins d'lments lectroniques (portes logiques)
A partir des proprits de l'algbre de Boole, transformer la fonction pour la simplifier Principes gnraux
Simplifier la fonction initiale l'aide des proprits de l'algbre de Boole
Appliquer la proprit d'involution (x = x) la fonction simplifie est parfois intressant, mais calculs longs ...
Soit fa, b,c=abcab ca b ca b ca bc En factorisant, on obtient : fa, b,c=abccbcca b c =aa bc (car x + xy = x + y) =abc
On ne peut pas simplifier plus
20
Autre exemple : fa , b,c=(a+b)cb c On distribue et calcule le non : fa, b,c=a bcbc En utilisant l'involution : f(a,b,c)=bc D'o : fa, b,c=bc
On aurait pu aussi simplifier en remarquant que
cbc=cb
(car x + xy = x + y et donc x + xy = x + y)
21
Principes gnraux
Reprsentation sous une forme particulire de la table de vrit d'une fonction logique Dtermination des blocs rectangulaires de taille 2 (1, 2, 4, 8...) bits adjacents 1 On en dduit la fonction simplifie associe la table de vrit
n
22
On reprsente un tableau 2 dimensions Chaque dimension concerne une ou 2 variables Le passage d'une colonne une colonne adjacente ou d'une ligne une ligne adjacente modifie la valeur d'une seule variable Le tableau se referme sur lui-mme : la colonne la plus gauche est voisine de la colonne la plus droite, idem pour les lignes du haut et du bas
Pour les 2 colonnes (2 lignes) extrmes, l aussi, une seule variable doit changer de valeur entre ces 2 colonnes (lignes)
Une case du tableau contient une valeur boolenne, dtermine partir de la table de vrit et des valeurs des variables
23
Tous les bits 1 du tableau doivent tre englobs dans au moins un bloc (un bloc une taille de 1, 2, 4, 8 ... bits) Un bit 1 peut appartenir plusieurs blocs On doit crer les blocs les plus gros possibles Pour le bloc, si une une variable prend les valeurs 0 et 1, on ne la prend pas en compte On ne conserve que les variables qui ne varient pas. Si une variable a reste 1 : on note a, si reste 0 : on note a Le terme logique du bloc correspond au ET de ces variables qui ne changent pas
La fonction logique simplifie est le OU de tous les termes des 24 blocs trouvs
f(a,b)=a+b
Le bit seul gauche doit donc tre regroup avec la case a=1,b=0,c=1 droite en bas de la table \ab c\00|01|11|10| +++++ 0|0|0|1|1| +++++ 1|1|0|1|1| +++++ Au final pour ce bloc, on a donc :b c 27
Bloc le plus gros : a reste 1, b passe de 0 1 et c passe de 0 1 On ne conserve que les variables qui ne changent pas. Donc on a le terme : a Au final : ga , b ,c=abc Pourquoi pour le bloc de 4 on obtient juste a ?
Si on fait le OU de tous les mintermes pour lequel la valeur est 1, cela donne pour ce bloc de 4 :
Les variables d'un bloc prenant les valeurs de 0 et 1 sont donc systmatiquement non significatives
28
On doit l aussi regrouper en les plus gros blocs possibles mme si on recoupe d'autres blocs La table se referme sur elle-mme 29