Professional Documents
Culture Documents
Algbre binaire
criture et simplification des fonctions logiques
Algbre de Boole
1854 : Georges Boole propose une algbre
(autodidacte pouss par De Morgan, enseignant 16 ans)
Algbre de Boole
tude des systmes binaires : Possdant deux tats sexcluant mutuellement Cest le cas des systmes numriques (des sous ensembles : les circuits logiques)
Algbre binaire
On se limite : Base de lalgbre de Boole Proprits indispensables aux systmes logiques Dfinitions : tats logiques : (purement symbolique) 0 et 1, Vrai et Faux, H et L Georges et Marcel
Variable logique : Symbole pouvant prendre comme valeur des tats logiques (A,b,c, Out ...) Fonction logique : Expression de variables et doprateurs ( f = not(a)^ (c OR r.t) )
lments de base
Variables dentre
Les variables dentre sont celles sur lesquelles on peut agir directement. Ce sont des variables logiques indpendantes.
Variable de sortie
Variable contenant ltat de la fonction aprs lvaluation des oprateurs logiques sur les variables dentre.
Formellement
Algbre de Boole sur [0,1] = algbre binaire Structure dalgbre de boole 2 lois de composition interne 1 application unitaire 2 LCI : ET, OU Somme (OU, Runion) s = a + b = a v b Produit (ET, intersection) s = a . b = ab = a ^ b Nb: a+b se lit a OU b pas a PLUS b Application unitaire : Not (complmentation, inversion) s = a = not(a) NB: a se lit a barre ou non a
Fonctions logiques
Fonction logique n variables f(a,b,c,d,...,n) [0,1]n [0,1]
- Une fonction logique ne peut prendre que deux valeurs - Les cas possibles forment un ensemble fini (card = 2n) - Descriptions, preuves possibles par numration comparer f(a,b,c,..n) et g(a,b,c,..,n) = comparer les tables reprsentant f et g La table de fonction logique = table de vrit Dfinition : (a,b,c,...,n) = vecteur dentre
1 1 1
1 0 1
a 0 1
1 0 s=a
a 0 1
00 0 1
01 1 0
11 0 1
10 0 0 f(a,b,c)
a+b
NB: Les chronogrammes ne sont gnralement pas trs efficaces pour reprsenter une fonction.
a+b
Retard temporel
a+b
Equations logiques
On exprime f(a,b,c,...) par une expression en a,b,c.. et des oprateurs Souvent le plus efficace
Exemple : f = a+b.c.(r+g.f)
Principe de dualit : Une expression reste vraie si on interverti les 1 par des 0 et les ET par des OU Exemple : si a+b=1 alors a.b=0 Je suis riche si je suis bien pay et que je ne dpense pas tout mon argent = Je suis dans le rouge si je ne suis pas bien pay ou que je dpense tout mon argent
A laide du thorme de De Morgan toute fonction logique peut scrire quavec des NAND (resp des NOR).
Un NAND trois entres nest pas quivalent un NAND deux entres suivi dun autre NAND
NAND et NOR offrent des performances techniques intressantes. NAND est un GOC (compltude du NAND) Preuve : a a a , ( a a ) (b b ) a b , ( a b ) ( a b ) a . b NOR est un GOC Preuve :
a a a , ( a a ) (b b ) a . b , ( a b ) ( a b ) a b
Mthode dobtention
Somme de produits + 2 complmentations
abc abd e abc abd e abc. abd . e
NAND
( a b ( c c )) ( a (b b ) d ) ( e e )
Produit de sommes + 2 complmentations NOR
( a b c).( a d ) ( a b c).( a d ) ( a b c) ( a d )
( a (b b ) c) ( a ( d d ))
Le calcul mal entrepris peut tre TRES fastidieux
S est vrai si a OU b est vrai mais pas les deux. XOR (Ou-Exclusif) vaut 1 si a est diffrent de b Oprateur de diffrence (disjonction)
Proprits du XOR
XOR est associatif s = a b c ..... n vaut 1 si le nombre de variable 1 est impaire.
1=a
0=a
ac bc a b a x b x ab
f ( x , y , z ) x. y. z x. y. z x. y. z
Minterme ou intersection de base Premire forme canonique ou forme normale disjonctive
f ( x , y , z ) ( x y z ).( x y z )
Maxterme ou runion de base Deuxime forme canonique ou forme normale conjonctive
Simplification : avertissement
La forme mathmatique la plus simple ne correspond pas toujours la ralisation la plus simple et/ou la plus rapide. La prise en compte de contraintes technologiques peut imposer une complexification dcriture de lexpression.
Simplification : dfinitions
Dcomposition : Problme gnral de la ralisation dune fonction logique laide doprateurs Transformation : Passage dune forme une autre forme quivalente Simplification : cas particulier dune transformation quand on passe dune forme canonique une forme minimale.
001 1 0 0 1 1 1 010 1 011 1 1 0 0 0 0 100 0 101 0 110 0 3 lettres = 3 adjacents 111 0 !Attention! Haut et Bas / Gauche et Droite lis (tore de Karnaugh)
f ( a , b , c) a . b. c a . b. c a . b. c
f ( a , b , c ) ( a b c ).( a b c ).( a b c )
bc
a
0 0 0 0 1 1 1 1
b
0 0 1 1 0 0 1 1
c
0 1 0 1 0 1 0 1
f
0 1 0 1 1 1 0 1
a 0 1
00 0 1
01 1 1
11 1 1
10 0 0
01 1 1 1 1
11 0 0
10 0
Equation :
F ( a , b , c) a . b c
Equation :
F ( a , b , c ) ( a c ).(b c )
Limites de la mthode
Difficile avec plus de 6 variables Intrt pdagogique Les problmes sont toujours dcoupables en pb plus petits Pas programmable (autres mthodes : McCluskey, Sheinman, Tison) Temps pas pris en compte Difficile minimiser plusieurs fonctions conjointement
F a.b a. c
Si b=0, c=1 a OU
F a a = 1 mathmatiquement, mais
a a F Retard techno
F a . b a . c b. c
= 1 mathmatiquement et technologiquement
Si b=0, c=1
F a a 1
Exercice 1
def abc 000 001 011 010 110 111 101 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 000 001 011 010 110 111 101 100
Exercice 1 : Dmarche
def abc 000 001 011 010 110 111 101 100 000 001 011 010 110 111 101 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 Si oui groupement Groupement augmentable ? Plus de 1 ou de 0 ? Choix dun 1 Recherche des adjacents Adjacents ligibles ?
def abc 000 001 011 010 110 111 101 100 0 0 0 0 -
Choix dun 1 Recherche des adjacents Adjacents ligibles ? Si oui groupement Groupement augmentable ?
Exercice 1 : Solution
def abc 000 001 011 010 110 111 101 100 000 001 011 010 110 111 101 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 seul groupement
H c. f
Exercice 2
def abc 000 001 011 010 110 111 101 100 000 001 011 010 110 111 101 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Exercice 2 : Solution
def abc 000 001 011 010 110 111 101 100 000 001 011 010 110 111 101 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
H cd e
a 0 0 0 0 1 1 1 1
b 0 0 1 1 0 0 1 1
c 0 1 0 1 0 1 0 1
f 0 0 0 1 1 0 1 1
a 0 0 1 1
b 0 1 0 1
f 0 c c 1
0 1
0 c
c 1
1 c c f ac bc
bc
00
0
01
d
11
d+dx
10
d
1 dx
d+dx d+dx
f cd bc bd (b c)d bc
Technique de Quine-McCluskey
La mthode de Quine part de la dcomposition canonique disjonctive dune expression Boolenne et utilise systmatiquement la formule de simplification
x y xy y
o x est un littral et y un monme. Intrts : - Implmentation machine possible - Nombre quelconque de variables - Efficace, le rsultat de la simplification est minimal
Algorithme de Quine-McCluskey
Table vrit Cr er un nouvea u groupe avec les mintermes combins Mettre la fonction sous forme canonique
Nouveau groupe? Transformer les minterme s en nombres binaires Identifier les impliquants #
Grouper les termes selon leur poids (nombre des "1") Identifier les impliquants essentiels (reprsentation unique)
Fin
* Deux mintermes se combinent s'ils diffrent par un seul bit. Le minterme combin contient un "x" la place du bit diffrent
1 1 1 1
1 1 1 1
0x1x 1x0x
0 0
1 1 1 1
x11x 11xx
0 0
1 1 1 1
* *
ab abd
ac ac