Telechargé par younessifrah4

cours circuits logiques combinatoires

publicité
Chapitre 4 : Circuits logiques combinatoires
E0
E1
S0
Circuit
combinatoire
En
Sp
Un circuit est dit combinatoire si sa sortie ne dépend que de la combinaison de ses entrées. En
particulier, la variable temps n’intervient pas dans la détermination de l’état des sorties (au
contraire des circuits séquentiels) ; le circuit ne conserve aucune mémoire de l’état précédent.
1) Codeur binaire :
Rôle : traduire un certain nombre de chiffres décimaux en binaire.
2n entrées
mais 1 seule
active à la fois
0
1
2
3
11
3
0
0
0
1
n sorties
10
3 CPS
0
-
0
-
-
1
-
1
1
0
-
-
x1 x0 00
x3 x2
00
01
11
10
A0
A1
Codeur
x1 x0 00 01
x3 x2
00
01
11
10
0
01
A0 = x2 x0
ou
A0 = x3
+ x1
1
11
10
3 CPS
0
1
-
0
-
-
0
-
1
1
0
-
-
A1 = x1 x0
ou
A1 = x3 + x2
0
0
Entrées
x3 x2 x1 x0
1
2 1 0
0 0 1
0 1 0
1 0 0
0 0 0
Sorties
A1 A0
0
0
1
1
0
1
0
1
2) Décodeur binaire :
Rôle : décoder une information binaire.
S0
n entrées
E0
E1
S1
S2
S3
Décodeur
2n sorties
mais 1 seule
active à la fois
Entrées
E1 E0
Sorties
S3 S2 S1 S0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
1
0
0
1
0
0
S0 = E1 E0
S1 = E1 E0
S2 = E1 E0
S3 = E1 E0
E1 E0
00
1
01
0
11
0
10
0
S0 = E1 E0
3) Transcodeur :
Rôle : passer d’un code à un autre
Exemple :
E0
S0
Transcodeur
E1
E2
Binaire
naturel
Binaire
réfléchi
E1 E0 00
E2
0
1
0
1
0
1
0
0
0
0
1
1
1
1
0 0 0
0 0 1
0 1 1
0 1 0
1 1 0
1 1 1
1 0 1
1 0 0
0 0
0 1
1 0
1 1
0 0
0 1
1 0
1 1
11
10
0
1
0
1
S0 = E1 E0 + E1 E0 = E1 +
0
1
0
1
2 CPP
01
11
10
0
0
1
E1 E0 00
E2
Sorties
S2 S1 S0
01
E1 E0 00
E2
S1
S2
Entrées
E2 E1 E0
0
1
1
1
1
0
01
11
0
0
1
0
S1 = E2 E1 + E2 E1 = E1 +
2 CPP
10
0
1
1
1 CPP
S2 = E2
E0
E2
1
0
0
0
E0 E1
………………………………………..
E7
4) Multiplexeur :
n entrées
adresses
A2
A1
A0
2n entrées
d’informations
Multiplexeur
Entrée
validation
V
S
S = 0  l’adresse appliquée et les entrées d’informations
S = état de l’entrée d’informations adressée
V=0
V=1
A2 A1 A0
E 0 E1
0
0
0
0
0
1
0
1
0
1
1
1
S = E0 A2 A1 A0
+
E7
S
x x
x x
x x
x
x
x
E0
E1
E2
x x
x
E7
………………………………………..
E1 A2 A1 A0
+
E2 A2 A1 A0
Rôles :
-
connaître l’état d’une entrée d’informations
aiguilleur
conversion // série
générateur de fonction
+ ………….. …….. +
E7 A2 A1 A0
aiguilleur
E0 E1
n entrées
adresses
………………………………………..
A2
A1
A0
E7
Multiplexeur
S
Entrée
validation
V
E
circuit
système parallèle
conversion // série
E0 E1
n entrées
adresses
A2
A1
A0
……………………………………….
Multiplexeur
S
Entrée
validation
V
E
système série
E7
générateur de fonction
exemple :
A l’aide d’un multiplexeur à 2 entrées adresses et 4 entrées d’information, générer la fonction
F suivante : F(x0 , x1 , x2) = x0+ x1 x2
E0 E1 E2 E3
A1
A1 A0
0 0
0 1
1 0
1 1
Multiplexeur
A0
S
E0
E1
E2
E3
S
S = E0 A1 A0
+
E1 A1 A0
+
E2 A1 A0
+
E3 A1 A0
On doit tout d’abord écrire l’expression de F sous forme canonique (en faisant apparaître
toutes les variables dans chaque monôme de l’expression)
F(x0 , x1 , x2) = x0+ x1 x2 = x0 (x1 + x1)+ x1 x2 (x0 + x0)
= x0 x1 + x0 x1 + x1 x2 x0 + x1 x2 x0
= x0 x1(x2 + x2) + x0 x1 (x2 + x2) + x1 x2 x0 + x1 x2 x0
= x0 x1 x2 + x0 x1 x2 + x0 x1 x2 + x0 x1 x2 + x1 x2 x0 + x1 x2 x0
Ensuite on va appliquer, sur les entrées adresses du multiplexeur, 2 variables de la fonction F :
A0 = x0 et A1 = x1
S = E0 x1 x 0 + E1 x1 x0 + E2 x1 x0 + E3 x1 x0
Ensuite, on identifie F à S , d’où :
E0 x1 x 0 = x0 x1 x2 + x0 x1 x2 = x0 x1 (x2 + x2)
E1 x1 x0 = 0
E0 = x2 + x2 = 1
E1 = 0
E2 x1 x0 = x0 x1 x2 + x0 x1 x2 + x0 x1 x2
= x0 x1 (x2 + x2 + x2)
E3 x1 x0 = x0 x1 x2
E2 = 1
E3 = x2
1 0 1
x1
x0
A1
A0
x2
E0 E1 E2 E3
Multiplexeur
S
F = x0 + x1 x2
5) Démultiplexeur :
E
Entrée d’information
n entrées
adresses
Démultiplexeur
A1
A0
S0
S1
S2
2n sorties
S3
La sortie adressée prend l’état de l’entrée d’information
A1 A0
S0 S1 S2 S3
0 0
0 1
1 0
1 1
E 0
0 E
0 0
0 0
0 0
0 0
E 0
0 E
Rôles :
-
aiguilleur
conversion série //
Aiguilleur
E
n entrées
adresses
Démultiplexeur
A1
A0
S0
S1
S2
S3
2n sorties
Circuit 1 Circuit 2 Circuit 3 Circuit 4
Conversion série //
système série
E
Entrée d’information
entrées
adresses
Démultiplexeur
A1
A0
S0
S1
S2
Registre de mémorisation
registre
système parallèle
S3
6) Comparateur :
Exemple :
A=B
A{
B
Comparateur
AB
AB
{
B
Rôle : comparer 2 nombres binaires
7) Additionneur binaire :
a) Demi-additionneur :
Ai
Si
½ ADD
ri
Bi
BiAi
0 0
0 1
1 0
1 1
Si
0
1
1
0
ri
0
0
0
1
Ai
Bi
Si
ri
BiAi
00
0
01
1
11
0
10
1
2 CPP
Si = B i A i + B i A i
Si =Bi + Ai
ri = B i A i
b) Additionneur complet:
Entrées
BiAi ri
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
Bi
Ai
ri
Sorties
Ai
S iB ri i+1
0 0
r
1 i0
0
1
0
1
0
1
0
1
1
0
1
0
0
1
00
01
11
10
0
1
0
1
1
0
1
0
01
11
10
0
0
1
0
0
1
1
1
Ai ri
0
1
Si = Ai Bi ri
+
Ai Bi ri + Ai Bi ri
+ Ai Bi ri
= Bi (Ai ri
+
Ai ri) + Bi (Ai ri
+ Ai ri )
= Bi (Ai
+
ri) + Bi (Ai . ri )
= Bi (Ai
+
ri) + Bi (Ai
+
Ai
+
+
ri
Bi
0
1
+
4 CPP
ri )
Ai ri
ri+1 = Ai ri
ADD
0
1
0
1
1
1
Bi
S i= Bi
Si
Bi ri + Ai Bi
00
3 CPP
r i +1
c) Additionneur parallèle:
Exemple :
Soit à additionner 2 nombres binaires représentés sur 4 bits chacun
r4 r3 r2 r 1
A3 A2 A1 A0
B3 B2 B1 B0
S3 S2
S1 S0
A 3B 3 r 3
A 2B 2 r 2
A 1B 1 r 1
A 0B 0 r 0
ADD
ADD
ADD
ADD
r4 S3
r3 S2
r2 S1
r1 S0
8)Unité arithmétique et logique :
C’est un circuit complexe qui réalise des opérations arithmétiques ou logiques selon l’état des
commandes M et S.
A3 0
Exemple :
B3 0
4
A 3 0 = A0 A1 A2 A3
B3 0 = B0 B1 B2 B3
4
Retenue
Cn
initiale
3
S
Cn+4
Retenue finale
UAL
4
0
M
4
F3 0
S0 S1 S2 S3
M=1
Op.logiques
M=0
Op. arithmétiques
0 0 0 0
F=A + B
F=A moins B
1 0 0 1
F=A . B
F=A plus B
1 1 1 1
F3 0 = F0 F1 F2 F3
Téléchargement