Professional Documents
Culture Documents
Gnralits
Fonctions boolennes
Circuits logiques combinatoires
Quelques circuits logiques de base
Dcodeur
Multiplexeur
Additionneur
Optimisation de circuits (bonus)
Dlai d'un circuit logique
Additionneur propagation de retenue anticipe
N. Louvet Circuits logiques, partie 1 : circuits combinatoires.
19 septembre 2015
1 / 25
Pour manipuler des informations en binaire, on assimile les deux bits 0 et 1 aux
deux valeurs de vrit de l'algbre de Boole : on met au point des expressions
boolennes, puis on implante ces expressions par des circuits logiques.
On distingue deux types de circuits logiques :
Les circuits combinatoires, dans lesquels les signaux de sortie ne dpendent
que des signaux d'entres du circuit l'instant considr.
Ex : la plupart des circuits pour l'addition de nombres binaires.
Les circuits squentiels, disposant de proprits de mmorisation, et qui
prsentent donc un certain nombre d'tats : les signaux de sortie dpendent
des signaux d'entres l'instant considr, mais aussi de l'tat du circuit.
Ex : mmoires, registres, unit de commande. . .
On s'intressera dans un premier temps aux circuits combinatoires, permettant
par exemple de concevoir l'UAL d'un processeur.
N. Louvet Circuits logiques, partie 1 : circuits combinatoires.
19 septembre 2015
2 / 25
Plan
Gnralits
Fonctions boolennes
Circuits logiques combinatoires
Quelques circuits logiques de base
Dcodeur
Multiplexeur
Additionneur
Optimisation de circuits (bonus)
Dlai d'un circuit logique
Additionneur propagation de retenue anticipe
19 septembre 2015
3 / 25
Fonctions boolennes
ab
a+b
0
0
1
1
0
1
0
1
1
1
0
0
0
0
0
1
0
1
1
1
19 septembre 2015
4 / 25
Formulaire
lments neutres :
lments absorbants :
idempotance :
tautologie/antilogie
commutativit :
distributivit :
associativit :
+ 0 = a,
1=a
a + 1 = 1,
a0 = 0
a + a = a,
aa = a
a + a = 1, aa = 0
a + b = b + a,
ab = ba
a
+ (bc ) = (a + b )(a + c ),
lois de Morgan :
autres relations :
a (b
+ c ) = ab + ac
+ (b + c ) = (a + b ) + c = a + b + c ,
a(bc )
ab
= (ab )c = abc
= a + b,
+ b = ab
+ (ab ) = a,
a (a
+ b ) = a,
+ (ab ) = a + b ,
(a + b )(a + b ) = a
19 septembre 2015
5 / 25
ab
+ c b.
On considre la fonction f
f (a , b )
= ab
: B2 B
f (a, b )
0
0
1
1
0
1
0
1
1
0
0
0
19 septembre 2015
6 / 25
19 septembre 2015
7 / 25
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 )
1
0
1
0
1
1
0
0
abc
abc
abc
abc
19 septembre 2015
8 / 25
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 )
f (a, b , c )
1
0
1
0
1
1
0
0
f (a, b , c )
0
1
0
1
0
0
1
1
abc
abc
abc
abc
19 septembre 2015
9 / 25
Le XOR.
b =1
a
0
0
1
1
0
1
0
1
0
1
1
0
b = (a + b )ab = (a + b )(a + b ) = ab + ab .
Le NAND et le NOR :
ab
0
0
1
1
0
1
0
1
1
1
1
0
+b
1
0
0
0
NAND(a, b) = ab = a + b.
NOR(a, b) = a + b = ab.
19 septembre 2015
10 / 25
AND
a
b
ab
OR
a
b
a+b
XOR
a
b
ab
NAND
a
b
ab
NOR
a
b
a+b
19 septembre 2015
11 / 25
de connecter des sorties entre elles (si une sortie est 1 et l'autre 0 ?)
N. Louvet Circuits logiques, partie 1 : circuits combinatoires.
19 septembre 2015
12 / 25
Plan
Gnralits
Fonctions boolennes
Circuits logiques combinatoires
Quelques circuits logiques de base
Dcodeur
Multiplexeur
Additionneur
Optimisation de circuits (bonus)
Dlai d'un circuit logique
Additionneur propagation de retenue anticipe
19 septembre 2015
13 / 25
Dcodeur
Decodeur
3 vers 8
e2
e1
e0
s7
s7
s6
s6
s5
s5
s4
s4
s3
s3
s2
s2
s1
s1
s0
s0
e2
e1
e0
19 septembre 2015
14 / 25
Multiplexeur
= e(cn1 ...c0 )2 .
c0
e0
Mux
e1
e0
c0
19 septembre 2015
15 / 25
Mux.
16 vers 8
b
8 s
1
c
Exercice :
19 septembre 2015
16 / 25
Additionneur
Pour la conception d'additionneurs, une brique qui peut tre utilise est le
demi-additionneur ou half adder :
entres : deux bits sommer a et b ;
sorties : un bit de somme s et un bit de retenue sortante rs .
a
rs
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
1
On constate que
s
= a b,
et
rs
= ab .
ab
rs
half
adder
(HA)
19 septembre 2015
17 / 25
re
rs
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
rs
abre
(a b )re + ab .
On constate que
s
= a(b re ) + a(b re ).
Comme x y = x y + x y , on obtient
s
= a ( b re ) = a b re .
D'autre part,
+ abre + abre + abre
19 septembre 2015
18 / 25
ab
ab
HA
full
adder
(FA)
rs
rs
rs
re
re
re
HA
s
b3 a3
b2 a2
b1 a1
b0 a0
FA
FA
FA
FA
s3
s2
s1
s0
b3 a3
re
b2 a2
rs
b1 a1
b0 a0
re
add4
s3
s2
s1
s0
19 septembre 2015
19 / 25
Plan
Gnralits
Fonctions boolennes
Circuits logiques combinatoires
Quelques circuits logiques de base
Dcodeur
Multiplexeur
Additionneur
Optimisation de circuits (bonus)
Dlai d'un circuit logique
Additionneur propagation de retenue anticipe
19 septembre 2015
20 / 25
19 septembre 2015
21 / 25
19 septembre 2015
22 / 25
rs
re
s
b3 a3
rs
b7...4
a7...4
b3...0
a3...0
add4
add4
s7...4
s3...0
b1 a1
b0 a0
re
add4
s3
b2 a2
s2
s1
s0
re
19 septembre 2015
23 / 25
rs
b7...4
a7...4
b3...0
a3...0
add4
add4
s7...4
s3...0
re
19 septembre 2015
24 / 25
add4
b7...4
a7...4
b3...0
a3...0
add4
add4
re
ri
mux8-4
mux2-1
1
rs
s7...4
s3...0
19 septembre 2015
25 / 25