1 / 46

Circuits multi-horloges: métastabilité et synchronisation

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.

nira
Download Presentation

Circuits multi-horloges: métastabilité et synchronisation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Les systèmes embarqués du XXIesiè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. • Interfacesasynchrones et l’orchestration de services best effort depuis le Web asynchrone G. Berry, Collège de France

  3. Les circuits du XXIesiècle UART UART UART UART CORE CORE CPU CORE CPU CORE MMU MMU MMU MMU TIMER TIMER TIMER TIMER ITC ITC ITC ITC WIFI ADC USB SPI ADC Ethernet DAC CAN PRCMU DAC DOCSIS PWM I2C LIN Audio Compo Capteur H.265 DISPLAY Capteur GPU MEM CTLR • 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

  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

  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 (LundsUniv, Sweden) G. Berry, Collège de France

  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

  7. 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

  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

  9. Distribution d’horloges du Pentium 4 G. Berry, Collège de France

  10. Horloges multiples du Pentium 4TM G. Berry, Collège de France

  11. Horloges réalignées sur l’Itanium TM G. Berry, Collège de France

  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 harmoniques  rapports rationnels Fréquences différentes asynchrones  rapports inconnus / variables G. Berry, Collège de France

  13. Horloges asynchrones  métastabilité zone h2 zone h1 1 0 1 0 G. Berry, Collège de France

  14. Références métastabilité / synchroniseurs Histoire :My Work on All ThingsMetastable (Me and MyGlitch) Histoire : T. J. Chaney, http://www.arl.wustl.edu/~jst/cse/260/glitchChaney.pdf‎ 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

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

  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

  17. Flip-Flop (registres) et Latch, vision théorique FF  2 latchs opposés (Master / Slave) source : RG-SC transparent opaque G. Berry, Collège de France

  18. Réalisation d’un latch transparent D h Q source : DK b Q clk clk1, D1  h0, b1  Q1  Q0 clk0 h1, b1  QQ,QQ clk1, D0  h1, b0  Q1 Q0 G. Berry, Collège de France

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

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

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

  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hlargeur 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109 2 1011 Err 2106 Oups, 2 millions de fois par seconde ! G. Berry, Collège de France

  23. Métastabilité : Chaney et Molnar, 1970+ My Work on All Things Metastable OR: (Me and MyGlitch) March 2012 Thomas J. Chaney G. Berry, Collège de France

  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 métastable VAVB0,5 bruit thermique source : RG-IEEE G. Berry, Collège de France

  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

  26. Effet du voltage de départ V0 source : RG-SC G. Berry, Collège de France

  27. Sortie de métastabilité source : RG-SC G. Berry, Collège de France

  28. La loi exponentielle explosion exponentielle du voltage, passage au seuil des transistors source : RG-IEEE G. Berry, Collège de France

  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 ! MTBF  FEFRw S T S 2T G. Berry, Collège de France

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

  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

  32. Désastre garanti source RG-14 Chaque synchroniseur peut être non-déterministe indépendamment des autres ! G. Berry, Collège de France

  33. Protocole de synchronisation Source RG-IEEE G. Berry, Collège de France

  34. Synchroniseur 4 phases source RG-14 clk clk G. Berry, Collège de France

  35. G. Berry, Collège de France

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

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

  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

  39. Presque bon mais pas portable ! • Supprimer l’acknowledge A est dangereux, car il dit aussi si les données utilisées ont été lues d8 source RG-14 CPU 60-100 MHz Modem 55 MHz • Passage du CPU à 200 MHz  incorrect ! G. Berry, Collège de France

  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

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

  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

  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

  44. Pourquoi le code Gray? 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

  45. C’est-y pas beau, le code Gray ? source http://lordikc.free.fr/wordpress/?p=12 G. Berry, Collège de France

  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

More Related