You are on page 1of 10

Objectifs

Connatre et comprendre
La dfinition dun circuit combinatoire
Ses diverses reprsentations et implmentations
Les circuits combinatoires usuels, leur fonctionnement et
leurs applications

Circuits Logiques
ELE1300

tre capable de

Circuits logiques combinatoires

Analyser un circuit combinatoire existant


Raliser un nouveau circuit combinatoire partir dune
spcification
Transformer un circuit combinatoire en un circuit quivalent
sous certaines contraintes.

JP David

Circuits logiques - JP David

26 janvier 2016

Plan

Analyse / Synthse

Formes canoniques SOP POS


Dcomposition de Shannon
Cercles dEuler
Cot dun circuit
NAND-NOR
Impliquants - Impliqus
Circuits logiques usuels non arithmtiques

26 janvier 2016

Circuits logiques - JP David

A1
A2

S1
S2

CIRCUIT
COMBINATOIRE

An

Si = fi { A1 , A2 ,..., An }

Sm

A1

A2 L An 1

An

Si

0
M

0
M

1
M

0
M

0
M

Problmatique de la synthse
ANALYSE

nombre de puces
nombre de portes

SYNTHSE

puissance

dlais

cot

encombrement

fiabilit

26 janvier 2016

Circuits logiques - JP David

Ce nest pas le contraire de


linverse mais plutt sa ngation
A
B
C

AB

A B C

AB

ou
A
B
C

AB

ou
A

AB

B
C

1 en un seul point
A

/A./B./C

/A./B.C

/A.B./C

/A.B.C

A./B./C

A./B.C

A.B./C

A.B.C

0
0

0
0

0
1

0
0

0
1

0
0
1

1
1
0

0
1
0

0
0
1

0
1
1

1
1
1

0
1
1

1
0
1

1
0
0

1
0
1

Que vaut /A./B.C + A./B.C ?

S = AB + C
Circuits logiques - JP David

26 janvier 2016

Dessinez un circuit correspondant la table


de vrit ci-dessous

Disjonctive : Forme qui tient compte des 1


S

0
0
0

0
0
1

0
1
0

0
1
0

0
1
1
1

1
0
0
1

1
0
1
0

1
1
1
0

0
1
2
3
4
5

Canonique : Forme dexpression la plus simple


ce qui veut dire que chaque 1 reprsente un
terme

A B C

0
0
0

0
0
1

0
1
0

1
1
0

0
1
1
1

1
0
0
1

1
0
1
0

0
1
1
0

Synonyme : Somme de mintermes


0

S = ABC + ABC + ABC + ABC + ABC

1
2
3
4

Autre forme :

S = m1 + m3 + m4 + m5 + m7
ou bien

26 janvier 2016

Exercice

La forme canonique disjonctive

A B C

Circuits logiques - JP David

26 janvier 2016

Circuits logiques - JP David

6
7

S = m (1,3, 4,5, 7 )
7

26 janvier 2016

Circuits logiques - JP David

0 en un seul point

La forme canonique conjonctive


Conjonctive : Forme qui tient compte des 0

A+B+C

A+B+/C

A+/B+C

A+/B+/C

/A+B+C

/A+B+/C

/A+/B+C

/A+/B+/C

A B C

0
0
0

0
0
1

0
1
0

0
1
0

0
1
1
1

1
0
0
1

1
0
1
0

1
1
1
0

Que vaut (A+B+/C) . (/A+B+/C) ?

Canonique : Forme dexpression la plus simple


ce qui veut dire que chaque 0 reprsente un
terme
Synonyme : Produit de maxtermes

S = ABC + ABC + ABC

) ( ABC ) ( ABC )
S = ( A + B + C ) ( A + B + C )( A + B + C )
S = ABC

Autre forme :

S = M 0M 2M 6
ou bien

Circuits logiques - JP David

26 janvier 2016

Exercice

1
2
3
4
5
6
7

26 janvier 2016

S = M ( 0, 2, 6 )

10

Mintermes et Maxtermes

Dessinez un circuit correspondant la table


de vrit ci-dessous
0

Circuits logiques - JP David

26 janvier 2016

A B C

0
0
0

0
0
1

0
1
0

0
1
1

0
1
1
1

1
0
0
1

1
0
1
0

1
0
1
1

Circuits logiques - JP David

11

26 janvier 2016

A B C

mi

Mi

ABC

(A+ B +C)

ABC

ABC

ABC

ABC

ABC

ABC

ABC

(A+ B +C)
(A+ B +C)
(A+ B +C)
(A+ B +C)
(A+ B +C)
(A+ B +C)
(A+ B +C)

Circuits logiques - JP David

12

Avec des mintermes

Avec des maxtermes

S = ABC + ABC + ABC + ABC + ABC

S = ( A+ B + C) A+ B + C

)( A + B + C )

A
B
A

B
C

Circuits logiques - JP David

26 janvier 2016

13

Simplification de fonctions

AB C + C = AB

Circuits logiques - JP David

14

Le cot dun circuit


Lors de la synthse dune table de vrit vers un circuit, il est
souhaitable dobtenir la forme dquation quivalente qui
produira un circuit de taille minimale. Une mtrique permet
dvaluer le cot dun circuit :

S = ABC + ABC + ABC + ABC + ABC


AC B + B = AC

26 janvier 2016

AC B + B = AC

Porte logique avec sortie inverse avec N entres : cot de N+1

( A + A) C = C
S = AB + C

26 janvier 2016

A
B
C

Circuits logiques - JP David

Porte logique avec sortie non inverse avec N entres : cot de N+2
XOR, XNOR N entres : cot de 2N

AB

Note : Cette mtrique reprsente un estim de cot du circuit


qui est plus ou moins reprsentatif de la ralit en fonction de
la technologie utilise pour implmenter le circuit.
15

26 janvier 2016

Circuits logiques - JP David

16

Cot dun circuit (suite)

Cot dun circuit (suite)


Exemple de calcul de cot:

Le cot dune porte avec circuit non inverse est plus grand
parce que en technologie CMOS moderne, le circuit quivalent
dune telle porte est une porte inverse suivi dun inverseur:

On considre que lon a accs linverse des signaux dentre

S = ABC + ABC + ABC + ABC + ABC

1.

5 ET 3 entres : 5 ( 3 + 2) = 25
1 OU 5 entres : 5 + 2 = 7

Exemple :

Cot
2+1=3

1 ET 2 entres : 2 + 2 = 4

2 NON-ET 2 entres : 2(2 + 1) = 6

1 OU 2 entres : 2 + 2 = 4

Total = 6

Total = 4 + 4 = 8

2
Circuits logiques - JP David

26 janvier 2016

17

B = BB

18

NAND, une porte tout faire

(( AB + C )) = (( AB )C )

A+ B =

AB

(( A + B ) ) = ( AB )

A
B

C = CC

A+ B

EST QUIVALENT

A
B

EST QUIVALENT

( AB) = A + B

A = AA

AB

S
B

Circuits logiques - JP David

26 janvier 2016

Avec des portes NAND

A
B
C

( )

S = AB C

3.

S = AB + C

2.

3+2=5

S = AB + C =

Total = 25 + 7 = 32

AA = A

C
C
26 janvier 2016

Circuits logiques - JP David

19

26 janvier 2016

Circuits logiques - JP David

20

NAND = forme disjonctive

Avec des portes NOR

S = ABC + ABC + ABC + ABC + ABC

S = AB + C

S = ABC ABC ABC ABC ABC

A
B
C

A
B
C

AB = A + B

o
A
B
C

)
A+ B

A = A+ A
A

A+ B

S
B

Rappel - Loi DeMorgan :

Calcul de cot :

5 ( 3 + 1) + (5 + 1) = 26
comparer avec 32
Circuits logiques - JP David

26 janvier 2016

21

26 janvier 2016

( ) (

)
A

A
B

22

NOR = forme conjonctive

NOR, une porte tout faire


AB = AB = A + B

Circuits logiques - JP David

EST QUIVALENT

AB

A
B

( A + B ) = AB

A = A+ A
A

EST QUIVALENT

A+ A = A

Tout comme les NON-ET peuvent tre utilis pour rduire le


cot dun circuit sous la forme disjonctive, les NON-OU peuvent
tre utiliss pour rduire le cot des circuits sous la forme
conjonctive
26 janvier 2016

Circuits logiques - JP David

23

Rappel - Loi DeMorgan :

Calcul de cot :
3 ( 3 + 1) + (3 + 1) = 16
comparer avec 20

26 janvier 2016

Circuits logiques - JP David

24

Dcomposition de Shannon

Dcomposition de Shannon
f (x1, x2, , xn) = x1 f (0, x2, , xn)+ x1 f (1, x2, , xn)

f (x1, x2, , xn) = x1 f (0, x2, , xn)+ x1 f (1, x2, , xn)

En appliquant la dcomposition de Shannon rcursivement,


on aboutit la forme canonique disjonctive.

Preuve:

Exemple: Soit f (x1, x2, x3) une fonction logique trois variables.

Si x1= 0: x1 f (0, x2, , xn)+ x1 f (1, x2, , xn) = f (0, x2, , xn)

f (x1, x2, x3) = x1 f (0, x2, x3) + x1 f (1, x2, x3)


= x1x2 f (0, 0, x3) + x1x2 f (0, 1, x3) +
x1x2 f (1, 0, x3) + x1x2 f (1, 1, x3)
= x1x2x3 f (0, 0, 0) + x1x2x3 f (0, 0, 1) +
x1x2x3 f (0, 1, 0) + x1x2x3 f (0, 1, 1) +
x1x2x3 f (1, 0, 0) + x1x2x3 f (1, 0, 1) +
x1x2x3 f (1, 1, 0) + x1x2x3 f (1, 1, 1) +

Si x1=1: x1 f (0, x2, , xn)+ x1 f (1, x2, , xn) = f (1, x2, , xn)

En combinant les deux rsultats, on trouve que lassertion est vraie

26 janvier 2016

Circuits logiques - JP David

25

Dcomposition de Shannon

Circuits logiques - JP David

26

Dcomposition de Shannon (dual)


f (x1, x2, , xn) = (x1 +f (0, x2, , xn))(x1+ f (1, x2, , xn))

On trouve donc:

En appliquant la dcomposition de Shannon rcursivement,


on aboutit la forme canonique conjonctive.

f (x1, x2, x3) = m0 f (0, 0, 0) +


m1 f (0, 0, 1) +
m2 f (0, 1, 0) +
m3 f (0, 1, 1) +
m4 f (1, 0, 0) +
m5 f (1, 0, 1) +
m6 f (1, 1, 0) +
m7 f (1, 1, 1)

26 janvier 2016

26 janvier 2016

Circuits logiques - JP David

Exemple: Soit f (x1, x2, x3) une fonction logique trois variables.
f (x1, x2, x3) = ( x1 + f (0, x2, x3))( x1 + f (1, x2, x3))
= ( x1+ x2 + f (0, 0, x3))( x1+ x2 + f (0, 1, x3))
( x1+ x2 + f (1, 0, x3))( x1+ x2 + f (1, 1, x3))
= ( x1 + x2 + x3 +f (0, 0, 0))( x1 + x2+ x3 + f (0, 0, 1))
( x1 + x2 + x3 + f (0, 1, 0))( x1 + x2+ x3 + f (0, 1, 1))
( x1 + x2 + x3 + f (1, 0, 0))( x1 + x2+ x3 + f (1, 0, 1))
( x1 + x2 + x3 + f (1, 1, 0))( x1+ x2+ x3 + f (1, 1, 1))
27

26 janvier 2016

Circuits logiques - JP David

28

Shannon = un multiplexeur

Shannon = un multiplexeur
F(0,)

F(0,)

F(x1,)

F(x1,)
F(1,)

F(1,)
x1

x1
Circuits logiques - JP David

26 janvier 2016

29

26 janvier 2016

Multiplexeur

Entres

e7
e6
e5
e4
e3
e2
e1
e0

Sortie

Circuits logiques - JP David

I2

I1

I0

0
0
0

e0

0
1

1
0

e1
e2

0
1

1
0

1
0

e3
e4

1
1

0
1

1
0

e5
e6

e7

30

Circuit de multiplexeurs

Le multiplexeur n var. de sl.


Slection
I2 I1 I0

Circuits logiques - JP David

26 janvier 2016

Implanter la fonction suivante avec des


multiplexeurs 2 vers 1:

F = C ABCD A + B

)}

Idem avec des multiplexeurs 4 vers 1:

31

26 janvier 2016

Circuits logiques - JP David

32

Les cercles dEuler


S=A

S = AB

S = ABC

S = ABC + ABC + ABC + ABC + ABC

S = AC

S = A+ B

33

a1

a0

s7

s6

s5

s4

s3

s2

s1

a2

s5

a1

a0

s2

Circuits logiques - JP David

34

s6 = a2 a1 a0

s0

s1

1
1

0
1

1
0

0
0

0
1

1
0

0
0

0
0

0
0

0
0

0
0

s0

Circuits logiques - JP David

Convertisseur

a2

3 bits 8 lignes

Convertisseur

26 janvier 2016

3 bits 8 lignes

a0

S = AB + C

f1 ( a2 , a1 , a0 ) = a2 a1 a0 + a2 a1 a0 + a2 a1 a0

s3

s7 = a2 a1 a0

s6
s4

Synthse avec un dcodeur

Illustration avec n = 3

a1

Conversion n bits 2n lignes (ou dcodeur)

a2

ABC + ABC + ABC + ABC + ABC

26 janvier 2016

Dcodeur binaire

s7

Circuits logiques - JP David

26 janvier 2016

ABC + ABC + A BC

ABC + ABC + ABC + ABC

S = ABC

ABC + ABC

ABC

s5 = a2 a1 a0

f 2 ( a2 , a1 , a0 ) = a2 a1 a0 + a2 a1 a0 + a2 a1 a0

= a2 + a1 + a0

s4 = a2 a1 a0
s3 = a2 a1 a0
s2 = a2 a1 a0

)( a

+ a1 + a0

f3 ( a2 , a1 , a0 ) = a2 a1 a0

= a2 + a1 + a0

)( a

)(a

+ a1 + a0 )

) (a a a ) (a a a )
)(a + a + a )
2 1

+ a1 + a0

s1 = a2 a1 a0
s0 = a2 a1 a0

35

26 janvier 2016

f 4 ( a2 , a1 , a0 ) = a2 a1 a0 + a2 a1 a0 + a2 a1 a0

Circuits logiques - JP David

36

Le dmultiplexeur

Lencodeur de priorit

26 janvier 2016

I1

I0

s7

s6

s5

s4

s3

s2

0
0

0
0

1
1

0
1

0
0

0
0

0
0

0
0

Circuits logiques - JP David

s1

s0

0
E

E
0

0
0

0
0

37

I7
I6
I5
I4
I3
I2
I1
I0

26 janvier 2016

GS
S2
S1
S0

Sortie

s7
s6
s5
s4
s3 Sorties
s2
s1
s0

I2

Encodeur de prioti

E
Entre

Dmultiplex
eur

Slection
I2 I1 I0

Entres

(ou convertisseur n bits 2n lignes, avec commande dactivation)


I7

I6

I5

I4

I3

I2

I1

I0

S2

S1

S0

GS

1
0
0
0
0
0

1
0
0
0
0

1
0
0
0

1
0
0

1
0

1
1
1
1
0
0

1
1
0
0
1
1

1
0
1
0
1
0

1
1
1
1
1
1

0
0
0

0
0
0

0
0
0

0
0
0

0
0
0

0
0
0

1
0
0

1
0

0
0
0

0
0
0

1
0
0

1
1
0

Circuits logiques - JP David

38

10

You might also like