ELP 304 : Cours 2 Circuits combinatoires
Michel Jzquel Dpartement lectronique
Support ralis avec la participation de Christophe Jgo
Les circuits combinatoires
Dfinition Les oprateurs de transcodage les codeurs les dcodeurs les transcodeurs Les oprateurs daiguillage les multiplexeurs les dmultiplexeurs Les oprateurs de comparaison Les oprateurs arithmtiques les additionneurs les multiplieurs les units arithmtiques et logiques
page 1 ELP 304 Cours 2
Les circuits combinatoires
Dfinition Les oprateurs de transcodage les codeurs les dcodeurs les transcodeurs Les oprateurs daiguillage les multiplexeurs les dmultiplexeurs Les oprateurs de comparaison Les oprateurs arithmtiques les additionneurs les multiplieurs les units arithmtiques et logiques
page 2 ELP 304 Cours 2
Dfinition
Exemple de modlisation d'un circuit combinatoire x1
x2 x3
Un circuit combinatoire est une mise en uvre matrielle d'une fonction combinatoire Un circuit combinatoire a des caractristiques temporelles qui dpendent de la technologie employe
page 3 ELP 304 Cours 2
= 2 nanosecondes
S = x1 x2 + x3
x1 x2 x3 S 2 ns
Dfinition
Circuits combinatoires versus Circuits squentiels
Circuits combinatoires : Cest labsence de mmoire qui caractrise les circuits combinatoires. Les sorties sont une fonction combinatoire des entres: S=f(E). A une configuration des entres correspond une configuration unique des sorties.
Circuits squentiels :
Les sorties sont fonctions des entres mais aussi de ltat interne du systme. A une configuration des entres peut correspondre plusieurs configurations des sorties. Ltat interne du systme est une trace du pass du systme numrique.
page 4
ELP 304 Cours 2
Dfinition
Circuits combinatoires : Cest labsence de mmoire qui caractrise les circuits combinatoires. Les sorties sont une fonction combinatoire des entres: S=f(E). A une configuration des entres correspond une configuration unique des sorties. Circuits Squentiels : Les sorties sont fonctions des entres mais aussi de ltat interne du systme. A une configuration des entres peut correspondre plusieurs configurations des sorties. Ltat interne du systme est une trace du pass du systme numrique.
page 5
ELP 304 Cours 2
Les circuits combinatoires
Dfinition Les oprateurs de transcodage les codeurs les dcodeurs les transcodeurs Les oprateurs daiguillage les multiplexeurs les dmultiplexeurs Les oprateurs de comparaison Les oprateurs arithmtiques les additionneurs les multiplieurs les units arithmtiques et logiques
page 6 ELP 304 Cours 2
Les oprateurs de transcodage : dfinition
Un oprateur de transcodage est un circuit transformant une information prsente en entre sous une forme donne (code 1) en la mme information en sortie mais sous une autre forme (code 2)
Les trois types de transcodeurs
n 2n n 2n n1 n2
Codeur (encodeur)
page 7 ELP 304 Cours 2
Dcodeur
Transcodeur
Les oprateurs de transcodage : les codeurs
Classiquement pour un codeur, lorsqu'une entre (sur les N) est active, les sorties affichent le numro de lentre active dans le code binaire choisi (sur n bits), tel que:
2 n 1 < N 2 n
Exemple: codeur dcimal vers binaire (10 entres vers 4 sorties)
E0 E1 E2 entres codeur
A0 A1 A2 A3
sorties
E9
Ex: si E5=1 et Ei=0 pour toutes les autres entres, alors les sorties affichent (A3,A2,A1,A0)=(0,1,0,1).
page 8 ELP 304 Cours 2
Les oprateurs de transcodage : les codeurs prioritaires
Ce type de codeur fixe un ordre de priorit entre les entres. Pour un codage en binaire pur, le codeur prioritaire donne en principe la priorit lentre de poids le plus lev. Exemple: codeur prioritaire (4 entres vers 2 sorties)
E3 1 0 0 0 E2 X 1 0 0 E1 X X 1 0 E0 X X X 1 A1 1 1 0 0 A0 1 0 1 0
entres E2 E3 E0 E1 encodeur prioritaire A0 A1 sorties
quations de sortie : A0 = E3 + E2.E1 A1 = E3 + E2
page 9 ELP 304 Cours 2
Les oprateurs de transcodage : les dcodeurs
Les dcodeurs:
n entres de donnes N sorties avec N 2 n Une seule sortie est active la fois Quand un nombre est cod en binaire pur lentre, cest la sortie correspondante qui est active.
An-1
0 1 2 3
A0 n 2 -1
Exemple de dcodeur binaire "1 parmi 8" Equations de sortie s0 <e2,e1,e0> s1 E . 3 . s7
page 10 ELP 304 Cours 2
8
sorties
s0 = e2 e1 e0 s1 = e2 e1e0 s2 = e2 e1 e0 etc.
Les oprateurs de transcodage : les dcodeurs
Accroissement de capacit par association de circuits
Raliser un dcodeur "1 parmi 16" l'aide de dcodeurs "1 parmi 8"
y0 = c3 c2 c1 c0 y1 = c3 c2 c1c0 y7 = c3c2 c1c0 y8 = c3 c2 c1 c0 y9 = c3 c2 c1c0 y15 = c3c2 c1c0
Solution : deux dcodeurs traitent en parallle les bits c2, c1, c0. Le bit c3 slectionne les sorties de celui qui doit tre actif
Schma de principe
/s0 E /s1 va . vb . /s7 /s0 E /s1 va . vb . /s7
/y0 /y1 . . /y7 /y8 /y9 . . /y15
<c2,c1,c0> c3
page 11
Va = entre de validation ELP 304 Cours S + S + . + S Vb = 2 0 1 7
Les oprateurs de transcodage : les transcodeurs
Exemple: le transcodeur BCD/7 segments
0 1 0 1 0 1 0
A B C D
S0 S1 S2 S3 S4 S5 S6
Transcodeur BCD / 7 segments
Il est souvent ncessaire de visualiser une information code en binaire sur des afficheurs (7 segments) => convertisseur BCD (Binary-Coded Decimal) / 7 segments => convertisseur binaire pur / 7 segments
page 12 ELP 304 Cours 2
Les oprateurs de transcodage : les transcodeurs
Exemple: le transcodeur BCD/7 segments Table de vrit
S0
Code BCD 0 0 0 0
S6
7 segments S6 S5 S4 S3 S2 S1 S0 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 0 0 1 1 1 0 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 0 1 1 0 1 1 1 0 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1
0 0 0 0 1 1 1 1 0 0
0 0 1 1 0 0 1 1 0 0
S1 S5 S2
0 0 0
S4
0 1 1
S3
page 13
ELP 304 Cours 2
Les circuits combinatoires
Dfinition Les oprateurs de transcodage les codeurs les dcodeurs les transcodeurs Les oprateurs daiguillage les multiplexeurs les dmultiplexeurs Les oprateurs de comparaison Les oprateurs arithmtiques les additionneurs les multiplieurs les units arithmtiques et logiques
page 14 ELP 304 Cours 2
Les oprateurs d'aiguillage : dfinition
Multiplexeur
Dmultiplexeur
2 entres n adresse
sortie
entre n adresse
2n sorties
rle : aiguiller un signal dentre parmi 2n vers une sortie laide de n bits dadresse
rle : aiguiller un signal dentre vers une des 2n sorties en fonction de ltat des bits dadresse
page 15
ELP 304 Cours 2
Les oprateurs d'aiguillage : multiplexeurs
Applications des multiplexeurs
Conversion parallle/srie : aiguiller les informations prsentes en parallle lentre du MUX en des informations de type srie en sortie ; toutes les combinaisons dadresses sont numres une par une sur les entres de slection. Ralisation de fonctions logiques : toute fonction logique de N variables est ralisable avec un multiplexeur de 2N vers 1
VDD
A B F(A,B) 0 0 0 1 1 0 1 1
page 16
E0 E1 E2 E3
1 0 1 1
VDD
A
ELP 304 Cours 2
Les oprateurs d'aiguillage : dmultiplexeurs
Les dmultiplexeurs ralisent la fonction inverse du multiplexeur : 1 entre de donnes n entres de slection N =2n sorties
E
1 parmi 22
Q0 Q1 Q2 Q3
Q0 = E si (S1S0)2=0 0 sinon Q1 = E si (S1S0)2=1 0 sinon
S1 S0
Applications: conversion dune information de type srie en une information de type parallle.
page 17 ELP 304 Cours 2
Les circuits combinatoires
Dfinition Les oprateurs de transcodage les codeurs les dcodeurs les transcodeurs Les oprateurs daiguillage les multiplexeurs les dmultiplexeurs Les oprateurs de comparaison Les oprateurs arithmtiques les additionneurs les multiplieurs les units arithmtiques et logiques
page 18 ELP 304 Cours 2
Les oprateurs de comparaison : dfinition
Comparateur lmentaire : oprateur capable de dtecter lgalit et de comparer deux nombres.
A B E (A=B) S (A>B) I (A<B)
0 0
0 1 0 1
1 0 0 1
0 0 1 0
0 1 0 0
Table de vrit
1 1
A B
S = 1 si ( A> B ) = AB A >B
A= E = 1 si(A = B) = A B (A < B I = 1 si A < B ) = AB
ELP 304 Cours 2
page 19
Les oprateurs de comparaison : comparateur complet
Exemple : comparer 2 mots de n=4 bits
E : A=B si A3=B3 et A2=B2 et A1=B1 et A0=B0 (galit) S : A>B si A3>B3 ou (A3=B3 et A2>B2) ou (A3=B3 et A2=B2 et A1>B1) ou (A3=B3 et A2=B2 et A1=B1 et A0>B0) I : A<B si I = E + S
comparateur x x 85
Ralisation possible partir de 4 comparateurs de 2 bits ou utilisation dun comparateur modulaire
Les entres (Ain > Bin), (Ain=Bin) et (Ain<Bin) permettent de cascader les comparateurs
page 20 ELP 304 Cours 2
A3 A2 A1 A0 B3 B2 B1 B0
A > B out A = B o ut A < B out
sorties
A > B in A = B in A < B in
Les circuits combinatoires
Dfinition Les oprateurs de transcodage les codeurs les dcodeurs les transcodeurs Les oprateurs daiguillage les multiplexeurs les dmultiplexeurs Les oprateurs de comparaison Les oprateurs arithmtiques les additionneurs les multiplieurs les units arithmtiques et logiques
page 21 ELP 304 Cours 2
Les oprateurs arithmtiques : les additionneurs
Le demi additionneur prend en entre 2 bits Ak et Bk et dlivre en sortie leur somme Sk et la retenue (ou carry) Ck
Bk
Ak 0 0 1 1 Bk 0 1 0 1 Ck 0 0 0 1 Sk 0 1 1 0
Ak
&
Ck
=1
Sk
Ck = Ak .Bk
page 22 ELP 304 Cours 2
S k = Ak Bk
Les oprateurs arithmtiques : les additionneurs
Ladditionneur complet permet de prendre en quations logiques de compte une retenue entrante Ck 1
retenue entrante
Ak Bk Ck-1
retenue sortante
Ck Sk
somme
ladditionneur complet:
S k = Ak Bk Ck 1 Ck = Ak .Bk + ( Ak Bk )Ck 1
Bk Ak
1/2 add.
0 0 0 0 1 1 1 1
page 23
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
0 0 0 1 0 1 1 1
0 1 1 0 1 0 0 1
Ck Ak.Bk
>=1
Ck-1
Ak Bk
1/2 add.
(Ak Bk ).Ck-1 Sk=AkBk Ck-1
ELP 304 Cours 2
Les oprateurs arithmtiques : les additionneurs
Additionneurs retenue propage (ripple-carry adder) Ak Bk Ck-1
A Cout B S Cin A Cout B S Cin
S k = Ak Bk Ck 1 Ck = Ak Bk + ( Ak Bk ) Ck 1
A2 B2 A1 B1 A0 B0 '0'
A Cout B S Cin A Cout B S Cin
Ck Sk
S2
S0
1/2 add.
Problme : les tps de propagation sajoutent
page 24 ELP 304 Cours 2
>=1
1/2 add.
S1
Les oprateurs arithmtiques : les additionneurs
Additionneurs retenue anticipe (carry look-ahead adder) Principe : le calcul des retenues est fait directement partir des entres avantage : calculs en parallle gain en rapidit inconvnient : plus de portes logiques cot en complexit matrielle
Ck = Ak Bk + ( Ak Bk )Ck 1
Calcul de la retenue anticipe : Ck = Gk + Pk Ck 1 (1) avec Gk = Ak Bk : terme de gnration Pk = Ak Bk : terme de propagation Puis, dveloppement de (1) par rcurrence
page 25 ELP 304 Cours 2
Les oprateurs arithmtiques : les additionneurs
Additionneurs retenue anticipe (carry look-ahead adder)
C4 C3 C2 C1
C0
page 26
C4 = G3 + P3(G2 + P2(G1 + P1(G0 + C0P0)))
ELP 304 Cours 2
Les oprateurs arithmtiques : les multiplieurs
Multiplication binaire
A3 B3
A2 B2
A1 B1
A0 B0
Porte AND
A3B0 A2B0 A1B0 A0B0 A3b1 A2B1 A1B1 A0B1
Additionneur
+
P7
page 27
A3B2 A2B2 A1B2 A0B2
A3B3 A2B3 A1B3 A0B3
P6
P5
P4
P3
P2
P1
P0
ELP 304 Cours 2
Les oprateurs arithmtiques : les multiplieurs
B0 A3 A2 A1 A0
Solution combinatoire
B1 A3 0 b3 a3 s3 A3 b2 a2 b 1 a1 Additionneur 4 bits s2 s1 s0 A2 A1 b0 a0 r-1 A0 0 A2 A1 A0
Rseau de portes ET et dadditionneurs binaires
r3 B2
b3 r3 B3
a3 s3 A3
b2 a2 b1 a1 Additionneur 4 bits s2 s1 s0 A2 A1
b0
a0 r-1 A0 0
b3 r3
a3 s3 P6
b2 a2 b1 a1 Additionneur 4 bits s2 s1 s0 P5 P4 P3
b0
a0 r-1 0
page 28
ELP 304 Cours 2
P7 P2 P1 P0
Les oprateurs arithmtiques : les Units Arithmtiques et Logiques (UALs)
composants capables deffectuer un ensemble doprations arithmtiques. Nous pouvons distinguer 4 types de fonction oprations logiques de base comparaison et dcalage addition et soustraction multiplication et division
oprande oprande
code oprateur
UAL
rsultat
Les n entres de slection ou de commande permettent de slectionner une opration parmi 2n.
page 29
ELP 304 Cours 2
Les oprateurs arithmtiques : les Units Arithmtiques et Logiques (UALs)
Exemple : le circuit xx382
Les entres de commande S2 S1 S0 permettent de slectionner une opration parmi 8.
S2 S1S0 Cn
Oprations arithmtiques: A plus B, A A3... A0 moins B, B moins A Oprations logiques: XOR(A,B), A ou B, A et B Mise 0 (Clear), Mise 1 (Preset) Oprandes: A et B sur 4 bits. Cn : retenue entrante; Cn+4 : retenue sortante OVR (Overflow): indicateur de dpassement de capacit.
page 30 ELP 304 Cours 2
ALU 382
F3 F0 OVR Cn+4
B3... B0