500 likes | 659 Views
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.
E N D
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 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
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
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
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
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
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
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
Distribution d’horloges du Pentium 4 G. Berry, Collège de France
Horloges multiples du Pentium 4TM G. Berry, Collège de France
Horloges réalignées sur l’Itanium TM G. Berry, Collège de France
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
Horloges asynchrones métastabilité zone h2 zone h1 1 0 1 0 G. Berry, Collège de France
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
Synchroniseur mésochrone source RG-IEEE G. Berry, Collège de France
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
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
Réalisation d’un latch transparent D h Q source : DK b Q clk clk1, D1 h0, b1 Q1 Q0 clk0 h1, b1 QQ,QQ clk1, D0 h1, b0 Q1 Q0 G. Berry, Collège de France
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
Bons et mauvais comportements du latch source : RG-SC G. Berry, Collège de France
Longs délais et métastabilité source : RG-SC G. Berry, Collège de France
Fréquence d’erreurs d’échantillonnage FR1/T fréquence réceptrice FE fréquence du changement de l’entrée w shlargeur de la bande interdite Err fréquence d’erreur potentielle Err FEwT FEFRw Exemple réaliste: FR 1GHz FE 100 MHz w 20 ps T 50 Err 108109 2 1011 Err 2106 Oups, 2 millions de fois par seconde ! G. Berry, Collège de France
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
Modèle analogique d’un latch métastable C : capacité R : résistance -A : amplificateur négatif VA0, VB1 VA1, VB0 stable métastable VAVB0,5 bruit thermique source : RG-IEEE G. Berry, Collège de France
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
Effet du voltage de départ V0 source : RG-SC G. Berry, Collège de France
Sortie de métastabilité source : RG-SC G. Berry, Collège de France
La loi exponentielle explosion exponentielle du voltage, passage au seuil des transistors source : RG-IEEE G. Berry, Collège de France
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 ! MTBF FEFRw S T S 2T G. Berry, Collège de France
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
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
Désastre garanti source RG-14 Chaque synchroniseur peut être non-déterministe indépendamment des autres ! G. Berry, Collège de France
Protocole de synchronisation Source RG-IEEE G. Berry, Collège de France
Synchroniseur 4 phases source RG-14 clk clk G. Berry, Collège de France
Simulation Esterel v7 multi-horloges visualisation Esterel Studio G. Berry, Collège de France
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
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
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
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
Synchroniseurs sûrs ou agressifs source RG-SC G. Berry, Collège de France
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
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
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
C’est-y pas beau, le code Gray ? source http://lordikc.free.fr/wordpress/?p=12 G. Berry, Collège de France
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