La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Circuits multi-horloges: métastabilité et synchronisation

Présentations similaires


Présentation au sujet: "Circuits multi-horloges: métastabilité et synchronisation"— Transcription de la présentation:

1 Circuits multi-horloges: métastabilité et synchronisation
Gérard Berry Collège de France Chaire Algorithmes, machines et langages Cours 4, 5 mars 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
SPI I2C LIN CAN USB Ethernet WIFI DOCSIS Compo DISPLAY Audio H.265 CORE ITC MMU TIMER UART PRCMU PWM DAC ADC GPU MEM CTLR CPU CORE ITC MMU TIMER UART Capteur CPU CORE ITC MMU TIMER UART IPs multiples, horloges multiples, réseaux (NoCs) protocoles de communication et gestion d’énergie complexes Nécessité de niveaux de simulation multiples Construire le logiciel avant le chip  simulation TLM G. Berry, Collège de France 05/03/2014

4 Quelques grandes questions
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. G. Berry, Collège de France 05/03/2014

5 Cours et séminaires 2014 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 arbitraire 5 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 : : physiques 5 mars : : K-J. Åström (Lunds Univ, Sweden) G. Berry, Collège de France 05/03/2014

6 Cours et séminaires 2014 26 mars : circuits cycliques et logiques constructive 5 mars : modélisations hybrides continues / discrètes 5 mars : M. Pouzet (ENS Paris) 2 avril : Jouer avec le temps 5 mars : : systèmes parallèles temps-réel 5 mars : : A. Cohen (INRIA) et M. Duranton (CEA) 9 avril : Cerveau, cognition et temps 9 avril : V. van Vassenhove (Neurospin) 9 avril : compléments et réponse aux questions 9 avril : G. Berry, Collège de France 05/03/2014

7 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 G. Berry, Collège de France 05/03/2014

8 Pourquoi plusieurs horloges ?
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! 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. 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 G. Berry, Collège de France 05/03/2014

9 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 synchrones  même phase mésochrones :
 décalage de phase constant Même fréquence 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é
zone h1 zone h2 1 1 G. Berry, Collège de France 05/03/2014

14 Références métastabilité / synchroniseurs
Histoire : My Work on All Things Metastable (Me and My Glitch) Histoire : T. J. Chaney, RG-IEEE : Metastability and Synchronizers: A Tutorial RG-IEEE : Ran Ginosar, IEEE Design & Test, Sept/Oct. 2011 RG-14 : Fourteen Ways to Fool your Synchronizer RG-14 : Ran Ginosar, Proc. ASYNC conf., 2003 RG-SC : Ginosar-Synchronization-Color.pdf RG-14 : Ran Ginosar, communication personnelle DK : Synchronization and Arbitration in Digital Systems RG-14 : D. J. Kinniment, Wiley, 2007. G. Berry, Collège de France 05/03/2014

15 Synchroniseur mésochrone
source RG-IEEE G. Berry, Collège de France 05/03/2014

16 Synchroniseur mésochrone
prendre la plus vieille valeur disponible Attention, avec 2 registres seulement, risque de métastabilité au début ou à la fin ! 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 clk h source : DK b clk1, D1  h0, b1  Q1  Q0 clk1, D0  h1, b0  Q1  Q0 clk0  h1, b1  QQ, QQ G. Berry, Collège de France 05/03/2014

19 Contraintes électriques d’un latch
clk ω w T clk s setup h hold D délai long sortie 1, 0 ou glitch métastabilité G. Berry, Collège de France 05/03/2014

20 Bons et mauvais comportements du latch
source : RG-SC G. Berry, Collège de France 05/03/2014

21 Longs délais et métastabilité
source : RG-SC G. Berry, Collège de France 05/03/2014

22 Fréquence d’erreurs d’échantillonnage
FR  1 / T fréquence réceptrice FE  fréquence du changement de l’entrée w  sh largeur de la bande interdite Err  fréquence d’erreur potentielle Err  FEw  T  FEFRw Exemple réaliste: FR  1GHz FE  100 MHz w  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 VA0, VB1 VA1, VB0 stable VAVB0,5 métastable bruit thermique source : RG-IEEE 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 explosion exponentielle du voltage,
passage au seuil des transistors source : RG-IEEE 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 : et / 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  FEFRw S  T S  2T G. Berry, Collège de France 05/03/2014

30 MTBF de résolution du registre
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 N Fréq. GHz MTBF (s) MTBF intuitif 16 6,25 1,9 106 rien du tout ! 32 3,12 2,2 103 pas grand chose ! 48 2,08 152 pas terrible ! 64 1,56 9,3 jours, mieux 100 1 1,3 1014 4 106 ans  128 0,78 2,6 1020 8, ans !!! G. Berry, Collège de France 05/03/2014

31 Le synchroniseur 2-FF de base
rarement métastable mais souvent lent et souvent non-déterministe S  T jamais métastable, jamais lent mais souvent non-déterministe ! S  2T Si on s’y prend bien, la métastabilité et le long délai s’échangent contre le non-déterminisme G. Berry, Collège de France 05/03/2014

32 Désastre garanti Chaque synchroniseur peut être non-déterministe
source RG-14 Chaque synchroniseur peut être non-déterministe indépendamment des autres ! 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 clk clk source RG-14
G. Berry, Collège de France 05/03/2014

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

36 Simulation Esterel v7 multi-horloges visualisation Esterel Studio
G. Berry, Collège de France 05/03/2014

37 Mauvais design FF1 FF2 Mauvaise valeur échantillonnée par FF2
source RG-14 Mauvaise valeur échantillonnée par FF2 si FF1 se stabilise trop lentement ! G. Berry, Collège de France 05/03/2014

38 Mauvaise optimisation
gagner un registre et un cycle source RG-14 FF Mauvaise valeur échantillonnée par FF si R1 se stabilise trop lentement ! G. Berry, Collège de France 05/03/2014

39 Presque bon mais pas portable !
d8 source RG-14 CPU 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 ! G. Berry, Collège de France 05/03/2014

40 Reset et Clear doivent être synchronisés
source : RG14 Évitent la métastabilité si RESET trop près de CLOCK G. Berry, Collège de France 05/03/2014

41 Synchroniseurs sûrs ou agressifs
source RG-SC G. Berry, Collège de France 05/03/2014

42 FIFO multi-horloges 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 Simulation and Synthesis Techniques for Asynchronous FIFO Design Clifford E. Cummings, Sunburst Design, Inc. Proc. ESNUG San Jose 2003 G. Berry, Collège de France 05/03/2014

43 Fifo bi-horloges Pour contrôler le non-déterminisme,
les pointeurs doivent impérativement être passés en code Gray ! wclk  horloge de l’émetteur rclk  horloge du récepteur G. Berry, Collège de France 05/03/2014

44 Pourquoi le code Gray? gray(n)  bin(n) oux bin(n/2)
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 gray(n)  bin(n) oux bin(n/2) Un seul bit change de n à n+1 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 ! G. Berry, Collège de France 05/03/2014

45 C’est-y pas beau, le code Gray ?
source G. Berry, Collège de France 05/03/2014

46 Conclusion Passer d’une zone d’horloge à une autre, c’est toute une aventure (à ne pas laisser aux débutants) 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 ! G. Berry, Collège de France 05/03/2014


Télécharger ppt "Circuits multi-horloges: métastabilité et synchronisation"

Présentations similaires


Annonces Google