Sie sind auf Seite 1von 13

ES102

Couches logicielles Architecture

Combinatoire

Micro-architecture Logique/Arithmtique Circuit logique Circuit analogique Dispositif Physique

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

cycle ! logique squentielle

MUX

Chronogramme :
A B

A B AND(A,B)
dlais

commutation non instantane ( dcroissance RC)

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

Quelles rgles de transformation entre reprsentations ?


pour les formules boolennes " Algbre de Boole

a#b#c
CM1&PC1

Des confusions viter : !x+y! peut dsigner :

3 reprsentations du !bit somme!

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

TABLES DE VRIT 2D FONCTIONNELLES


Exploitation diffrente des bords du tableau
a#b b 0 1 a 0 1 0 1 1 0 a#b a 0 1 b 1 0
zone o a=1

classiquement : valeurs des variables notation !fonctionnelle! : on indique, pour chaque variable, la zone o celle-ci vaut 1

Comment loger 2 variables sur une dimension ?


ordre numratif classique ordre (code de Gray) rendant connexe la zone o b=1.
intrt : expression fonctionnelle facilite ensuite ide attribue Karnaugh

(a, b)

(0, 0) (0, 1) (1, 0) (1, 1) b b (a, b) a (0, 0) (0, 1) (1, 1) (1, 0) 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

ESSAIS SUR LA FONCTION MAJORIT


Maj(a, b, c) =
Forme Normale Disjonctive (FND)

abc + abc + abc + abc 0 c 0

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

Maj(a, b, c)=1 ssi [ (a=1) et ( b=1) ] ou [ ( a=1) et ( c=1) ] ou [ ( b=1) et (c=1) ]

facile identier car la zone {b=1} est connexe

ES102/CM2

ALGEBRE DE BOOLE : DEFINITION


La structure {B,+,} est appele algbre de Boole si :
! ! ! ! ! + et sont des lois internes + et sont des lois commutatives et associatives chaque loi possde un lment neutre : 0 pour +, 1 pour chaque loi possde un lment absorbant : 0 pour , 1 pour + il y a DOUBLE distributivit : %a,b,c a(b+c)=(ab)+(ac) et a+(bc)=(a+b)(a+c) ! il existe un complment unique : %a, &!a, a+a=1 et aa=0 ! le cardinal de B est au moins 2 (0'1) Certaines proprits ci-dessus sont redondantes

ES102/CM2

ALGEBRE DE BOOLE : EXEMPLES

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.

" PC2 / Exo1

ES102/CM2

ALGEBRE DE BOOLE : PRINCIPAUX THEOREMES

Interprtation ensembliste ( (X!X) = X = (X"X)

10

Idempotence : %x, xx=x et x+x=x


! pas de puissances

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

" jeu de bulles

dualit : + et changent leur rle travers la complmentation

ES102/CM2

PRATIQUE DES MANIPULATIONS ALGEBRIQUES


2) Prcdence de sur +

11

Commodits de notation : 1) Omission de


xy

Exemple dquivalence dmontre rigoureusement :


absorption distributivit complment lment neutre xy + xyz (xy + xyz + xyz (xy + x(y+y)z (xy + x1z (xy + xz z

y x z y

xyz

xz

ES102/CM2

12

LOPERATEUR LOGIQUE !IMPLICATION!


Soit a et b deux propositions logiques, !a!b! en est une galement
exemples : !x>2 ! x>0! est vrai !x>0 ! x>2! est faux

Ainsi !a!b! est une fonction boolenne de a et b : a!b = a+ b


a b
Interprtation ensembliste : inclusion

A B

a b

x,E a : x,A b : x,B

A#B A"B=E A!B=$

E = ensemble total

ES102/CM2

FORMES NORMALES DISJONCTIVE ET CONJONCTIVE

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 DE BOOLE : EXEMPLE


Maj(x, y, z) =

-{x!y!z $2} = 1 si x!y!z $2


= 0 sinon
addition

Expansion

x y z 0 z

-{y!z $2} = Maj(0,y,z) + toujours faux 0 z 0 z

-{y!z $1} = Maj(1,y,z) + toujours vrai 1 z 1 z -{z $0} + 1

-{z $2} + y

-{z $1} + y 1 z 0

-{z $1} + y z

Dveloppement " xyz + xyz + xyz + xyz : cest la FND de Maj()

ES102/CM2

15

FORME NORMALE DISJONCTIVE


minterme = produit des n variables, complmentes ou non A tout point de Bn correspond un unique minterme, qui est sa fonction caractristique :
ex. : (x,y,z)=(0,0,1) correspond le minterme xyz

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

AUTRE OUTIL : LA DRIVATION PARTIELLE


drive binaire partielle de f par rapport x : f(0,Y)#f(1,Y) Formule de Taylor lordre 1 : f(x,Y) = f(0,Y) # [f(0,Y)#f(1,Y)] x
drive Une application rcursive selon les diffrentes variables, suivie dun dveloppement, fournit la Forme de Reed-Mller de f : un OU exclusif de produits de variables non complmentes
ex : xyz # xz # xz est la FRM de xz+yz (galement dite forme de Davio) (B, #, ) est un anneau, do des proprits avances intressantes

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

Symboles : moderne vs classique


les valeurs licites pour le signal de commande apparaissent lintrieur du rectangle et dsignent lentre slectionne
(extension ultrieure de la commande numrique)

c a b 1 0

Expansion de Boole % c ! MUX(c, a, b) = cb + ca FND : cab + cab + cab + cab

a 0 1 1 0 c 0 0 1 1 b

ES102/CM2

19

JEU DE BULLES POUR MULTIPLEXEUR


MUX(c, a, b) = ca + cb
De Morgan

a c Le procd employ est gnral !

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

DIAGRAMME DE DECISION BINAIRE


La formule dexpansion de Boole peut tre rcrite en utilisant loprateur multiplexeur 2 vers 1 :
f(x,Y) = MUX[ x, f(1,Y), f(0,Y) ]

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

EXEMPLE DE BDD BRUT


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

0 0

1 0

0 0

1 1

0 0

1 1

0 0

1 1

ES102/CM2

22

REDUCTION DES BDD (par lexemple)


1) Fusion des MUX jouant le mme rle 2) Suppression des MUX mmes entres 3) Regroupement 0 et 1 (cosmtique) (x+y)z x 1 y 0 1 0 1 0 1 2 y 0 0 z 0 0 1 0 0 0 1 1 z 0 0 1 1 0 0 1 1 z 1 x 0 (x+y)z 1 3 y 0 1 x 0

Unicit de la reprsentation
(x+y)z 1

ES102/CM2

23

RECAPITULATIF 1 : REPRESENTATION DUNE FONCTION BOOLEENNE


par liste brute de toutes les valeurs : sous forme graphique " table de vrit (ou autres formes plus exotiques)
OK pour n%4 (voire 6), trop lourd ensuite

aussi possible sous forme de chier


n=32 ! 4Gb=1/2Go de mmoire occupe par !liste! brute des 1 de la fonction (son support) :

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

RECAPITULATIF 2 : RALISATION DE FONCTIONS BOOLENNES


Avec des portes INV, AND et OR :
en mettant pralablement la fonction sous forme disjonctive

Avec des portes NAND seulement :


en utilisant les lois de De Morgan sur forme disjonctive ou, de manire quivalente, par !jeu de bulles!

Avec des MUX (multiplexeurs)


en mettant pralablement la fonction sous forme BDD

Et bientt, avec de !simples! interrupteurs


qui seront les transistors MOS de la prochaine sance " logique interrupteurs

ES102/CM2

25

LOGIQUE A INTERRUPTEURS (1)

1 interrupteur a=0 a=1 a non passant passant a entre passant non passant a 0 Inverseur a a sortie

ES102/CM2

26

LOGIQUE A INTERRUPTEURS (2)


1 b a montage srie b a b a+b a 0 montage parallle porte NOR2 ? porte NAND2 ab a b (ab)

Das könnte Ihnen auch gefallen