Beruflich Dokumente
Kultur Dokumente
Combinatoire
LOGIQUE BOOLENNE
ES102 / CM2
ES102/CM2
LOGIQUE COMBINATOIRE
Entres x1 xn Circuit combinatoire y1 yp Sorties
Objet :
implanter une ou plusieurs fonctions boolennes dpendant des mmes variables : yk = fk(x0, x1, , xn) au moyen de montages ddis, o le calcul des fonctions consiste en ltablissement dun tat dquilibre lectrique stable dpendant uniquement des entres actuelles.
dlai = temps maximal dtablissement de lquilibre
Prrequis :
reprsenter/exprimer les fonctions boolennes pour pouvoir en driver directement des montages compacts, rapides, ...
ES102/CM2
CIRCUIT COMBINATOIRE
Ensemble de portes interconnectes, sans cycle (graphe orient acyclique)
! ltat dquilibre ne dpend que des entres ! b c a
MUX
Chronogramme :
A B
A B AND(A,B)
dlais
ES102/CM2
PREOCCUPATIONS BOOLENNES
Quelles reprsentations ?
compacit et unicit : proprits prcieuses, mais antagonistes
a
$
0 1 0 1 c 1 0 1 0 b
" CM4
a b c
a#b#c
CM1&PC1
la fonction boolenne OU une formule boolenne parmi dautres, quivalentes : x+xy la proposition logique ! x ou y!, qui peut tre vraie ou fausse
ES102/CM2
classiquement : valeurs des variables notation !fonctionnelle! : on indique, pour chaque variable, la zone o celle-ci vaut 1
(a, b)
ES102/CM2
ART DE LA TABLE
n=2 b a n=3
z y x
n=4
u
b
n=5
d
d
e c c
q 8h+4q+2d+u
impossible davoir les zones {a=1}, {b=1} et {c=1} toutes les 3 connexes " c sacrie : {c=1} coupe en 2
ES102/CM2
a 0 1 0 1 1 1 b
Maj(a, b, c)=1 ssi [ ( a=1) et (b=1) et ( c=0) ] ou [ ( a=1) et (b=0) et ( c=1) ] ou [ ( a=0) et (b=1) et ( c=1) ] ou [ ( a=1) et (b=1) et ( c=1) ]
formes abusivement appeles somme de produits ("#) o !somme = OU multiple! et !produit = ET multiple! galement appeles formes disjonctives (OU = disjonction)
Maj(a, b, c) =
Forme Disjonctive Minimale (FDM)
ab + ac + bc
a 0 c 0 0 1 0 1 1 1 b
ES102/CM2
ES102/CM2
B={0,1} muni de OU et ET est une algbre de Boole Soit E ensemble ni et P(E) ensemble des parties de E : P(E) muni de ) et * est une algbre de Boole
" interprtation ensembliste naturelle des thormes Boolens
+ et ne sont rien dautre que le max et le min dcoulant dun certain ordre partiel sur lensemble considr
(ci-dessus, il sagit de linclusion +) Lensemble des fonctions boolennes de n variables, muni de la relation dimplication comme ordre partiel, induit une algbre de Boole.
ES102/CM2
10
Absorption : %(x,y), (yx)+x=x (y+x)x=x Involution : %x, (x)=x Lois de De Morgan : %(x,y), (x+y) = xy (xy) = x+y
= =
(Y!X)"X = X (Y"X)!X = X
X"Y=X!Y X!Y=X"Y
ES102/CM2
11
y x z y
xyz
xz
ES102/CM2
12
A B
a b
E = ensemble total
ES102/CM2
13
Soit n variables, x lune delles, Y la liste des n-1 autres Soit f(x,Y) une fonction boolenne de ces n variables Formules dexpansion de Boole (souvent attribues Shannon) :
" f(x,Y) = xf(0,Y) + xf(1,Y) " f(x,Y) = [ x+f(0,Y) ] [ x+f(1,Y) ] " formule disjonctive " formule conjonctive
f(0,Y) et f(1,Y) sont respectivement appels cofacteurs ngatif et positif de f par rapport la variable x Rcursivit :
les cofacteurs sont des fonctions boolennes de n-1 variables, auxquelles lexpansion est de nouveau applicable il en dcoule la forme normale disjonctive ("#) et la forme normale conjonctive (#") .
ES102/CM2
14
Expansion
x y z 0 z
-{z $2} + y
-{z $1} + y 1 z 0
-{z $1} + y z
ES102/CM2
15
Une fonction boolenne est gale la somme des mintermes associs chaque point de son support f-1({1}) Il sagit de la Forme Normale Disjonctive (FND) et elle est unique une permutation des variables prs
Une fonction boolenne sexprime souvent de faon plus concise comme somme de produits ("#) qui ne sont pas tous des mintermes, mais pas de manire unique
exemple : Maj(a,b,c) = ab + ac + abc
ES102/CM2
16
ES102/CM2
17
CROISSANCE
f(x,Y) croissante par rapport x ssi f(0,Y) ! f(1,Y)
. partout o f(0,Y)=1, f(1,Y) aussi " PC2
f est croissante si elle lest par rapport chacune de ses variables f est dcroissante si sa fonction complmentaire f est croissante Exemples :
a+b est croissante (ab) est dcroissante a#b nest ni croissante ni dcroissante les portes CMOS lmentaires seront dcroissantes " CM4
ES102/CM2
18
MULTIPLEXEUR 2 VERS 1
Un oprateur boolen ternaire
(c?a:b) en langage C c : commande, a et b : donnes multiplexes c a = a si c=1 MUX(c, a, b) = b si c=0 b
c a b 1 0
a 0 1 1 0 c 0 0 1 1 b
ES102/CM2
19
a c
a c
a c
Toute fonction boolenne peut tre implante partir de portes NAND uniquement
Idem pour NOR, mais les NAND sont des portes technologiquement privilgies
ES102/CM2
20
Rcursivit : cette formule peut, elle aussi, tre rapplique aux deux cofacteurs, etc. Il en rsulte une structure de calcul arborescente de f appele diagramme de dcision binaire (BDD en anglais) Un BDD dpend de lordre pris pour les variables
ES102/CM2
21
0 0
1 0
0 0
1 1
0 0
1 1
0 0
1 1
ES102/CM2
22
Unicit de la reprsentation
(x+y)z 1
ES102/CM2
23
auquel cas, il faut donner la position dans Bn de chaque 1 cest exactement ce que fait la FND (forme normale disjonctive)
formule algbrique, unique mais lourde
par !liste! astucieuse des 1 de la fonction, certains tant regroups : fonction exprime comme somme de produits (forme disjonctive, aussi dite !")
formule algbrique, plus lgre que la FND mais non unique : on cherchera la minimiser
par arbre !questionnaire! avec une question par tage : !que vaut telle variable ?! forme appele BDD (diagramme de dcision binaire) se prte une procdure de rduction systmatique
" CM4
fournissant un graphe, moins lourd que la FND, et unique pour un ordre de variables donn reprsentation de choix pour la CAO lectronique actuelle
ES102/CM2
24
ES102/CM2
25
1 interrupteur a=0 a=1 a non passant passant a entre passant non passant a 0 Inverseur a a sortie
ES102/CM2
26