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


Chapitre 1
anglais qui voulait faire un lien entre la logique (tude de la
validit du raisonnement) et la reprsentation symbolique utilise
en mathmatique.
Algbre binaire
Il a critcriture
deux ouvrages sur le sujet : des fonctions
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

1
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 Algbre de Boole


et oprateurs sur ces prposition

Systmes binaires: Vrai=1, Faux=0

Cest le cas des systmes numriques (circuits logiques)

2
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:
logiques Or, And, Not, ...

Fonction logique : Expression de variables et doprateurs


logiques. ( f = not(a) or (b OR c and d)

3
lments de base

Variables ddentr
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 ddune 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

4
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 And Not
s=a+b s=a.b s=a
S est vrai si a OU b S est vrai si a ET b S est vrai
est vrai. sont vrais. si a est faux
ab s ab s a s
00 0 00 0 0 1
01 1 01 0 1 0
10 1 10 0
11 1 11 1

5
Notes sur les tables de vrit

f (a, c, d, .., n) fonction logique N entres


sera reprsente par :

une table 2N lignes


abc f(a,b,c)

0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1

Proprits

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

6
Dmonstration distributivit

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

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

0 0 0 0 0 0 0 0
0 0 1 1 0 0 0 0
0 1 0 1 0 0 0 0
0 1 1 1 0 0 0 0
1 0 0 0 0 0 0 0
1 0 1 1 1 0 1 1
1 1 0 1 1 1 0 1
1 1 1 1 1 1 1 1

=?

Proprits (2)

lment neutre
a+0 = a
a.1 = a
lment absorbant
a+1 =1
a.0 = 0 Thorme de DE Morgan
Inverse a+b = a . b
a+a = 1 a.b = a + b
a.a = 0

7
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 s ab s
00 1 00 0
01 1 01 0
10 1 10 0
11 0 11 1

s = a.b s = a+b

S est vrai si a OU b S est vrai si ni a, ni b


est faux. ne sont vrais.

NAND (No-AND) NOR (No-OR ou NI)

8
Loprateur : XOR
ab s
00 0
01 1
10 1
11 0

s=a 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 1=a a 0=a

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

9
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 exemple n = 4 variables {a, b, c, d }


de n variables, lun des m = a b c d est un minterme
produits de ces variables m = a b c d est un autre minterme
ou de leurs
m = a b c n'est pas un minterme
complmentaires.

On appelle maxterme M = a+b+c+d est un maxterme


de n variables, lune des M = a +b +c+d est un autre maxterme
sommes de ces variables M = a + b + c n'est pas un maxterme
ou de leurs
complmentaires.

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 Premire forme canonique


= xy ( z + z ) + xyz Forme simplifie
= y ( x + xz ) Forme simplifie
= y ( x + z) 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 a. b + a. b = b (a+b). ( a+b)=b
2 a + a.b = a a.(a+b) = a
3 a + a.b = a+b 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 Il reste lintersection commune
1: Deux maxtermes adjacents 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 1 1 1 1

0 1 1 0 1

0 1 0 1 1

1 0 0 0 0

Exercice 2

Considrons la fonction F dfinie par la table de vrit suivante :

x y z F Mintermes
0 0 0 0 F= x yz+x yz+x yz+x yz
0 0 1 0
0 1 0 0

0 1 1 1
1 0 0 0
1 0 1 1 F = x yz+x yz+x yz+x yz
1 1 0 1 = ( x y z + x y z) + ( x y z + x y z) + ( x y z + x y z)
1 1 1 1
= 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 f
000 0 bc
001 1
a 00 01 11 10
010 1
011 1 0 0 1 1 1
100 0
101 0
1 0 0 0 0
110 0
111 0

18
Exemple (Karnaugh)

Entres Sortie
C B A S
0 0 0 0 BA
C
0 0 1 0 00 01 11 10

0 1 0 1 0 0 0 1 1
0 1 1 1 0 1 3 2

1 0 0 0
1 0 1 1
1 0 1 0 1
4 5 7 6
1 1 0 1
1 1 1 0
DIAGRAMME DE KARNAUGH
TABLE DE VRIT

Simplification graphique

Exemple 2: Par une premire forme canonique (Par les 1)

bc
a 00 01 11 10

0 1 1

1 1

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 00 01 11 10

0 0

1 0 0

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 B S
0 0 0
0 1 1
1 0 1
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 00 01 11 10

0 0 1 1 0

1 1 1 1 0

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

Exemple 4

Par les 0
bc
a 00 01 11 10

0 0 1 1 0

1 1 1 1 0

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

22
Exemple 5

Z X

S=x+Z

Exemple 6
x y z t S
1 1
0 0 0 0 1
0 0 0 1 0 1 1 1
0 0 1 0 1
0 0 1 1 0 1
0 1 0 0 0
1 1
0 1 0 1 1
0 1 1 0 0 xy
0 1 1 1 0 zt 00 01 11 10
1 0 0 0 1
1 0 0 1 1
00 1 1
1 0 1 0 1
1 0 1 1 1 01 1 1 1
1 1 0 0 0
1 1 0 1 1 11 1
1 1 1 0 0
1 1 1 1 0 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 Porte And Porte Not

A A
Y Y A Y
B B

Y=A+B Y=A.B Y=A

Portes drives
Porte Nor Porte Nand

A A
Y Y
B B

Y=A+B Y = A. B

Porte Xor

A
Y Y = AB
B

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

Vous aimerez peut-être aussi