Circuits multi-horloges: métastabilité et synchronisation

46
Circuits multi-horloges: métastabilité et synchronisation Gérard Berry Collège de France Chaire Algorithmes, machines et langages http:// www.college-de-france.fr/site/gerard-berry [email protected] Cou rs 4,

description

Circuits multi-horloges: métastabilité et synchronisation. Gérard Berry Collège de France Chaire Algorithmes, machines et langages http:// www.college-de-france.fr/site/gerard-berry [email protected]. Cours 4, 5 mars 2014. Les systèmes embarqués du XXI e siècle. - PowerPoint PPT Presentation

Transcript of Circuits multi-horloges: métastabilité et synchronisation

Page 1: Circuits multi-horloges: métastabilité et synchronisation

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

Page 2: Circuits multi-horloges: métastabilité et synchronisation

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

Page 3: Circuits multi-horloges: métastabilité et synchronisation

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

Page 4: Circuits multi-horloges: métastabilité et synchronisation

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

Page 5: Circuits multi-horloges: métastabilité et synchronisation

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

Page 6: Circuits multi-horloges: métastabilité et synchronisation

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 :

Page 7: Circuits multi-horloges: métastabilité et synchronisation

7G. Berry, Collège de France 05/03/2014

Que vous soyez physiquement présents ou internautes,envoyez toutes vos questions à

[email protected]

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

Page 8: Circuits multi-horloges: métastabilité et synchronisation

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!

Page 9: Circuits multi-horloges: métastabilité et synchronisation

9G. Berry, Collège de France 05/03/2014

Distribution d’horloges du Pentium 4

Page 10: Circuits multi-horloges: métastabilité et synchronisation

G. Berry, Collège de France 05/03/2014 10

Horloges multiples du Pentium 4TM

Page 11: Circuits multi-horloges: métastabilité et synchronisation

G. Berry, Collège de France 05/03/2014 11

Horloges réalignées sur l’Itanium TM

Page 12: Circuits multi-horloges: métastabilité et synchronisation

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

Page 13: Circuits multi-horloges: métastabilité et synchronisation

G. Berry, Collège de France 05/03/2014 13

Horloges asynchrones métastabilité

0

1

0

1

zone h1 zone h2

Page 14: Circuits multi-horloges: métastabilité et synchronisation

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.

Page 15: Circuits multi-horloges: métastabilité et synchronisation

15G. Berry, Collège de France 05/03/2014

Synchroniseur mésochrone

sourceRG-IEEE

Page 16: Circuits multi-horloges: métastabilité et synchronisation

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

Page 17: Circuits multi-horloges: métastabilité et synchronisation

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

Page 18: Circuits multi-horloges: métastabilité et synchronisation

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

Page 19: Circuits multi-horloges: métastabilité et synchronisation

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é

Page 20: Circuits multi-horloges: métastabilité et synchronisation

20G. Berry, Collège de France 05/03/2014

Bons et mauvais comportements du latch

source : RG-SC

Page 21: Circuits multi-horloges: métastabilité et synchronisation

21G. Berry, Collège de France 05/03/2014

Longs délais et métastabilité

source : RG-SC

Page 22: Circuits multi-horloges: métastabilité et synchronisation

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 !

Page 23: Circuits multi-horloges: métastabilité et synchronisation

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

Page 24: Circuits multi-horloges: métastabilité et synchronisation

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

Page 25: Circuits multi-horloges: métastabilité et synchronisation

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

Page 26: Circuits multi-horloges: métastabilité et synchronisation

G. Berry, Collège de France 05/03/2014 26

Effet du voltage de départ V0

source : RG-SC

Page 27: Circuits multi-horloges: métastabilité et synchronisation

G. Berry, Collège de France 05/03/2014 27

Sortie de métastabilité

source : RG-SC

Page 28: Circuits multi-horloges: métastabilité et synchronisation

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

Page 29: Circuits multi-horloges: métastabilité et synchronisation

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

Page 30: Circuits multi-horloges: métastabilité et synchronisation

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

Page 31: Circuits multi-horloges: métastabilité et synchronisation

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

Page 32: Circuits multi-horloges: métastabilité et synchronisation

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

Page 33: Circuits multi-horloges: métastabilité et synchronisation

G. Berry, Collège de France 05/03/2014 33

Protocole de synchronisation

Source RG-IEEE

Page 34: Circuits multi-horloges: métastabilité et synchronisation

G. Berry, Collège de France 05/03/2014 34

Synchroniseur 4 phases

sourceRG-14

clk clk

Page 35: Circuits multi-horloges: métastabilité et synchronisation

35G. Berry, Collège de France 05/03/2014

Page 36: Circuits multi-horloges: métastabilité et synchronisation

36G. Berry, Collège de France 05/03/2014

Simulation Esterel v7 multi-horlogesvisualisation Esterel Studio

Page 37: Circuits multi-horloges: métastabilité et synchronisation

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

Page 38: Circuits multi-horloges: métastabilité et synchronisation

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

Page 39: Circuits multi-horloges: métastabilité et synchronisation

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

Page 40: Circuits multi-horloges: métastabilité et synchronisation

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

Page 41: Circuits multi-horloges: métastabilité et synchronisation

G. Berry, Collège de France 05/03/2014 41

Synchroniseurs sûrs ou agressifs

source RG-SC

Page 42: Circuits multi-horloges: métastabilité et synchronisation

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

Page 43: Circuits multi-horloges: métastabilité et synchronisation

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 !

Page 44: Circuits multi-horloges: métastabilité et synchronisation

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

Page 45: Circuits multi-horloges: métastabilité et synchronisation

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

Page 46: Circuits multi-horloges: métastabilité et synchronisation

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 !