FrançaisEnglish

Conception Automatique d'Oscillateurs Configurables

Date: 2018-2019

Version pdf téléchargeable

Contexte du stage

Dans les systèmes sur puce (SoC, Systems on Chip), l’oscillateur contrôlé numériquement (DCO, Digital Oscillator Controlled) est un des éléments essentiels pour créer des signaux d’horloge ou de synchronisation. Dans les SoC synchrones, c’est même l’un des blocs les plus critiques, puisque c’est sur lui que repose le cadencement de toute la puce.

Parmi les nombreuses architectures d’oscillateur contrôlé existantes, le DCO à matrice d’inverseurs 3 états [1] est l’une des structures qui présente le plus d’intérêt, notamment en raison de sa grande régularité et symétrie. Cette architecture rend alors le dessin des masques plus simple que d’autres structures, mais ce travail reste tout de même fort fastidieux. En effet, à l’heure actuelle, la conception de ce type de circuit est essentiellement artisanale. Cette approche est, par conséquent, sous-optimale et non-réutilisable. De plus, cette fonction oscillation est difficile à réaliser précisément, car la fréquence d’oscillation peut varier en fonction des paramètres du procédé technologique et de la température. C’est pourquoi il est important de pouvoir caractériser et analyser précisément les propriétés d’un tel composant en simulation, avant sa réalisation (prototypage virtuel).

Au LIP6, nous avons mis au point :

  • une méthode de dimensionnement systématique des composants analogiques [2], [3], fondée sur le contrôle du point de repos et les petits signaux,
  • une méthodologie de dimensionnement de ce type de DCO [4].
  • une méthode de réalisation automatique de placement des composants électroniques et de dessins des masques (layout) [5], [6].

Nous voulons maintenant utiliser ces 3 méthodes et les étendre, afin de réaliser la synthèse (semi-)automatique de cette famille de DCO, en se basant sur un cahier des charges aussi minimal que possible.

Objectifs du stage

Au cours de ce stage, la méthodologie de dimensionnement de cette famille de DCO sera parfaite à partir de l’existant et implémentée pour interagir avec l’outil Coriolis du LIP6. Pour une technologie donnée (typiquement, CMOS 65 nm), celle-ci conduira à l’obtention d’un schematic (avec un nombre de cellules, de transistors et les dimensions des transistors). A partir de celui-ci, l’appel d’un simulateur électrique, configuré pour réaliser plusieurs simulations différentes (e.g., analyses DC, transitoire, harmonique), permettra d’obtenir automatiquement les principales performances du circuit (dont la fréquence d’oscillation, la consommation et le bruit de phase). Elles pourront alors être comparées automatiquement à un cahier des charges préétabli par le stagiaire, avec le concours de ses encadrants. Une fois le dimensionnement figé, la génération automatisée et optimisée du dessin des masques sera faite et l’extraction des éléments parasites associés sera réalisée. Elle nous conduira au final à l’évaluation des performances par simulation électrique, qui seront à nouveau comparées au cahier des charges.

Tâches à effectuer durant l'ensemble du stage

Les tâches à réaliser durant ce stage sont les suivantes :

  • Comprendre le fonctionnement de l’oscillateur étudié : 2 jours ;

  • Comprendre l’ensemble des travaux déjà réalisés sur le sujet (dimensionnement et dessin des masques) : 2 semaines ;

  • Simuler et analyser avec un simulateur électrique une cellule simple et un DCO, avec la prise en compte de propriétés statiques et grand signal, avant tout : 1 semaine ;

  • Spécifier avec les encadrants les paramètres libres et les caractéristiques statiques et dynamiques à prendre en compte pour une cellule inverseuse et l’oscillateur constitué de sa partie matricielle : 2 jours ;

  • Proposer des améliorations dans l’algorithme de dimensionnement de l’oscillateur, implémenter les codes associés et tester/analyser les résultats de simulation : 4 semaines ;

  • Adapter l’outil de réalisation des masques à la structure et réaliser le dessin semi-automatique : 12 semaines ;
    • Dessin des cellules inverseuses et inverseuses contrôlées, au gabarit des cellules du procédé cible. Pour la logique standard, on utilisera directement les cellules de la bibliothèque du procédé cible.
    • Un outil de placement et routage procédural pour un dessin des masques le plus compact possible. On pourra s'inspirer d’une 1ière réalisation développée dans l’environnement Coriolis.
  • Tester et analyser les résultats, après extraction des éléments parasites : 2 semaines ;

  • Rédiger le rapport de stage : 2 semaines.

Profil souhaité

Etudiant d’école d’ingénieur ou master 2 dans le domaine de l’informatique et de l’EEA.

Compétences requises

  • Autonome,
  • Rigoureux,
  • Sens critique,
  • Bonne capacité à s’exprimer oralement et par écrit,
  • Bonne compétences en programmation C++ et Python
  • Bases en conception/simulation au niveau transistor,
  • Intérêt pour les signaux mixtes (analogiques et numériques).

Encadrement LIP6

Ce stage sera financé par le Lip6 au tarif déterminé par Sorbonne Université. Le stage se déroulera dans les locaux du Lip6. Il sera encadré par :

Bibliographie

[1]E. Zianbetov, F. Anceau, M. Javidan, D. Galayko, E. Colinet, J. Juillard, A Digitally Controlled Oscillator in a 65-nm CMOS process for SoC clock generation, IEEE International Symposium on Circuits and Systems (ISCAS), 2011.
[2]Coriolis Online Documentation
[3]F. Javid, R. Iskander, M.M. Louërat, D. Dupuis, Analog Circuits Sizing Using Bipartite Graphs, IEEE International Midwest Symposium on Circuits and Systems (MWSCAS), 2011.
[4]M. Terosiet, S. Feruglio, D. Galayko, P. Garda, An Analytical Model Of The Oscillation Period For Tri-State Inverter Based DCO, IEEE International Conference on Microelectronics (ICM), 2011.
[5]E. Lao, M. M. Louërat, J. P. Chaput, Highly configurable place and route for analog and mixed-signal circuits, PhD Forum at Design, Automation and Test in Europe Conference (DATE), 2017.
[6]E. Lao, M.M. Louërat, J. P. Chaput, Semi-Automated Analog Placement based on Margin Tolerances, The 20th Workshop on Synthesis And System Integration of Mixed Information Technologies (SASIMI), 2016.