Vous êtes sur la page 1sur 28

Universit Mohammed V Facult des Sciences Dpartement de Mathmatiques et Informatique Filire : SMI

Algbre binaire et Circuits logiques


(2007-2008)

Prof. Abdelhakim El Imrani

Plan

1. Algbre de Boole 2. Circuits logiques 3. Circuits combinatoires 4. Circuits squentiels

Algbre de Boole
George Boole (1815-1864) est un mathmaticien autodidacte anglais qui voulait faire un lien entre la logique (tude de la validit du raisonnement) et la reprsentation symbolique utilise en mathmatique.

Chapitre 1
Algbre binaire

Il a crit deux ouvrages sur le sujet : des fonctions criture et simplification Mathematical logiques Analysis of Logic (1847) An Investigation of the Laws of Thought (1854) Ces travaux nont pas connu dintrt particulier auprs de la communaut mathmatique et scientifique de son poque, mis part chez les logiciens

Algbre de Boole
Cest 70 ans plus tard que les travaux de Boole gagnent lintrt de tous, lorsque Claude Shannon fait le lien entre lalgbre de Boole et la conception des circuits. Claude Shannon montre que lalgbre de Boole peut-tre utilise pour optimiser les circuits. Cette nouvelle avenue de recherche va ouvrir la voie lre numrique. En utilisant lalgbre de Boole avec le systme binaire, on peut concevoir des circuits capables deffectuer des oprations arithmtiques et logiques Boole repose sur des axiomes, des postulats et des thormes quil faut connatre par coeur !

Algbre de Boole

Propositions vraie ou fausses et oprateurs sur ces prposition

Algbre de Boole

Systmes binaires: Vrai=1, Faux=0 Cest le cas des systmes numriques (circuits logiques)

Lordinateur est constitu de circuits logiques lment de base est le transistor, deux tats: Bloqu=0, Conducteur=1.
Transistor Porte logique Circuit logique Unit dun systme informatique

Algbre binaire
Dfinitions:
tats logiques : 0 et 1, Vrai et Faux

Variable logique : Symbole pouvant prendre comme valeur des tats logiques (A, b, c, ...) Op Oprateurs logiques: Or, And, Not, ... Fonction logique : Expression de variables et doprateurs logiques. ( f = not(a) or (b OR c and d)

lments de base
Variables d dentr entre 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. Simplification d dune fonction logique Trouver la reprsentation (lcriture) la plus simple de la fonction ralise: Algbre de Boole

Algbre de Boole sur [0,1] = algbre binaire Structure dalgbre de boole 2 lois de composition interne (Or, And) 1 application unaire (Not) 2 Lois de Composition Interne : ET, OU Somme (OU, Runion) s = a + b = a or b Produit (ET, intersection) s = a . b = ab = a and b Nb: a+b se lit a OU b pas a PLUS b Application unaire : 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 (0, 1) - Les cas possibles forment un ensemble fini (card = 2n) La table de fonction logique = table de vrit Dfinition : (a, b, c, ..., n) = vecteur dentre

Table de vrit Table de vrit: Enumration ligne par ligne des


valeurs prises par f en fonction des valeurs de ses paramtres.
Or s=a+b S est vrai si a OU b est vrai. ab 00 01 10 11 s 0 1 1 1 And s=a.b S est vrai si a ET b sont vrais. ab 00 01 10 11 s 0 0 0 1 Not s=a S est vrai si a est faux a 0 1 s 1 0

Notes sur les tables de vrit


f (a, c, d, .., n) fonction logique N entres sera reprsente par : une table 2N lignes abc 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 f(a,b,c) 0 1 0 0 1 0 0 1

Proprits

Commutativit a+b = b+a a.b = b.a Associativit a+(b+c) = (a+b)+c a.(b.c) = (a.b).c Distributivit a.(b+c) = a.b+a.c a+(b.c) = (a+b).(a+c)

Idempotence a+a = a a.a = a Absorption a+a.b = a a.(a+b) = a

Dmonstration distributivit
? a.(b+c) = a.b+a.c

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

b+c 0 1 1 1 0 1 1 1

a.(b+c) 0 0 0 0 0 1 1 1

a.b 0 0 0 0 0 0 1 1

a.c 0 0 0 0 0 1 0 1

a.b+a.c 0 0 0 0 0 1 1 1

=?

Proprits (2) lment neutre a+0 = a a.1 = a lment absorbant a+1 =1 Thorme de DE Morgan a.0 = 0 a+b = a . b Inverse a.b = a + b a+a = 1 a.a = 0

quations logiques
On exprime f(a, b, c, ...) par une expression en a, b, c.. et des oprateurs logiques. Exemple: f = a+b.c.(d+e)

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 pauvre si je ne suis pas bien pay ou que je dpense tout mon argent

Les oprateurs NAND, NOR


ab 00 01 10 11 s 1 1 1 0 ab 00 01 10 11 s 0 0 0 1

s = a.b

s = a+b

S est vrai si a OU b est faux. NAND (No-AND)

S est vrai si ni a, ni b ne sont vrais. NOR (No-OR ou NI)

Loprateur : XOR
ab 00 01 10 11 s=a s 0 1 1 0

b = a.b + a.b

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.

s = a b = a b = a b = a XNOR b XNOR = XOR vaut 1 si a = b


a Proprits 1=a a 0=a

ac = bc a = b a x = b x = ab

criture des quations logiques


Dfinitions: Apparition dune variable = Lettre Produit de variables sous forme simple ou complmentes = Monme Somme de monmes = Polynme

z = a + b.c.(d + e)

Expression algbrique

= a + b + c + (d + e) Dveloppement =a+b+c+d.e Polynme de 4 monmes de 1 et 2 lettres

Fonctions logiques et formes canoniques


f fonction logique de n variables
On appelle minterme de n variables, lun des produits de ces variables ou de leurs complmentaires. On appelle maxterme de n variables, lune des sommes de ces variables ou de leurs complmentaires.
exemple n = 4 variables m = a b c d m = a b c d

{a, b, c, d }

est un minterme est un autre minterme

m = a b c n'est pas un minterme


M = a+b+c+d M = a +b +c+d est un maxterme est un autre maxterme

M = a + b + c n'est pas un maxterme

10

Formes canoniques
Une fonction est sous forme canonique (ou normale) si chaque terme contient toutes les variables. Lcriture sous forme canonique est unique. Exemples :

f ( x , y , z ) = x. y. z + x. y. z + x. y. z
Minterme Premire forme canonique ou forme normale disjonctive

f ( x , y , z ) = ( x + y + z ).( x + y + z )
Maxterme Deuxime forme canonique ou forme normale conjonctive

Formes canoniques
Si la fonction nest pas sous forme normale
i.e. une des variables (au moins) ne figure pas dans un des termes

La fonction est sous une forme simplifie

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

Premire forme canonique Forme simplifie Forme simplifie Forme simplifie

11

Formes canoniques: Choix


Premire forme canonique = expression des 1 de la fonction Deuxime forme canonique = expression des 0 de la fonction

Les deux formes canoniques sont quivalentes

On choisit celle qui donne le rsultat le plus simple peu de 0 => deuxime forme / peu de 1 => premire forme

Simplification des fonctions


Objectif : Fabriquer un systme moindre cot Mthodes : Algbriques rapide Graphiques fiable Programmables peu consommateur

Rsultat : on cherche la forme minimale dune fonction nombre minimal de monmes/nombre minimal de lettre par monme Possibilit de plusieurs formes minimales: formes quivalentes

12

Simplification algbrique
Applications des principes et proprits de lalgbre de Boole Identits remarquables :
1 2 3 a. b + a. b = b a + a.b = a a + a.b = a+b (a+b). ( a+b)=b a.(a+b) = a a.( a + b) = a. b

Dmonstrations : 1 et 2 trivial 3 : a + a. b = a. a + a. b + a. a + a. b = ( a + a ).( a + b) = a + b a 0

Simplification algbrique
Rgles de simplification : (Mintermes adjacents = 1 seule variable qui change)
1 : Deux mintermes adjacents 1: Deux maxtermes adjacents

Il reste lintersection commune Il reste la runion commune

a. b. c + a. b. c = a. b.(c + c) = a. b ( a + b + c).(a + b + c) = ( a + b)( c + c) = a + b


2: On peut ajouter un terme dj existant une expression logique. pas de coefficient en algbre de Boole. 3: On ne change pas le rsultat en multipliant l'un des termes par 1 ou en ajoutant 0.
Mthode algbrique toujours possible mais dmarche intuitive qui dpend de lhabilet et de lexprience.

13

Exercice 1
Remplissez la table de vrit suivante pour prouver le thorme de DeMorgan :

0 0 0 1

1 1 1 0

1 1 0 0

1 0 1 0

1 1 1 0

Exercice 2
Considrons la fonction F dfinie par la table de vrit suivante :
x 0 0 0 0 1 1 1 1 y 0 0 1 1 0 0 1 1 z 0 1 0 1 0 1 0 1 F 0 0 0 1 0 1 1 1

Mintermes

F= x yz+x yz+x yz+x yz

F = x yz+x yz+x yz+x yz = ( x y z + x y z) + ( x y z + x y z) + ( x y z + x y z) = y z ( x + x ) + x z ( y + y) + x y ( z + z ) = x y+yz+z x

14

Exercice 3
On dsire concevoir un circuit qui permet de grer les notes des examens, on donne: Examen final (45 %), Examen Partiel (35 %), TPs (20 %). Un tudiant est admis sil dispose dun pourcentage >= 55 %).
Exemple: Final=11, Partiel=8, Tps=10 F=1, P=0, T=1 Pourcentage = 65 % R=1 (tudiant admis).

Donner la table de vrit. Donner la fonction logique correspondante. Simplifier le fonction obtenue.

Simplification graphique: Karnaugh


La mthode de Karnaugh permet de visualiser une fonction et den tirer naturellement une criture simplifie. Llment de base de cette mthode est la table de Karnaugh qui reprsente toutes les combinaisons dtats possibles pour un nombre de variables donn. La table de Karnaugh est un outil graphique qui permet de simplifier de manire mthodique des expressions boolennes. La construction des tables de Karnaugh exploite le codage de linformation et la notion dadjacence

15

Karnaugh simplification graphique


Principe: Mettre en vidence sur un graphique les mintermes (ou maxtermes) adjacents. Transformer les adjacences logiques en adjacences gomtriques. Trois phases: Transcrire la fonction dans un tableau cod, recherche des adjacents pour simplification quations des groupements effectus Description: Table de vrit vs Tableau de Karnaugh 1 ligne 1 case n variables 2n cases

Diagrammes de Karnaugh

Avec n = 2:
Entres A et B 4 cases

16

Diagrammes de Karnaugh Avec n = 3: Entres C, B et A 8 cases

Remarque: Une seule variable change dtat entre 2 cases adjacentes

Diagrammes de Karnaugh Avec n = 4: Entres D, C, B et A 16 cases

17

Diagrammes de Karnaugh Avec n = 5: Entres x, y, z, t et u 32 cases

Simplification graphique
Exemple: Depuis une table de vrit abc 000 001 010 011 100 101 110 111 f 0 1 1 1 0 0 0 0

bc a 0 1 00 0 0 01 1 0 11 1 0 10 1 0

18

Exemple (Karnaugh)
Entres Sortie

C 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

A 0 1 0 1 0 1 0 1

S 0 0 1 1 0 1 1 0

C
0

BA
00 01 11 10

0
0

0
1

1
3

1
2

0
4

1
5

0
7

1
6

TABLE DE VRIT

DIAGRAMME DE KARNAUGH

Simplification graphique
Exemple 2: Par une premire forme canonique (Par les 1) bc 00 0 1 01 1 11 1 1 10

f ( a , b , c ) = a . b. c + a . b . c + a . b . c

19

Simplification graphique
Exemple 2: Par une deuxime forme canonique (Par les 0) bc a 0 1 00 0 0 0 01 11 10

f ( a , b , c ) = ( a + b + c).( a + b + c).( a + b + c)

Simplification graphique
Rgles de simplification
1 : Les groupements comportent une puissance de deux cases,

2 : Les 2k cases forment un rectangle, 3 : On limine variable(s) qui change(nt) dtat Groupement de 2k cases On limine k variables 2 cases on limine 1 variable; 4 cases on limine 2 variables; 8 cases on limine 3 variables; 4 : Il faut utiliser au moins une fois chaque 1, le rsultat est donn par la runion logique de chaque groupement, 5 : Expression minimale si : les groupements les plus grands possibles utiliser les 1 un minimum de fois

20

Exemple 1

S = AB + AB, simplification algbrique S = A (B +B) = A Karnaught: Groupement de 2 cases: on limine variable qui change dtat (B) S=A

Exemple 2
A 0 0 1 1 B 0 1 0 1 S 0 1 1 1

Premier groupement: On limine B Deuxime groupement: On limine A S=A+B

21

Exemple 3
Tous les 1 sont groups ! bc a 0 1 00 0 1 01 1 1 11 1 1 10 0 0

Equation :

F ( a , b , c) = a . b + c

Exemple 4
Par les 0 bc a 0 1 00 0 1 01 1 1 11 1 1 10 0 0

Equation :

F ( a , b , c ) = ( a + c ).(b + c )

22

Exemple 5

S=x+Z

Exemple 6
x 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 y 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 z 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 t 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 S 1 0 1 0 0 1 0 0 1 1 1 1 0 1 0 0

1 1 1

1 1 1

zt

xy

00 1

01

11

10 1

00 01 11 10

1 1

23

Exercice 1

Exercice 2

24

Circuits logiques
Circuit logique = Ensemble de portes logiques relies entre elles correspondant une expression algbrique. Porte logique (correspond un oprateur logique) Porte Or
A Y B

Porte And
A Y B
A

Porte Not

Y=A+B

Y=A.B

Y=A

Portes drives
Porte Nor Porte Nand
A

A Y B
Y=A+B Porte Xor
A Y B

Y B

Y = A. B

Y = AB

25

Conception dun circuit logique

1. Identifier les entres et les sorties de la


fonction. 2. Construire la table de vrit. 3. Identifier la fonction partir de la table de vrit. 4. Simplifier la fonction. 5. Dessiner le schma du circuit.

Ralisation de circuits logiques


Exemple: Circuit logique correspondant lexpression algbrique:

(A+B).(A+C)

Exercice 1
Donner le circuit (Exercice 3, simplification algbrique).

26

Exercice 2
Pompe

Niveau 2

C2

Niveau 1

C1 lectrovanne

Lorsque le niveau deau est infrieure au niveau 1 (Capteur C1), on dclenche la pompe pour remplir le rservoir. Lorsque Niveau deau > Niveau 2, on commande llectrovanne pour vider le rservoir. 1. Donner le circuit quivalent (sans simplification) 2. Donner le circuit simplifi.

27