4 Synchrones

publicité
Méthodologie de conception des circuits intégrés VLSI - 4. Conception synchrone
1/02/10
IV Conception synchrone des ASICs
1. Règles de conception
- Problèmes et paramètres généraux
- Méthodes synchrones
- Circuits recommandés
- Circuits non recommandés
2. Machine UT/UC
- Modèle synchrone
- Diagramme d'états
- Machine Moore/Mealy
3. Cellules arithmétiques
- Additionneurs
- Soustracteurs
- Multiplieurs
215
Paramètres Temporels
SDN
Bascule D
D
D
CP
s
r
Q
Q
Q
QN
CDN
Temps de Setup
Temps de Hold
Temps de propagation
Largeur minimum d'impulsion
sur
clock
reset ...
216
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 4. Conception synchrone
1/02/10
Chemin Critique
•  Principe
–  Tout circuit possède une fréquence limite de fonctionnement.
–  La fréquence limite est liée à un seul retard : celui du chemin critique.
–  Les données doivent être prêtes (stables) avant l ’arrivée de l ’horloge, le délai de
transmission maximal entre deux composant synchrones représente le chemin
critique.
–  Ce délai est dû à la logique combinatoire qui limite le fonctionnement ou la vitesse
d'un circuit.
•  Type de chemin critique
– 
– 
– 
– 
Pad d'entrée → Combinatoire → pad de sortie
Pad d'entrée → Combinatoire → patte d'entrée d'un élément de mémorisation (a)
Patte d'horloge d'un élément de mémorisation → Combinatoire → pad de sortie
Patte d'horloge d'un élément de mémorisation → Combinatoire → patte d'entrée
d'un autre élément de mémorisation (chemin interne) (b)
–  Ce peut aussi être un temps d ’accès mémoire, une distribution d’horloge, une
opération arithmétique.
D
Q
D
Q
Q
D
Q
Q
Q
(a)
(b)
217
Chemin Critique
•  Exemple :
–  Deux registres (identiques) R1 et R2 séparés par de la logique
combinatoire comb2.
–  Rebouclage de la sortie Out sur l’entrée In.
–  Le chemin critique est le maximum du temps de propagation de 1 vers 2
et du temps de rebouclage 2 vers 1.
φ
TCC = Max(T12 , T21 )
T12 = (TDQ + Tcomb2 + Tsetup )
T21 = (TD Q + Tcomb1 + Tsetup )
In
comb1 R1
Q1
comb2 R2
Q2
Out
218
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 4. Conception synchrone
1/02/10
Meta-stabilité
Etat analogique entre deux états logiques
-> non-observation des temps setup et hold
-> violation de largeur minimum d'impulsion
-> remise à zéro asynchrone
-> fronts lents
S
D
Q
setup
clk
din
hold
clk
Energie
Q
0
R
1
probabilités d'état métatstable
P > P'
dout
signal
(externe)
P
D
Q
D
Q
P'
signal
(interne)
CLK
(externe)
cascadage de bascules réduit la probabilité de méta-stabilité
219
Exercice : synchrone
fonction 1
220
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 4. Conception synchrone
1/02/10
Clock Skew
•  Décalage entre les transitions de la même horloge à
différents points d’un circuit
•  Horloge à deux phases idéale
t
φ1(t) . φ2(t) = 0
φ1
φ1
∀ t
Timing Circle
φ2
φ2
•  Avec fronts lents
φ1
φ1
φ1(t) . φ2(t) = 0 sur les niveaux
φ1(t) . φ2(t) ≠ 0 sur les transitions
φ2
φ2
•  Avec skew
skew
φ1
skew : temps pendant lequel φ1(t). φ2(t) = 1
φ1
φ2
φ2
221
Clock Skew : Exemple du µP α
•  DEC Alpha 21164 (1995)
Clock Drviers
Clock Generator
Clock Drviers
9.3M Transistors 0.5µ
300 MHz 64/128 Bits
222
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 4. Conception synchrone
1/02/10
Clock Skew : causes
•  Fronts lents
Tensions de seuil ≠
1x
1x
•  Génération d’horloges
C2
φ1
1x
Charges différentes
H
Tskew = Tinv
φ2
H
C1
•  Routage d’horloge
Floorplan
small skew
clock
drive
zero skew
large skew
small skew
223
Clock Skew : problèmes et remèdes
•  Problèmes
–  Décalage (skew) maximal déterminé par le délai minimal entre registres
–  Période d ’horloge minimale déduite du délai maximal entre registres
Tp min - Thold
D1
Q1
Comb
CLK1
D2
Q2
D2
clk1
clk2
CLK2
t φ ’< t φ + tR1 + titx + tcomb - thold
t φ ’ - t φ = ΔTskew < Tp min - Thold
avec Tp min = MIN ( tR1 + titx + tcomb )
ΔTskew
φ’
φ
Skew min : le retard sur l’horloge φ ’ ne doit pas être tel que le signal issu de l ’horloge φ soit pris
en compte par la bascule suivante dans le même cycle.
•  Remèdes
1x
4x
équilibrage
horloges non recouvrantes
φ1
φ2
C2
C1
Olivier Sentieys
16x
Tskew = 0
H
H
224
Méthodologie de conception des circuits intégrés VLSI - 4. Conception synchrone
1/02/10
Distribution des signaux
•  Distribution de l’Horloge
1x
–  Géométrique : accroissement constant de
la taille des buffers (délai min)
–  Arborescent
–  Géométrique et Arborescent
–  Exemples : Htree, ...
4x
16x
64
•••
sortance relative constante
1x
1x
1x
1x
1x
sortance relative constante
Horloge
Horloge local
Seul le skew relatif est important.
Arbre en H : skew constant dans chaque bloc de taille
égale. Bloc de taille suffisamment petite pour que
le skew interne soit faible
Module
Module
Module
Module
Module
Module
Buffer secondaire
Horloge principale
Buffer principal
Buffer et Arbre : réduction du délai absolu et
maîtrise possible de la consommation (alim.
éteinte pour les modules non utilisés)
225
Règles de conception
Méthodes Synchrones : règles de base
« Bonne » horloge
(buffer, distribution, fronts rapides,...)
Phase d’horloge connectée à toutes les bascules
Reset asynchrone global connecté à toutes les bascules
Quelques règles supplémentaires :
Eviter les rebouclages combinatoires
Minimiser le nombre de portes de transmission
Contrôle centralisé des module trois-états
Eviter les fronts lents
226
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 4. Conception synchrone
1/02/10
Circuits de base
Circuits non recommandés
ripple clock
D
Q
D
Q
reset asynchrone
gated clock
D
Q
Q
en
clk
Q
D
Q
Q
retard d'activation
désynchronisation
pics sur enable -> clock
COMB
Q
clk
clrb
état reset transitoire
-> Tp bascules °
passage trop bref du reset
-> Treset bascules °
Circuits recommandés
bascule E
D
D
en
clk
reset synchrone
reset asynchrone global
bascule T (toggle)
D
Q
T
Q
Q
reset
synchrone
Q
clk
D
Q
COMB
Q
clk
reset
asynchrone
clrb
227
Circuits de base (suite)
Circuits non recommandés
monostables
ligne à retard
trigger
générateur d'impulsion
pulse
1
D
trigger
oscillateurs
pulse
Q
oscillateur
trigger
Q
lignes à retard
S
bistables RS
(mémorisation)
S
Q
R
Q
R
Q
0
S
Q
0
D
s
r
Q
Q
états inconnus
rebouclage combinatoire
R
Circuits recommandés
générateur d'impulsion
trigger
D
Q
D
Q
clk
synchrone
latch en RS
Q
RS synchrone
S
Q
pulse
s
0
D
R
EN Q
Q
états toujours connus
R
S
D
clk
Q
Q
Q
Q
reset prioritaire
228
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 4. Conception synchrone
1/02/10
IV Conception synchrone des ASICs
1. Règles de conception
- Problèmes et paramètres généraux
- Méthodes synchrones
- Circuits recommandés
- Circuits non recommandés
2. Machine UT/UC
- Modèle synchrone
- Diagramme d'états
- Machine Moore/Mealy
3. Cellules arithmétiques
- Additionneurs
- Soustracteurs
- Multiplieurs
229
Architecture générale
•  Unité arithmétiques : datapath
–  Additionneur, multiplieur, décaleur, comparateur, …
•  Mémoire
–  RAM, ROM, registre, banc de registres, registres à décalage, FIFO, ...
•  Contrôle
–  Machine d’états, compteurs, ROM
•  Interconnexions
–  Bus, arbitres, trois-états, multiplexeurs, …
•  Entrées-sorties
Memory
Unit
I/O
Unit
Control
Unit
Processing
Unit
Olivier Sentieys
230
Méthodologie de conception des circuits intégrés VLSI - 4. Conception synchrone
1/02/10
Machine UT/UC câblée
Modèle synchrone
reset
entrées
horloge
synchro
UC
UT
E/S
base de
temps
UC : Machine MOORE
Entrées Synchronisées (méta-stabilité)
RAZ global du circuit -> connaître l'état initial
Base de temps : données stables pendant leur échantillonnage
UC: changement d'état
commandes UT
lectures UT
UT: changement d'état
Synchronisation des entrées
231
Unité de contrôle : spécifications
Diagramme d'état
Ci
Ei
Cj
Ej
C'j
Ck
Ek
C'i
Transitions : conditions booléennes des entrées
horloge implicite
conditions de sortie disjointes
rebouclage sur un état implicite
Nœuds : états stables de l'UC
nombre d'états -> taille du registre d'état
Codage des états : valeur numérique du registre d'état (Ei -> b0001)
types de codages (binaire, gray, johnson,...)
Sorties de l'UC : décodage de l'état
Précautions : Machine de Moore plus sûre
Forcer le codage des états non-atteints (struck states)
Entrées et états stables lors de leur échantillonnage
Le codage influe sur les parasites de sortie et sur la fréquence MAX
232
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 4. Conception synchrone
Entrées
Logique
Combinatoire
de Sortie
Machine de Mealy
Registre
d'Etat
/
Logique
Combinatoire
d'Entrée
Logique
Combinatoire
de Sortie
Entrées
Registre
d'Etat
Logique
Combinatoire
d'Entrée
Machine de Moore
1/02/10
Sorties
Sorties
Horloge
Horloge
Sorties = F(EtatCourant)
EtatSuivant = F'(EtatCourant, Entrées)
E1
E2
C1
S=1
Sorties = F(EtatCourant, Entrées)
EtatSuivant = F'(EtatCourant, Entrées)
E1
transformabilité
C2
E31
E32
C3
S=0
E2
C1
S=0
Moore<-> Mealy
C2
S=1
E3
C3
S=0
C3
E3
E4
S=0
Synchrone
Plus sûre de fonctionnement
Plus d'états
Asynchrone
Plus rapide
Aléas de fonctionnement
233
IV Conception synchrone des ASICs
1. Règles de conception
- Problèmes et paramètres généraux
- Méthodes synchrones
- Circuits recommandés
- Circuits non recommandés
2. Machine UT/UC
- Modèle synchrone
- Diagramme d'états
- Machine Moore/Mealy
3. Cellules arithmétiques
- Additionneurs
- Soustracteurs
- Multiplieurs
234
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 4. Conception synchrone
1/02/10
Full-Adder
A
Cin
B
Full
adder
Cout
Sum
S = A ⊕ B ⊕ Ci
= ABC i + ABC i + ABCi + ABCi
C o = AB + BCi + ACi
235
Ripple-Carry Adder
•  Addition à propagation de la retenue
A0
Ci,0
FA
S0
A1
B0
Co,0
(= C i,1)
FA
FA
S1
A2
B1
C o,1
A3
B2
FA
FA
Co,2
S2
FA
FA
B3
Co,3
S3
Worst case delay linear with the number of bits
td = O(N)
t adder ≈ ( N – 1 ) t carry + t sum
Goal: Make the fastest possible carry path circuit
236
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 4. Conception synchrone
1/02/10
Complementary Static CMOS Full Adder
VD D
VDD
A
Ci
B
A
B
A
B
Ci
A
Ci
A
B
X
A
B
B
VDD
Ci
S
VDD
A
Ci
B
A
Ci
Co
B
28 Transistors
237
Propriété d’inversion
A
Ci
A
B
FA
FA
S
Co
Ci
B
FA
FA
Co
S
S ( A, B, C i ) = S ( A , B , C i )
C ( A, B, C ) = C ( A , B , C )
o
i
o
i
238
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 4. Conception synchrone
1/02/10
Ripple Carry Adder
•  Addition à propagation de la retenue
–  Exploiter la propriété d’inversion
–  Utilise deux types de cellules
–  Gain sur le temps de propagation
Even
A0
C i,
Odd
B0
A1
C o,
F
B1
C o,
F
S0
A2
B2
A3
B3
C
S1
Co,
F
F
S2
S3
239
Mirror adder structure
VD D
VD D
A
B
VD D
A
B
B
Kill
"0"-Propagate
A
Ci
S
Ci
A
"1"-Propagate
B
Ci
Co
Ci
A
Generate
A
B
B
A
B
Ci
A
B
24 transistors
240
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 4. Conception synchrone
1/02/10
Optimisation de l’addition
•  Principe de génération
basé sur une simple constatation : lors de l’addition de deux nombres écrits en
complément à 2, si Ai est égal à Bi alors il n’est pas nécessaire de connaître la retenue
Ci pour calculer Ci+1 et Si+1.
–  Si Ai = Bi = 0 alors Ci+1 = 0
–  Si Ai = Bi = 1 alors Ci+1 = 1
–  Lorsque Ai = Bi : additionner les bits de rang supérieur à i, sans attendre
l’arrivée de la retenue Ci+1.
•  Principe de propagation
–  Lorsque Ai est différent de Bi, la retenue sortant sera égale à la retenue
entrant : Ai ≠ Bi alors Ci+1 = Ci
•  L’utilisation conjointe des deux principes permet
d’accélérer le processus de l’addition.
–  Pi = Ai ⊕ Bi
–  Gi = Ai.Bi
(aptitude du ième rang à propager une retenue)
(aptitude du ième rang à générer une retenue)
Si = Ai ⊕ Bi ⊕ Ci = Pi ⊕ Ci
241
Carry Look Ahead Adder
•  Anticipation de la retenue
–  Afin de supprimer la propagation des retenues à travers les n FullAdders, cet additionneur calcule à l’avance sa valeur, pour chaque
Full-Adder, grâce à des circuits logiques supplémentaires.
A0 ,B0
P0
C0
S0
・ ・・
C1
P1
S1
AN B N
CN
・ ・・
Si = Ai ⊕ Bi ⊕ Ci = Pi ⊕ Ci
Olivier Sentieys
PN
SN
242
Méthodologie de conception des circuits intégrés VLSI - 4. Conception synchrone
1/02/10
Carry Look Ahead Adder
–  A l’étage i, un additionneur reçoit une retenue entrante Ci égale à 1
si et seulement si :
- l’étage i-1 a généré une retenue (Gi-1), ou
- l’étage i-1 a propagé un retenue générée à l’étage i-2 (Pi-1 = Gi-2 = 1), ou
- ..........., ou
- les étages i-1, i-2, i-3, ..., 1, 0 ont propagé une retenue entrant dans
l’additionneur (Pi-1 = Pi-2 = ... = P1 = P0 = C0 =1).
Cette constatation nous fournit le résultat fondamental qui suit :
Ci = Gi− 1 + Pi− 1Ci− 1 = Gi− 1 + Pi− 1 (Gi− 2 + Pi− 2 Ci− 2 ) = ...
Ci = Gi− 1 + Pi− 1Gi− 2 + Pi− 1 Pi− 2 Gi− 3 +...+ Pi− 1 ...P1G0 + Pi− 1 ...P1 P0 C0
–  Principe de l’additionneur CLA est de réaliser de manière
séquentielle les trois étapes suivantes :
Calcul des couples (Pi, Gi)
Calcul des Ci
Calcul des Si
€
Si = Ai ⊕ Bi ⊕ Ci = Pi ⊕ Ci
243
Carry Look Ahead Adder
•  Additionneur sur 32 bits
A[31 .. 28]
A[27 .. 24]
A[23 .. 20]
A[19 .. 16]
A[15 .. 12]
A[11 .. 8]
A[7 .. 4]
B[31..28]
B[27 .. 24]
B[23 .. 20]
B[19 .. 16]
B[15 .. 12]
B[11 .. 8]
B[7 .. 4]
CLU
P7
G7
(1)
CLU
P6
G6
CLU
P5
(1)
G5
(1)
CLU
P4
G4
CLU
P3
(1)
G3
(1)
A[3 .. 0]
B[3 .. 0]
CLU
P2
G2
CLU
P1
G1
(1)
C1
C7
ADD4_FA
S[31..28]
C6
ADD4
S[27..24]
C5
ADD4_FA
S[23..20]
•  (1) Ci = Pi . Ci-1 + Gi
Olivier Sentieys
C4
ADD4
S[19..16]
C3
ADD4_FA
S[15..12]
C2
ADD4
S[11..8]
ADD4_FA
S[7..4]
ADD4
S[3..0]
244
Méthodologie de conception des circuits intégrés VLSI - 4. Conception synchrone
1/02/10
Look-Ahead Cell
VDD
G3
G2
G1
G0
Ci,0
Co,3
P0
P1
P2
P3
245
Soustraction
•  Entrée B passée en complément à 2
Bn-1
An-1
B1
xor
Cn
A1
B0
xor
Cn-1
C2
A0
Sous = C0
xor
C1
FA
FA
FA
Sn-1
S1
S0
246
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 4. Conception synchrone
1/02/10
Multiplication
•  Multiplication de 2 nombres non signés
multiplicande
multiplicateur
produit
partiel
p5
a2
X
? b2
a2 b1
a2 b2 a1 b2
p4
a1
b1
a0
b0
Matrice des
produits
partiels
a2 b0 a1 b0 a0 b0
a1 b1 a0 b1
a0 b2
p3
p2
p1
p0
•  Nombres signés
–  A=-3, B=10
–  a) P=290
–  b) P=-30
?
X
1 1 1 0 1
0 1 0 1 0
?
X
1 1 1 0 1
0 1 0 1 0
0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
1 1 1 0 1 .
1 1 1 1 1 1 1 0 1 .
0 0 0 0 0 . .
0 0 0 0 0 0 0 0 . .
1 1 1 0 1 . . .
1 1 1 1 1 0 1 . . .
0 0 0 0 0 . . . .
0 0 0 0 0 0 . . . .
0 1 0 0 1 0 0 0 1 0
1 1 1 1 1 0 0 0 1 0
a
b
247
Multiplication
•  Exemple : Z, X (M bits) et Y (N bits) non signés
248
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 4. Conception synchrone
1/02/10
Array Multiplier
X3
Z7
X2
X1
X0
X3
X2
X1
X0
H
F
F
H
X3
X2
X1
X0
F
F
F
H
X3
X2
X1
X0
F
F
F
H
Z6
Z5
Z4
Y2
Y0
Y1
Z1
Y3
Z3
Tmult =
249
Algorithme de Booth
•  Algorithme de Booth
–  Exploite les suites de 1 ou de 0
0 1 1
× 0 1 0
0 0 0
0 0 0 0
0 0 0 0 0
0 1 1 0 1 .
0 0 0 0 0 . .
0
0
0
0
.
.
.
1
0
0
.
.
.
.
0 1 1
× 0 1 0
0 1 1 0 1 .
0 0 0 0 0 . .
0
0
.
.
1
0
.
.
0 0 0 1 1 0 1 0 0 0
0 0 0 1 1 0 1 0 0 0
Suppression des produits partiels nuls
0 1
0
0 1
0 1 1
0 1 1 0
0 0 0 0 0 .
×
1
1
1
0
1
.
0
1
0
1
.
.
1
1
1
.
.
.
0 1
0
0 1 1 0 1
- 0 1
×
1
1
0
1
0 1
1 1
0 0
0 1
0 0 1 0 1 1 0 1 1
0 0 1 0 1 1 0 1 1
Propriété simplificatrice
111 = 1000-1
250
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 4. Conception synchrone
1/02/10
Arbre de Wallace
•  Wallace 3
•  Wallace 5
–  S=X⊕Y⊕Z; C=XY+XZ+YZ
x y
z
20
20
20
20
20 20 20
W3
ou
W3
W3
21
20
W3
c
s
21 20
0
•  Additions de 7 données de 4 bits
21
20
e
z
r
g
20
22
21
20
W7
W7
W7
W7
20
20
20
W5
22
23
20
21
20
m
l
k
h
b
W3
fsdq
25
24
23
24
23
22
23
22
21
22
22
21
21
20
20
0
W3
25
W3
24
W3
23
0
22
21
=> Multiplieur Booth/Wallace
Additionneur
26
Olivier Sentieys
25
24
23
22
21
20
251
Téléchargement