Conception d’un oscillateur robuste contrôlé numériquement pour l’horlogerie des SoCs

Conception d’un oscillateur robuste contrôlé
numériquement pour l’horlogerie des SoCs

 Génération distribuée de l’horloge 

La nécessité de minimiser à la fois le skew et le jitter a conduit à l’émergence d’une approche de distribution fondamentalement différente. Plutôt que de générer une seule horloge et de l’acheminer vers les différentes zones isochrones du SoC, chaque zone génère sa propre horloge accordée sur celle de ses voisines. On parle alors de génération distribuée de l’horloge. Sa mise en oeuvre repose sur le déploiement d’un réseau d’oscillateurs accordés les uns aux autres. Nous avons choisi de présenter deux réalisations. Elles diffèrent dans leur méthode d’accord des oscillateurs.

Réseau d’oscillateurs couplés

La première solution est illustrée en Fig. I.6, elle est décrite dans [15, 16]. Un VCO (Voltage Controlled Oscillator) est disposé dans chacune des zones isochrones. Ils ont idéalement des caractéristiques identiques et sont commandés par une tension commune : VC. Les VCO oscillent donc à la mˆeme fréquence. L’alignement de leur phase est obtenu en reliant les sorties les unes aux autres par des fils d’interconnexions. Suivant le mˆeme principe que la grille, le jitter est moyenné sur l’ensemble de la structure. Pour éviter la dérive de la période d’horloge, VC est générée par une PLL ayant pour entrée un signal de référence fixant la fréquence du réseau et la sortie de l’un des VCO.    ABCDEF CDDDCD FEB D CD Figure I.6 – Réseau d’oscillateurs couplés. 15 Cette technique combine la réduction du skew et du jitter d’une manière similaire à celle de la grille de distribution. En revanche, elle présente un certain nombre d’inconvénients. D’une part, distribuer une tension continue sur l’ensemble de la puce a un coˆut énergétique non négligeable du fait de la résistivité des lignes. Il faudrait donc utiliser des lignes relativement larges. D’autre part, le fonctionnement des circuits numériques environnants pollue VC par diaphonie. Cela va directement impacter la stabilité de la période d’oscillation. Enfin, le postulat d’oscillateurs contrôlés identiques paraît peu réaliste compte tenu des dispersions des technologies fortement sub-microniques.

Réseau de PLL couplées

Notre deuxième cas d’étude est présenté en Fig. I.7a. L’idée a été initialement avancée dans [17] et la preuve expérimentale du concept apportée dans [18]. Ici, la commande de l’oscillateur d’une zone isochrone est exclusive. Elle résulte de la comparaison de sa phase à celle de ses voisins contigus. Cette comparaison s’effectue aux frontières des zones au moyen d’une PLL ayant 2, 3 ou 4 entrées selon qu’elle soit respectivement placée dans un angle, en bordure ou au coeur du SoC. Ainsi, la synchronisation de proche en proche conduit finalement à une synchronisation globale. Le schéma bloc de l’une de ces PLL est donné en Fig. I.7b. 16    A B C (a)    A  BCDEF        (b) Figure I.7 – (a) Réseau de PLLs couplées ; (b) Architecture d’un noeud. L’utilisation d’un réseau de PLL permet de s’affranchir des disparités entre VCO et de minimiser le skew et le jitter. Par zone, l’horloge traverse au maximum une demi-zone isochrone du VCO au comparateur de phase. De plus, elle ne nécessite aucun répéteur puisque l’horloge est régénérée localement. Ainsi, la PLL est la seule source de jitter. Un tel dispositif tend à moyenner les incertitudes temporelles sur l’ensemble du réseau [19, 20]. De manière à réduire la puissance consommée, il est possible d’asservir les horloges à une fréquence basse, qui plus est sur de courtes interconnexions. Elle peut ˆetre rehaussée localement, selon les besoins, à l’aide de diviseurs programmables intégrés aux PLL. Enfin, elle se prˆete parfaitement aux réductions d’échelle opérées à chaque génération technologique. Pour cela, il suffit de réduire la surface des zones isochrones. Comme pour l’architecture précédente, le défaut majeur de cette structure est sa conception analogique. C’est aussi valable pour la technique précédente. Par nature, elle est sensible aux dispersions technologiques, aux polarisations, à la température et au bruit intrinsèque des composants et de son environnement. Ainsi, dans le cadre d’un déploiement dans une technologie fortement sub-micronique, des circuits de re-calibrage peuvent s’avérer nécessaires. Cela entraîne une consommation d’espace et d’énergie supplémentaire. Enfin, la reconfiguration dynamique ou l’emploi de technique de DVFS (Dynamic 17 Voltage/Frequency Scaling) [21, 22], pour l’optimisation du circuit d’horlogerie, n’est pas facilité. En conclusion, cette dernière architecture s’avère ˆetre la plus avantageuse. Néanmoins, une implémentation tout numérique réduirait certaines de ses faiblesses et la rendrait plus attractive pour l’horlogerie des MPSOC. C’est dans ce contexte que s’inscrit le projet HODISS. Dans ce qui suit, nous allons identifier o`u se situent les verrous techniques en terme de conception microélectronique. I.3 Noeud du réseau de PLL couplées Une implémentation numérique du réseau de PLLs couplées fait intervenir non plus des PLLs analogiques mais des PLLs numériques plus connues sous le nom de ADPLL (All Digital Phase-Locked Loop) [23]. Son schéma de principe est illustré en Fig. I.8. L’ADPLL est constituée d’un comparateur de phase numérique, d’un filtre numérique, d’un DCO (Digitally Controlled Oscillator) et éventuellement d’un diviseur de fréquence. Les signaux d’entrée/sortie sont compatibles aux niveaux logiques des circuits numériques. L’asservissement numérique de la phase de l’oscillateur offre divers avantages : reconfigurabilité, immunité des signaux de commande aux bruits, gain d’espace par l’absence de capacité pour le filtre de boucle, etc.    A BC D E  Figure I.8 – Schéma de principe de l’ADPLL. Les sous-sections suivantes décrivent les différents blocs de l’ADPLL.

Comparateur de phase

De la mˆeme manière que pour une PLL analogique, le comparateur détecte l’erreur de phase entre le signal de référence et celui généré par l’oscillateur contrôlé. Cet écart est quantifié sur un nombre de bits donné puis transmis au filtre numérique. La Fig. I.9 présente une implémentation typique du comparateur [24]. Elle est basée sur son alter-ego analogique largement utilisé dans les CP-PLL (Charge-Pump PLL) [25]. Elle équivaut à l’association PFD-CP (Phase/Frequency Detector – Charge-Pump). 18  ABC DE FB        A AB B Figure I.9 – Schéma bloc d’un comparateur phase-fréquence numérique. Le premier bloc BB-PFD est un comparateur phase/fréquence de type Bang-Bang [26]. Il a pour entrée le signal de référence Ref et la sortie de l’oscillateur contrôlé Out. Il produit 2 sorties : une impulsion Delta dont la largeur représente l’écart de phase entre les 2 entrées et Signe indiquant l’avance ou le retard de Out par rapport à Ref. La largeur de cette impulsion est quantifiée par le TDC (Time-to-Digital Converter) [26]. Il produit un mot numérique image de l’écart de phase. Le résultat est transmis au filtre de boucle. I.3.2 Filtre de boucle numérique Le filtre de boucle, de type passe-bas, re¸coit le mot numérique issu du comparateur de phase et le met en forme pour le contrôle de l’oscillateur. L’implémentation classique repose sur un filtre FIR (Finite Impulse Response), largement employé dans les techniques de traitement numérique du signal. Le dimensionnement du filtre peut ˆetre obtenu par une transformation bilinéaire de la fonction de transfert analogique équivalente [27]. ABCBD E F    F  C C Figure I.10 – Filtre numérique de boucle. I.3.3 Oscillateur contrôlé numériquement Le DCO produit le signal Out dont la fréquence et la phase sont asservies sur celles de Ref, via la commande issue du filtre. Cet élément occupe une place particulière au sein d’une PLL numérique car il est par nature analogique. Une commande numérique ne peut lui ˆetre directement appliquée. Aussi, il y a toujours une interface qui apparaît soit 19 de manière explicite soit de manière implicite. Dans le cas de la Fig. I.8, le DCO est formé par l’assemblage d’un DAC (Digital-to-Analog Converter) et d’un VCO. Une autre représentation est donnée en Fig. I.11. Une commande numérique connecte (déconnecte) à un oscillateur LC des capacités par le biais d’interrupteurs [28]. La période d’oscillation, proportionnelle à √ LC, est alors contrôlée numériquement sans faire intervenir explicitement un DAC.         A B Figure I.11 – Oscillateur LC contrôlé par la commutation d’éléments capacitifs. Dans le cadre d’une génération distribuée de l’horloge, le DCO est le générateur d’horloge d’une zone isochrone. Si le comparateur de phase et le filtre de boucle sont numériques, lui reste analogique avec toutes les faiblesses que cela comporte. D’une part, son temps et son coˆut de développement sont élevés. D’autre part, le DCO est directement affecté par son environnement : bruits, température, etc. Ces paramètres sont à l’origine de variations aléatoires de sa période d’oscillation, autrement dit de jitter [29]. Le skew étant limité par la distance séparant le DCO du reste de l’ADPLL, le jitter reste la principale incertitude à réduire. C’est donc l’élément critique du réseau de distribution. 

Oscillateur d’une zone isochrone 

L’oscillateur contrôlé étant l’élément sensible du réseau, nous allons présenter dans cette section ses principes généraux dans le contexte de l’horlogerie. Dans le soucis de l’intégrer facilement au SoC, le générateur d’horloge est généralement construit autour d’un oscillateur en anneau. Sa configuration la plus simple est représentée en Fig. I.12a. Il comprend un nombre impair d’inverseurs (au moins 3). La sortie du dernier inverseur est rebouclée sur l’entrée du premier, rendant le système oscillant. 20    AB AC DB EF (a)   ABC (b) Figure I.12 – (a) Oscillateur en anneau à 3 étages ; (b) Chronogramme des signaux. C’est l’utilisation d’inverseurs logiques qui le rend si attractif pour la génération d’horloge au détriment des circuits résonnants (type LC). D’une part, sa brique de base est similaire à celle des circuits numériques. D’autre part, il offre un gain de place significatif comparé à l’espace monopolisé par l’inductance d’un oscillateur LC . Ce paramètre est primordial lorsqu’il s’agit d’une génération distribuée de l’horloge o`u un grand nombre de générateurs sont présents sur la puce. Afin de déterminer quels sont les leviers de contrôle de l’oscillateur, nous établissons dans ce qui suit sa période d’oscillation. 

Oscillateur en anneau : période d’oscillation

 La période est déterminée par le temps de propagation de l’onde à travers la chaîne d’inverseurs. Le front montant de l’horloge est obtenu après un premier parcours de l’onde à travers la chaîne, le front descendant est obtenu au second tour. Ainsi, la période d’oscillation est décrite analytiquement par l’Eq. I.1. Tosc = X N i=1 (τMi + τDi ) (I.1) o`u N est le nombre d’inverseurs, τMi et τDi sont respectivement les temps de montée et descente du i eme étage. En supposant que tous les étages sont identiques, le temps de montée peut-ˆetre décrit par τM = η CL IP |{z} pente VDD |{z} amplitude (I.2) 21 o`u η est un facteur sans dimension proche de 1, CL représente le condensateur parasite de l’inverseur, IP correspond au courant injecté par le transistor PMOS et VDD est l’amplitude des oscillations, ici égale à la tension d’alimentation du circuit [32]. L’expression de τD est similaire, mais le courant n’est plus conduit par le PMOS mais par le NMOS. Ainsi, l’Eq. I.1 devient Tosc = ηNCLVDD  1 IP + 1 IN  (I.3)

 Contrôle de la période d’oscillation

 L’Eq. I.3 montre quatre degrés de liberté pour le réglage de Tosc, à savoir : • N : une modulation de la profondeur de la chaîne par l’activation (désactivation) dynamique d’étage permet de modifier la période ; • CL : changer la charge capacitive d’un inverseur agit directement sur Tosc tel que dans l’exemple de la Fig. I.11 ; • IP,N : une augmentation (diminution) du courant fourni par un inverseur à CL diminue (augmente) son délai et donc la période d’oscillation de l’anneau ; • VDD : L’ajustement de la tension d’alimentation, par un DAC par exemple, revient à ajuster Tosc. Il s’agit là de paramètres influant de manière prédictive sur la période d’oscillation. IP,N et VDD sont aussi les portes d’entrée de l’oscillateur aux bruits et à la modulation aléatoire de la période. Dans la sous-section suivante, les mécanismes d’apparition du jitter sont décrits. 

Jitter dans l’oscillateur en anneau

 Idéalement, la tension d’alimentation est parfaitement constante et les transistors ne sont pas générateurs de bruit. Les temps de montée et de descente des inverseurs et l’espace entre les transitions du signal d’horloge sont constants. Dans les faits, la tension d’alimentation fluctue en permanence avec l’activité des circuits numériques connectés. On parle de bruit de commutation. De plus, le courant conduit par un transistor est toujours affecté par un bruit intrinsèque (blanc et coloré). La nature aléatoire de ces phénomènes, dont la période d’oscillation est tributaire (voir Eq. I.3), est à l’origine du jitter. Pour comprendre les mécanismes mis en jeu, considérons la présence unique de bruit généré par les transistors. Ce bruit, modélisé par la source de courant ibr, est superposé au signal utile IP et participe à la charge de CL, tel que représenté en Fig. I.13. 

Table des matières

I Contexte & problématique
I.1 Distribution classique d’une horloge
I.1.1 Déploiement de l’horloge
I.1.2 Incertitudes temporelles
I.1.3 Arbre équilibré
I.1.4 Grille de distribution
I.1.5 Réduction effective du skew
I.2 Génération distribuée de l’horloge
I.2.1 Réseau d’oscillateurs couplés
I.2.2 Réseau de PLL couplées
I.3 Noeud du réseau de PLL couplées
I.3.1 Comparateur de phase
I.3.2 Filtre de boucle numérique
I.3.3 Oscillateur contrôlé numériquement
I.4 Oscillateur d’une zone isochrone
I.4.1 Oscillateur en anneau : période d’oscillation
I.4.2 Contrôle de la période d’oscillation
I.4.3 Jitter dans l’oscillateur en anneau
I.5 Problématique
II DCOs pour la génération d’horloge
II.1 Premiers pas
II.1.1 Ajustement des courants de charge (décharge)
II.1.2 Réglage des charges capacitives
II.1.3 Bilan
II.2 Conception à base de cellules standards numériques .
II.2.1 Adressage d’une matrice d’inverseurs
II.2.2 Modulation de la profondeur de chaîne
II.2.3 Bilan
II.3 Compensation des variations de PVT
II.3.1 DCOs auto-suffisants
II.3.2 DCO assisté
II.3.3 Bilan
II.4 Conclusion
IIIDCO à matrice d’inverseurs 3 états
III.1 Modèle analytique de la période d’oscillation
III.1.1 Définitions
III.1.2 Période en fonction de la chaîne principale
III.2 Incertitude sur la période d’oscillation
III.2.1 Jitter lié à l’oscillateur en anneau
III.2.2 Impact de la matrice d’inverseurs
III.3 Méthodologie de conception
III.3.1 Délai de l’inverseur principal
III.3.2 Plage de fonctionnement
III.3.3 Influence de la technologie
III.3.4 WP : variable d’ajustement
III.4 Validation par la simulation
III.4.1 Période en fonction du code d’entrée
III.4.2 Dépendance à l’alimentation
III.4.3 Jitter intrinsèque au DCO
III.4.4 Compromis puissance-jitter
III.5 Bilan
IV Caractérisation d’un DCO à matrice d’inverseurs 3 états
IV.1 Présentation du circuit de validation
IV.1.1 Architecture
IV.1.2 Plage de fonctionnement théorique
IV.2 Résultats expérimentaux
IV.2.1 Caractéristiques de transfert du DCO
IV.2.2 Mesure du Jitter
IV.3 Conclusion
V Conception d’un DCO auto-suffisant
V.1 Solution de principe
V.1.1 Description fonctionnelle et fréquence d’oscillation
V.1.2 Techniques de compensation
V.2 Implémentation
V.2.1 Dimensionnement du système
V.2.2 Opération de l’oscillateur contrôlé
V.3 Estimation de la robustesse
V.3.1 Dépendance à l’alimentation
V.3.2 Dépendance à la température
V.3.3 Résumé des performances
V.4 Bilan
Conclusion & Perspectives
Publications
A Dimensions du DCO auto-suffisant
A.1 Inverseur de l’oscillateur en anneau
A.2 Réplique d’inverseur pour la génération de VR
A.3 Génération de VMC
A.4 Commande de i-DAC
A.5 Source de courant IOF F .
A.6 Convertisseur sortie différentielle vers sortie unique

projet fin d'etude

Télécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *