Upload
ines-boisseau
View
103
Download
0
Embed Size (px)
Citation preview
Circuits multi-horloges:métastabilité et synchronisation
Gérard Berry
Collège de FranceChaire Algorithmes, machines et langages
http://www.college-de-france.fr/site/[email protected]
Cours 4, 5
mars 2014
G. Berry, Collège de France 05/03/2014 2
Les systèmes embarqués du XXIe siècle
• Bien plus complexes, distribués, déterministes– plusieurs fonction sur chaque SoC ou ECU, plusieurs horloges– coordination des sous-systèmes– réseaux embarqués : NoC, PAN, LAN, Time-Triggered, etc.
• Mélange de styles– contrôle continu + automates, systèmes distribué, moins déterministes– GALS, temps continu + discret en simulation, etc.
• Interfaces asynchrones et l’orchestration de services best effort depuis le Web asynchrone
G. Berry, Collège de France 05/03/2014 3
Les circuits du XXIe siècle
• Nécessité de niveaux de simulation multiples Construire le logiciel avant le chip simulation TLM
• IPs multiples, horloges multiples, réseaux (NoCs) protocoles de communication et gestion d’énergie complexes
DAC
DAC
ADCADC
GPU
MEM CTLR
CPU CORE
ITC
MMU
TIMER
UART
CPU CORE
ITC
MMU
TIMER
UART
Capteur
Capteur
SPI
I2C
LIN
CAN
USB
Ethernet
WIFI
PRCMU
PWM DOCSIS
Compo
DISPLAY
Audio
H.265
CORE
ITC
MMU
TIMER
UART
CORE
ITC
MMU
TIMER
UART
G. Berry, Collège de France
• Quels sont les caractéristiques des temps propres des acteurs?indéterminés, imprécis, précis, continus, discrets,localement réguliers, localement variables, etc.
• Quels rapports entre les temps des acteurs?asynchrones, synchrones, vibratoires, etc.
• Comment traiter des données de temporalités différentes?
• Quels sont les principaux styles architecturaux?synchrone réparti, GALS, synchronisation molle, simulations discrètes, continues, mixtes continues / discrètes, etc.
05/03/2014 4
Quelques grandes questions
G. Berry, Collège de France
5 mars : circuits multi-horloges GALS, métastabilité5 mars : temps réel réparti faiblement synchronisé5 mars : A. Benveniste (INRIA)
12 mars : synchronisation d’horloges en distribué5 mars : : synchronisation sur puce à échelle arbitraire5 mars : : F. Anceau (CNAM / UPMC)
19 mars : coopération de modèles de temps 5 mars : : modélisation et simulation de systèmes 5 mars : : physiques5 mars : : K-J. Åström (Lunds Univ, Sweden)
05/03/2014 5
Cours et séminaires 2014
G. Berry, Collège de France 05/03/2014 6
Cours et séminaires 2014
26 mars : circuits cycliques et logiques constructive5 mars : modélisations hybrides continues / discrètes5 mars : M. Pouzet (ENS Paris)
2 avril : Jouer avec le temps5 mars : : systèmes parallèles temps-réel5 mars : : A. Cohen (INRIA) et M. Duranton (CEA)
9 avril : Cerveau, cognition et temps9 avril : V. van Vassenhove (Neurospin)9 avril : compléments et réponse aux questions 9 avril :
7G. Berry, Collège de France 05/03/2014
Que vous soyez physiquement présents ou internautes,envoyez toutes vos questions à
Et inscrivez vous sur la liste de diffusion,en page d’accueil du cours
http://www.college-de-france.fr/site/gerard-berry/index.htm#course
G. Berry, Collège de France
Composants (IPs) variés, venant de vendeurs variés, et ayants des fréquences propres différentes
– CPUs, DSPs, GPUs, MPEG, USB, WiFi, radio, contrôle de RAMs, DMAs, gestion d’énergie, etc.
05/03/2014 8
Pourquoi plusieurs horloges ?
Introduction d’horloges arrêtables et réglables en fréquence pour économiser l’énergie
– baisser la fréquence permet de baisser le voltage– et l’énergie dissipée dépend du carré du voltage
• Difficulté de distribuer précisément des horloges sur une grande surface– Mais voir le séminaire de François Anceau après ce cours!
9G. Berry, Collège de France 05/03/2014
Distribution d’horloges du Pentium 4
G. Berry, Collège de France 05/03/2014 10
Horloges multiples du Pentium 4TM
G. Berry, Collège de France 05/03/2014 11
Horloges réalignées sur l’Itanium TM
G. Berry, Collège de France 05/03/2014 12
Horloges multiples
Même fréquence
synchrones même phase
mésochrones : décalage de phase constant
plésiochrones : décalage de phase variable
Fréquences différentes
harmoniques rapports rationnels
asynchrones rapports inconnus / variables
G. Berry, Collège de France 05/03/2014 13
Horloges asynchrones métastabilité
0
1
0
1
zone h1 zone h2
G. Berry, Collège de France 05/03/2014 14
Références métastabilité / synchroniseurs
RG-IEEE : Metastability and Synchronizers: A TutorialRG-IEEE : Ran Ginosar, IEEE Design & Test, Sept/Oct. 2011
RG-14 : Fourteen Ways to Fool your SynchronizerRG-14 : Ran Ginosar, Proc. ASYNC conf., 2003
Histoire : My Work on All Things Metastable (Me and My Glitch)Histoire : T. J. Chaney, http://www.arl.wustl.edu/~jst/cse/260/glitchChaney.pdf
RG-SC : Ginosar-Synchronization-Color.pdfRG-14 : Ran Ginosar, communication personnelle
DK : Synchronization and Arbitration in Digital SystemsRG-14 : D. J. Kinniment, Wiley, 2007.
15G. Berry, Collège de France 05/03/2014
Synchroniseur mésochrone
sourceRG-IEEE
G. Berry, Collège de France 05/03/2014 16
Synchroniseur mésochrone
Attention, avec 2 registres seulement,risque de métastabilité au début ou à la fin !
prendre la plus vieille valeur disponible
G. Berry, Collège de France 05/03/2014 17
Flip-Flop (registres) et Latch, vision théorique
source : RG-SC FF 2 latchs opposés (Master / Slave)
transparent opaque
G. Berry, Collège de France 05/03/2014 18
Réalisation d’un latch transparent
Q
D
Q
clk
h
b
clk1, D1 h0, b1 Q1 Q0
clk1, D0 h1, b0 Q1 Q0
clk0 h1, b1 QQ, QQ
source : DK
G. Berry, Collège de France 05/03/2014 19
Contraintes électriques d’un latch
clk
DQ
clk
T
D
ssetup h hold
délai long sortie 1, 0ou glitch
métastabilité
wω
20G. Berry, Collège de France 05/03/2014
Bons et mauvais comportements du latch
source : RG-SC
21G. Berry, Collège de France 05/03/2014
Longs délais et métastabilité
source : RG-SC
G. Berry, Collège de France 05/03/2014 22
Fréquence d’erreurs d’échantillonnageFR 1 / T fréquence réceptriceFE fréquence du changement de l’entréew sh largeur de la bande interditeErr fréquence d’erreur potentielle
Err FEw T FEFRw
Exemple réaliste:
FR 1GHzFE 100 MHzw 20 ps T 50
Err 108 10 9 2 10 11
Err 2 10 6
Oups, 2 millions de fois par seconde !
G. Berry, Collège de France 05/03/2014 23
Métastabilité : Chaney et Molnar, 1970+
My Work on All Things Metastable OR: (Me and My Glitch) March 2012 Thomas J. Chaney
G. Berry, Collège de France 05/03/2014 24
Modèle analogique d’un latch métastable
C : capacitéR : résistance-A : amplificateur négatif
source : RG-IEEE
VA0, VB1VA1, VB0
stable
VAVB0,5 métastable
bruit thermique
G. Berry, Collège de France 05/03/2014 25
Entrée en métastabilité d’un latch
pas 100 ps
pas 1 ps
pas 0,1 fs
source : RG-SC
G. Berry, Collège de France 05/03/2014 26
Effet du voltage de départ V0
source : RG-SC
G. Berry, Collège de France 05/03/2014 27
Sortie de métastabilité
source : RG-SC
G. Berry, Collège de France 05/03/2014 28
La loi exponentielle
source : RG-IEEE
explosion exponentielle du voltage,passage au seuil des transistors
G. Berry, Collège de France 05/03/2014 29
Temps de résolution et MTBF
Probabilité de rester métastable après un temps t :
et / où dépend du montage, 1 FO4 (“not” à 4 sorties)
S : durée de stabilisation visée S : valable pour toute suite de latchs !
𝑒S /MTBF FEFRw
S T S 2T
G. Berry, Collège de France 05/03/2014 30
MTBF de résolution du registre
N Fréq. GHz MTBF (s) MTBF intuitif
16 6,25 1,9 106 rien du tout !
32 3,12 2,2 103 pas grand chose !
48 2,08 152 pas terrible !
64 1,56 8.1 105 9,3 jours, mieux
100 1 1,3 1014 4 106 ans
128 0,78 2,6 1020 8,1 1012 ans !!!
Temps de résolution S 1 cycle d 10ps : temps d’une porte élémentaire (FO4)N #d par T : nb de portes (FO4) sur un chemin critique
MTBF N2/4 d eN/2
G. Berry, Collège de France 05/03/2014 31
Le synchroniseur 2-FF de base
Si on s’y prend bien, la métastabilitéet le long délai s’échangent contre
le non-déterminisme
S 2T
jamais métastable, jamais lentmais souvent non-déterministe !
S T
rarement métastablemais souvent lentet souvent non-déterministe
G. Berry, Collège de France 05/03/2014 32
Désastre garanti
Chaque synchroniseur peut être non-déterministeindépendamment des autres !
sourceRG-14
G. Berry, Collège de France 05/03/2014 33
Protocole de synchronisation
Source RG-IEEE
G. Berry, Collège de France 05/03/2014 34
Synchroniseur 4 phases
sourceRG-14
clk clk
35G. Berry, Collège de France 05/03/2014
36G. Berry, Collège de France 05/03/2014
Simulation Esterel v7 multi-horlogesvisualisation Esterel Studio
G. Berry, Collège de France 05/03/2014 37
Mauvais design
Mauvaise valeur échantillonnée par FF2 si FF1 se stabilise trop lentement !
FF1
FF2sourceRG-14
G. Berry, Collège de France
Mauvaise valeur échantillonnée par FF si R1 se stabilise trop lentement !
05/03/2014 38
Mauvaise optimisation
FF
gagner un registreet un cycle
sourceRG-14
G. Berry, Collège de France 05/03/2014 39
Presque bon mais pas portable !
d8
CPU 60-100 MHz Modem 55 MHz
• Supprimer l’acknowledge A est dangereux, car il dit aussi si les données utilisées ont été lues
• Passage du CPU à 200 MHz incorrect !
sourceRG-14
G. Berry, Collège de France 05/03/2014 40
Reset et Clear doivent être synchronisés
Évitent la métastabilitési RESET trop près de CLOCK
source : RG14
G. Berry, Collège de France 05/03/2014 41
Synchroniseurs sûrs ou agressifs
source RG-SC
G. Berry, Collège de France
• Une FIFO F découple temporellement l’émetteur et le récepteur
• Tant que F non pleine, l’émetteur peut écrire à chaque cycle, et le lecteur peut lire à chaque cycle tant que F non vide
• Mais dans le cas multihorloge, on ne peut pas détecter exactement F pleine / F vide !
• => Approche conservative, toujours du côté sûr : dire plein à l’émetteur même si pas vraiment plein, et vide au récepteur même si pas vraiment vide
05/03/2014 42
FIFO multi-horloges
Simulation and Synthesis Techniques for Asynchronous FIFO DesignClifford E. Cummings, Sunburst Design, Inc.Proc. ESNUG San Jose 2003
43G. Berry, Collège de France 05/03/2014
Fifo bi-horloges
wclk horlogede l’émetteur
rclk horlogedu récepteur
Pour contrôler le non-déterminisme,les pointeurs doivent impérativement
être passés en code Gray !
G. Berry, Collège de France 05/03/2014 44
Pourquoi le code Gray?0 0000
1 0001
2 0011
3 0010
4 0110
5 0111
6 0101
7 0100
8 1100
9 1101
10 1111
11 1110
12 1010
13 1011
14 1001
15 1000
Þ pour un pointeur reçu, au plus un bit peut changer en 3 ticks au lieu de 2Þ le pointeur peut avancer de
- 0 si changement pas vu
- 1 si changement vu ou changement
précédent vu avec 1 cycle de retard
- 2 si changement et changement
précédent vus ensembles
tests plein / vide sûr dans tous les cas !
gray(n) bin(n) oux bin(n/2)
Un seul bit change de n à n+1
G. Berry, Collège de France 05/03/2014 45
C’est-y pas beau, le code Gray ?
source http://lordikc.free.fr/wordpress/?p=12
G. Berry, Collège de France
• Passer d’une zone d’horloge à une autre, c’est toute une aventure (à ne pas laisser aux débutants)
05/03/2014 46
Conclusion
• Mais tout est bien compris désormais (merci D. Chaney, R. Ginosar et tous les autres)
• Et l’évolution se fait vers des réseaux sur puce (NoCs, Network Fabrics), qui utilisent les techniques précitées
Mais ce sera pour une autre année !