Circuits multi-horloges: métastabilité et synchronisation

Post on 11-Jan-2016

27 views 0 download

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 gerard.berry@college-de-france.fr. 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

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/gerard-berrygerard.berry@college-de-france.fr

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 à

gerard.berry@college-de-france.fr

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é

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 !