Module EN329/ME339 Conception d’ASICs numériques Année 2013-2014 / Camille LEROUX 1 Objectifs du module Comprendre les problématiques liées à l’intégration de circuits numériques (complexité, temps de propagation, interconnexion, conso de puissance, …) Savoir manipuler la logique CMOS (conception et analyse au niveau logique, utilisation des modèles RC) Savoir dissocier l’architecture de la cible technologique (ASIC, FPGA, Processeur à jeux d’instructions,…) Références: Lecture from Prof. Chris Terman (MIT) CMOS VLSI Design, A circuits and Systems Perspective, N. Weste and D. Harris, 3rd Edition, 2004 Addison Wesley, ISBN : 0-321-16900-7 2 Plan du cours - Introduction Evolution circuits intégrés numériques (CIN) Logique CMOS statique (révision) Classification des CINs - Contraintes technologiques dans les CIN Temps de propagation – portes logiques Les interconnexions L’arbre d’horloge Analyse statique du timing Consommation de puissance et d’énergie Flot de conception cellules standards 3 Evolution des circuits intégrés numériques • Tube à vide • 1904: A. Fleming, Tube à vide Diode • 1906: Lee De Forest, Triode • 1946: Premier calculateur électronique ENIAC (Electronic Numeral Integrator and Calculator) - 17468 tubes électroniques, - 1500 relais, - 10m X 15m - 30 tonnes, - 150 KW, - 5000 additions par seconde. 4 Evolution des circuits intégrés numériques • Transistor à pointe • 1947: Bell Lab, • Bardeen, Brattain, Shockley. Nobel en 1958 • 1961 Premier circuit intégré monolithique - Set/Reset Flip-Flop - 4 transistors 5 Evolution des circuits intégrés numériques • 1967 Unité arithmétique avec Accu 8 bit Technologie MOS • 1971 Intel 4004 Micro-Proc Bus 4 bit, F=108 kHz, 2300 transistors 6 Evolution des circuits intégrés numériques • 1974: Intel 8080 6000 transistors, F=2MHz, techno 2um En 1975: Paul Allen and Bill Gates compilateur BASIC • 1979: Motorola 68000 CISC microprocesseur 7 Evolution des circuits intégrés numériques • 1993 Intel Pentium Parallelisme, graphique, audio, • 2009: Intel Core i7 8 Evolution des circuits intégrés numériques Loi de Moore - Nombre de transistors sur une puce est doublé tous les deux ans. - Ceci s’applique également à tous les circuits numériques 9 Comment concevoir un circuit numérique ? TOUS les circuits numériques sont un assemblage plus ou moins complexe de portes logiques élémentaires et de bascules D (et de mémoire). + = Comment faire des portes logiques et des bascules à partir de transistors ??? 10 A retenir 1- Les circuits actuels contiennent des milliards de transistors 2- Un circuit numérique est un assemblage de portes logiques et de bascules-D. 11 Plan du cours - Introduction – Evolution circuits intégrés numériques (CIN) – Logique CMOS statique (révision) – Classification des CINs - Contraintes technologiques dans les CIN – – – – – – Temps de propagation – portes logiques Les interconnexions L’arbre d’horloge Analyse statique du timing Consommation de puissance et d’énergie Flot de conception cellules standards 12 Transistors MOS utilisés en interrupteurs NMOS • Convention: l’électrode avec le potentiel le plus bas est nommé la source • VG faible => transistor bloqué : interrupteur ouvert • VG élevé => transistor passant : interrupteur fermé PMOS • Convention: l’électrode avec le potentiel le plus haut est nommé la source • VG faible => transistor passant : interrupteur fermé • VG élevé => transistor bloqué : interrupteur ouvert 13 Transistors MOS utilisés en interrupteurs NMOS bloqué NMOS saturé PMOS ??? Même chose avec toutes les tensions et les courants inversés 14 Portes logiques CMOS Complementary MOS: • Transistors NMOS et PMOS utilisés simultanéement • Réseaux NMOS et PMOS sont duals (même nombre de transistors, séries/parallèles) • Vf est forcée à Vdd ou bien à la Gnd • Pourquoi CMOS : conso de puissance !! 15 Inverseur CMOS 16 Portes logiques CMOS Porte NAND Porte NOR 17 Porte CMOS complexe Vf = ?? 18 Layout inverseur CMOS 19 Layout porte NAND CMOS 20 Fabrication d’un CI Le transistor MOSFET Source: Pr Michel Robert 21 Autres techno MOS Pseudo N-MOS logic Dynamic CMOS logic 22 Autres techno MOS Pass transistor logic Domino CMOS logic • Autres techno CMOS: • BiCMOS Logic • Clocked CMOS Logic (C 2 MOS) • NP Domino Logic (Zipper CMOS) • Cascade Voltage Switch Logic (CVSL) Source Follower Pull-up Logic (SFPL) 23 A retenir 1- Connaître le fonctionnement d’un transistor MOS en mode interrupteur 2- Savoir concevoir une porte logique en technologie CMOS à partir de sa fonction logique 3- Savoir déduire la fonction logique d’une porte CMOS à partir de sa structure 24 Plan du cours - Introduction – Evolution circuits intégrés numériques (CIN) – Logique CMOS statique (révision) – Classification des CINs - Contraintes technologiques dans les CIN – – – – – – Temps de propagation – portes logiques Les interconnexions L’arbre d’horloge Analyse statique du timing Consommation de puissance et d’énergie Flot de conception cellules standards 25 Système sur puce actuel (System on chip, SoC) • • • Circuit numérique (ou mixte) effectuant une grande variété de tâches de calculs Architectures hétérogènes • Processeurs dédiés à une seule tâche • Compact, rapide, faible conso, peu ou pas programmable • Processeurs dédiés à un domaine d’applications (ASIP) • Encombrement moyen, vitesse moyenne, générique dans l’espace applicatif considéré • Processeurs à usage universel (General Purpose Processor) • Plus complexe, plus gourmand, vitesse moyenne, très générique Technologies d’intégration hétérogènes • Full custom • Cellules standards • Section reconfigurable • etc… 26 Options technologiques CIN Circuits configurables Circuits dédiées Custom Circuits sur mesure Full Custom Semi-Custom Circuits précaractérisés Standard cell Circuits (re)configurables Circuits prédiffusés Gate array Sea of gates FPGA CPLD PLA 27 Full custom ASICs • Utilisé lorsque les contraintes de conception sont très fortes: performances, vitesse, consommation de puissance, coût… • Le circuit est partitionné en sous-circuits optimisés pour l’application. • Chaque transistor est dessiné “à la main”. • Typiquement utilisé pour les circuits analogiques ou bien une portion analogique d’un système plus large. • Egalement utilisé pour le layout des microprocesseurs. • Conception très coûteuse, inaproprié pour les très gros circuits, à moins que la performance soit le premier critère de conception. Custom Circuits sur mesure Full Custom SemiCustom Circuits précaractérisé s Standard cell Circuits prédiffusés Gate array Sea of gates 28 ASIC - Cellules standards • Utilisation de cellules logiques pré-caractérisées (portes ET, OU, MUX, FF, etc) appelées cellules standards • Plus simple qu’un design full-custom • Les cellules standards sont uniquement interconnectées, placées et routées. Elles sont utilisables comme des boîtes noires. • En fonction des librairies, possibilité de disposer de macro-fonctions optimisées : multiplieurs, cœurs de processeurs, ALU, etc… • Tous les masques (transistors et interconnexions) sont spécifiques au design (customized masks) • Des blocs optimisés peuvent être inclus dans le circuit • La durée de fabrication est de l’ordre de 2 mois. Custom Circuits sur mesure Full Custom SemiCustom Circuits précaractérisé s Standard cell Circuits prédiffusés Gate array Sea of gates 29 ASIC - Cellules standards Une librairie de cellules standards contient la description fonctionnelle ainsi que les caractéristiques physiques de chaque cellule. Les caractéristiques principales sont: - Fondeur (ST, TSMC, IBM,…) - Longueur min d’un transistor (90nm, 65nm, 45nm, …) - Type (general purpose, low power) - Tension de seuil (low VT, standard VT, High VT) - Tension d’alim - Worst case (lower voltage/ high T - Best case (higher voltage / low T) 30 ASIC - Cellules standards Exemples de cellule 31 ASIC - Cellules standards Exemples de cellule 32 ASIC - Cellules standards Exemples de cellule 33 ASIC prédiffusé: gate array • Les transistors sont prédiffusés sur le silicium sous forme de matrice • La matrice ainsi définie est appelée matrice de base (base array) • Le plus petit élément constitutif de la matrice de base est appelé cellule de base (ou cellule primitive) • Seules les interconnexions entre cellules de base sont modifiables: Masked Gate Array (MGA) • Le concepteur utilise une librairie de cellules logiques • Après validation, le placement et le routage automatique les cellules logiques sont converties en cellules primitives afin de générer les masques d’interconnexions A A Out B B NMOS GND Vdd PMOS NMOS GND Vdd PMOS 34 ASIC prédiffusés: gate array les sous-types GA avec canal GA sans canal (sea of gates) Custom Circuits sur mesure Full Custom GA structuré SemiCustom Circuits précaractérisé s Standard cell Circuits prédiffusés Gate array Sea of gates 35 Les circuits reconfigurables : FPGAs 36 Les circuits reconfigurables : FPGAs 37 Comparaison des types d’ASICs Différences structurelles Type Full-Custom Cellules standards Gate Array FPGA Taille cellules Variable Hauteur fixe Fixe Fixe Type de cellule Variable Variable Fixe Configurable Placement des cellules Variable En lignes Fixe Fixe Interconnexions Variable Variable Variable Configurable 38 Comparaison des types d’ASICs Surface, vitesse, couches de fab Type Full-Custom Cellules standards Gate Array FPGA Surface Compacte Compacte à modérée Modérée Importante Vitesse Forte Forte à modérée Modérée Faible Couches de fabrication après conception Toutes Toutes Couches de routage Aucune 39 Comparaison des types d’ASICs Cout monétaire et temporel Type Full-Custom Cellules standards Gate Array FPGA NRE(Non-recurring engineering cost) Très élevé Elevé Elevé Faible Coût unitaire (volume faible) Très élevé Elevé Elevé Faible Coût unitaire (volume important) Faible Faible Faible Très élevé Temps de conception Long Court Court Court Temps de fabrication Long Long Long Court 40 Quelques fondeurs d’ASICs • Manufacturiers • STMicroelectronics • IBM • AMS • TSMC • Toshiba • Texas Instruments • Samsung… • Manufacturiers « fabless » • Broadband corporation • eASIC • Nvidia • Qualcomm • PMC Sierra… 41 A retenir 1- Connaître les différentes options technologiques pour l’intégration de circuits numériques 2- Connaitre les caractéristiques structurelles de chaque option technologique. 42 Plan du cours - Introduction – Evolution circuits intégrés numériques (CIN) – Logique CMOS statique (révision) – Classification des CINs - Contraintes technologiques dans les CIN – – – – – – Temps de propagation – portes logiques Les interconnexions L’arbre d’horloge Analyse statique du timing Consommation de puissance et d’énergie Flot de conception cellules standards 43 Résistances et capacités dans un transistor MOS Modèle RC simplifié d’un transistor MOS Cdrain Cgate Ron Csource • Une technologie est souvent définie par rapport à la taille minimale des transistors : L • Les résistances et capacités sont fonctions de la largeur W du transistor • RN = LN/(2µNWN) RP = LP/(2µPWP) : O(1/W) • NMOS : ~4kµm, PMOS: ~9kµm en techno L=0.25µm • Cgate : CN = 1WNLN CP=1WPLP : O(W) • ~2fF/µm • Cdiffusion=Cdrain=Csource=O(W) • Cdiffusion Cgate 44 Propagation de l’information à travers les fonctions CMOS Quand une porte (maître) pilote/commande une autre porte (esclave), on considère que le signal s’est propagé à travers la première porte une fois que toutes les capacités reliées à sa sortie sont complètement chargées ou déchargées. tp Exercice A: calculez le temps de propagation à travers le premier inverseur lorsque: - Le signal d’entrée passe de 1à0 - Le signal d’entrée passe de 0à1 - Comparez les tp quand les transistors sont tous de même dimension 45 Equilibrage des temps de propagations à travers les fonctions CMOS Exercice B: Pour chaque porte logique, déterminez la taille relative des transistors pour avoir : tpLH(porte) = tpHL(porte) = inv NB: On suppose que chaque porte commande une autre porte logique présentant une capacité d’entrée équivalent CL. D’autre part, on considerera que µN=2µP et on négligera les capacités de diffusion. 46 Qu’en est-il des portes plus complexes ? F=(A+B).(C+D).E.G.H.(J+K) ??? Construire une fonction CMOS qui implémente F est tout à fait possible MAIS: • Le tp à travers plusieurs « petites » portes en séries est souvent moindre qu’à travers une « grosse » porte • On souhaite limiter le nombre de portes que l’on caractérise dans une librairie Qu’elle est la manière optimale d’implémenter une fonction logique du point de vue du temps de propagation ? Exercice C: Estimer le temps de propagation des opérateurs en fonction de RON, CL et Cin Quel est l’opérateur le plus rapide quand CL>>Cin ? CL<<Cin 47 A retenir 1- Un transistor MOS ne se comporte pas comme un interrupteur parfait 2- Un transistor MOS contient des résistances et des capacités parasites 3- Le temps de propagation à travers une porte correspond au temps nécessaire pour charger et décharger les capacités des transistors 4- Le temps de propagation à travers une porte logique dépend des résistances et capacités parasites du transistor mais aussi de la charge capacitive de sortie 5- Le temps de propagation n’augmente pas nécessairement avec le nombre de couches logiques traversées 48 Plan du cours - Introduction – Evolution circuits intégrés numériques (CIN) – Logique CMOS statique (révision) – Classification des CINs - Contraintes technologiques dans les CIN – – – – – – Temps de propagation – portes logiques Les interconnexions L’arbre d’horloge Analyse statique du timing Consommation de puissance et d’énergie Flot de conception cellules standards 49 Le problème des interconnexions • Dans un CIN, il y a beaucoup plus d’interconnexions que de transistors • La réduction de la taille des transistors permet de réduire le tp à travers la logique (combinatoire et séquentielle) • Cette réduction de taille permet également de réduire le temps de propagation à travers les interconnexions MAIS pas toutes ! • Les connexions locales suivent l’évolution des transistors mais pas les connexions globales (qui traversent le circuit) 50 Routage 51 Coupe d’un CIN Les transistors se trouvent dans les couches inférieures Les niveaux supérieures servent au routage des signaux 52 Résistance d’une interconnexion La hauteur est constante pour une techno donnée et un niveau donné. Les résistances sont souvent données en /square TSMC 0.18µm 6 couches de métal (Aluminium) - M1-5: 0,08 /square, interconnexion 0.5µm x 1mm : R=? - M6: 0,03 /square, interconnexion 0.5µm x 1mm : R=? 53 Résistance des vias 54 Capacité des interconnexions Cap. = 0 r width x length / spacing 0 : permittivité électrique du vide). r : permittivité relative de l’isolant • Les capacités dépendent de la topologie , de la permittivité relative r de l’isolant • SiO2 r=3,9 • SiOF r=3,1 • SiLK (polymère), r=2,6 • La nature des isolants peut varier entre les connexions, entre les niveaux de métaux. 55 Modèle RC • Modèle de Penfield-Rubenstein: 56 Modélisation des interconnexions • Les interconnexions ont des R et C distribuées sur la longueur • Le tp augmente en O(L2) • Modèle en donne une bonne approximation: • Rw est la résistance équivalente du fil • Cw est la capacité équivalente du fil 57 Un exemple concret • Techno TSMC 0.18µm, inverseur avec résistance de 3k, chargeant un opérateur de capacité d’entrée 25fF • Supposons que ces deux opérateurs sont connectés par un fil de 1mm passant par le niveau M1, de 0.25µm de large • Rw=320 (fil) + 22 (via) = 344 • Cw=160fF Calculez le Tp sans tenir compte de l’interconnexion Calculez le Tp’ en tenant compte de l’interconnexion Tp = Rdriver x Cload = 3.103 x 25.10-15 = 75ps Tp’ = Rdriver x Cw/2 + (Rdriver+Rw) x (Cw/2+Cload) = 3k x 80fF + (3k+344) x (80fF + 25fF) = 591ps 58 Réduire l’effet des interconnexions: solutions technologiques • Réduction de R • Utiliser de Cu au à la place de Al, réduction 40% • Augmenter l’épaisseur des couches de métal supérieures pour les longs fils • Utiliser plus de niveaux de métaux pour améliorer la densité et ainsi raccourcir les fils • Réduction de C • Utiliser isolant avec une meilleure constate diélectrique, réduction x2 • Augmenter l’espacement inter niveaux (effet limité, problèmes pour faire les vias) • Utiliser plus de niveaux de métaux pour améliorer la densité et ainsi raccourcir les fils 59 Réduire l’effet des interconnexions: la phase du routage • Réduction de R • Utiliser des fils plus larges, l’accroissement de C est moindre que R (effets de bords) • Utiliser des vias parallèles au niveau des contacts • Faire du floorplanning pour minimiser la longueur des fils • Eviter (autant que possible) les passages d’un niveau de métal à l’autre (vias). • Réduction de C • Ecarter les fils les uns des autres (autant que possible) • Eviter le routage parallèle 60 Réduire l’effet des interconnexions: les buffers / répéteurs • Les buffers permettent de réduire le tp • Mais rien n’est rose: • Il faut les dimensionner correctement • Les buffers se trouvent dans les couches inférieures (passage par les vias) • Les buffers prennent de la place, consomment de l’énergie • Ils sont souvent repartis à l’avance régulièrement sur le circuit L’espacement n’est alors plus nécessairement optimal 61 A retenir 1- Les interconnexions contiennent des résistances et capacités parasites 2- Le temps de propagation à travers une interconnexion correspond au temps nécessaire pour charger la capacité d’entrée de l’opérateur en aval 3- Le temps de propagation à travers les interconnexion n’est pas négligeable 4- Connaitre les solutions pour réduire l’effet des interconnexions (techno, placement routage, buffers, etc…) 62 Plan du cours - Introduction – Evolution circuits intégrés numériques (CIN) – Logique CMOS statique (révision) – Classification des CINs - Contraintes technologiques dans les CIN – – – – – – Temps de propagation – portes logiques Les interconnexions L’arbre d’horloge Analyse statique du timing Consommation de puissance et d’énergie Flot de conception cellules standards 63 Structure classique d’un circuit numérique synchrone Tous les circuits numériques ont besoin d’une référence temporelle pour savoir quand échantillonner/envoyer une valeur numérique: • Les systèmes synchrones utilisent une horloge • Les systèmes asynchrones utilisent un mécanisme de Req-Ack 64 Circuit intégré numérique à grande échelle (VLSI) La plupart des systèmes intégrés complexes sont globalement asynchrones et localement synchrones Nous nous focalisons sur un domaine d’horloge unique. 65 Structure classique d’un circuit numérique synchrone Logique Combinatoire Logique Combinatoire D Flip-Flop Clock Le signal d’horloge est propagé à toute les bascules du domaine pour qu’elles soient synchronisées. Pour avoir un fonctionnement correct, chaque bascule doit « voir » un front montant au même instant. 66 Distribution de l’horloge sur le circuit • Il est très difficile de propager le signal d’horloge de manière à ce qu’il synchronise toutes les bascules en même temps. • L’écart temporel de l’horloge entre deux bascules est appelé “clock skew” 67 Grille d’horloge • Une solution pour réduire le skew d’horloge est d’utiliser un seul niveau de métal pour le signal d’horloge. • Problème: consommation de puissance très élevée ! Clock gating impossible. 68 Arbre en H • Cette structure recursive permet de distribuer le signal sur tout le circuit de manière uniforme. • Consomme moins de puissance mais présente un skew plus important • En pratique on utilise un arbre en H pour la propagation globale du signal. Des buffers d’horloges sont ensuite utilisés en local. 69 Comment générer un signal d’horloge ? • Oscillateur en anneaux. NB: Il y a un nombre impair d’inverseurs. • Problème: • A quelle fréquence fonctionne cette structure ? • dépend de Vcc, T, techno, run de fabrication • Comment sont positionnés les front d’horloges par rapport à un observateur externe ? • oscillateur libre, pas de synchro possible avec d’autres domaines d’horloges. 70 Comment générer un signal d’horloge ? • Quartz • On utilise l’effet piézoélectrique pour générer un pic de résonnance dans la boucle de retour d’un oscillateur. • Fréquence générée est très précise +/- 0,005% • Générer des fréquences supérieures à queques centaines de MHz coûte cher. 71 Intel Itanium: clock distribution 72 Skew d’horloge et jitter • Skew d’horloge: Variation systématique du front d’horloge, d’un endroit à un autre du circuit • Causes: variation de fabrication du circuit, température, bruit d’alim • En général, les outils permettent de générer un arbre d’horloge garantissant un skew d’horloge max sur l’ensemble du circuit • Des circuits de deskewing existent pour compenser certaines composantes du skew. • Un design de l’arbre plus fin est possible mais est encore peu automatisé • Jitter d’horloge: Variation aléatoire du front d’horloge d’un cycle d’horloge à un autre • Cause principale: bruit d’alim 73 A retenir 1- Un circuit synchrone nécessite la mise en œuvre d’un arbre d’horloge pour synchroniser toutes les bascules au même signal d’horloge 2- Les temps de propagation à travers les interconnexions et la très grande resistance/capacité équivalente de l’arbre en font un problème de conception à part entière 3- Connaitre la définition du skew et du jitter d’horloge 4- Connaitre quelques topologies d’arbres d’horloges et leurs caractéristiques 74 Plan du cours - Introduction – Evolution circuits intégrés numériques (CIN) – Logique CMOS statique (révision) – Classification des CINs - Contraintes technologiques dans les CIN – – – – – – Temps de propagation – portes logiques Les interconnexions L’arbre d’horloge Analyse statique du timing Consommation de puissance et d’énergie Flot de conception cellules standards 75 Chemin critique La fréquence d’horloge est limitée par le temps de propagation maximal entre deux bascules. Ce chemin combinatoire est appelé chemin critique Le chemin critique dépend: • de la quantité de logique combinatoire mise en série • de la longueur des interconnexions entre les bascules • de la charge appliquée en sortie de chaque opérateur + + + Clock Pour que le circuit fonctionne correctement il faut que Tck > tlogic-max 76 Bascules D - Temps d’acquisition et de maintien • Rappel: D-FF: Q devient D après le front d’horloge et garde cette valeur juqu’au prochain front • Temps d’acquisition (set-up time): temps nécessaire à la bascule pour mémoriser l’entrée D avant le front d’horloge • Temps de maintien (hold time) : Temps nécessaire à la bascule pour mémoriser l’entrée D après le front d’horloge • Temps de retard à la sortie (delay on output): Délai nécessaire à la bascule pour répercuter le changement de l’entrée vers la sortie. NB: il inclut le temps de maintien 77 Violation du temps d’acquisition Violation du temps d’acquisition quand la logique combinatoire est “trop lente” et ne permet pas de stabiliser l’entrée de la bascule de droite avant l’instant t_clock-t_setup Timing slack 78 Violation du temps de maintien Violation du temps maintien quand la logique combinatoire est “trop rapide” et ne permet pas de maintenir l’entrée de la bascule suffisamment longtemps. Arrive typiquement lorsque un signal est copié d’une bascule à une autre. L’outil est alors obligé d’insérer de la logique pour retarder les signaux. 79 Qu’arrive t-il en cas de violation des temps ? D change en dehors de l’intervalle set-up/hold → t_clock-Q est correct D change pendant l’intervalle set-up/hold → t_clock-Q est plus long que prévu ou bien incorrect Changement après le setup time : t_clock-Q est plus long qu’attendu Changement avant le hold time : t_clock-Q est plus long qu’attendu et potentiellement incorrect 80 Analyse temporelle dans les outils de synthèses - Pendant la synthèse - calcul des tp dans le pire cas - Détermination du chemin critique - Exploitation du parallélisme - Déplacement de la logique dans le cas d’une violation du t_setup (retiming) - Certains outils font un préplacement pour estimer les temps de propagation le long des interconnexions - Après la synthèse - Analyse temporelle statique - Vérification des t_setup sur les chemins longs - Vérification des t_hold sur les chemins courts - Après placement et routage - Analyse temporelle tenant comptes des interconnexions 81 Comment atteindre les performances escomptées ? Une fois le système décrit en HDL, le designer a relativement peu de contrôle sur les performances: - choix des librairies de composants (souvent limité à ce que l’on a) - options compilations (nécessite une très bonne connaissance de l’outil) - multi cycles (fastidieux) - insertion de buffer (couteux) Conclusion: tout se joue lors de la phase de conception ! Si l’architecture du système est mal conçue/pensée, votre circuit aura des performances limitées. LES OUTILS NE PEUVENT PAS FAIRE DE MIRACLES SUR UN MAUVAIS DESIGN ! 82 A retenir 1- La fréquence maximale du signal d’horloge est limitée par les temps de propagation à travers la logique combinatoire et par les contraintes temporelles liées aux bascules (temps de setup et temps de maintien) 2- Connaitre la définition du chemin critique 3- Savoir analyser le chemin critique d’un circuit simple 4- Connaitre la définition du temps de maintien et d’acquisition d’une bascule D 83 Plan du cours - Introduction – Evolution circuits intégrés numériques (CIN) – Logique CMOS statique (révision) – Classification des CINs - Contraintes technologiques dans les CIN – – – – – – Temps de propagation – portes logiques Les interconnexions L’arbre d’horloge Analyse statique du timing Consommation de puissance et d’énergie Flot de conception cellules standards 84 Conso de puissance dans les circuits CMOS - La conso est devenue la fonction de coût numéro 1, devant le nombre de portes !!! - Puissance statique (quand le circuit ne bascule pas) - Courant de fuite (I_DS, courant d’oxide SiO2, …) - Puissance dynamique (lors d’une transition logique) - Courant de court-circuit - Courant de charge de la sortie 85 Puissance vs Energie - Conso de puissance dans un module CMOS - P_tot = ∑noeudsNswitch f Vdd2 Cload + Pstatique - Nswitch : Nombre moyen de cycle d’horloges (%) durant lequel un noeud donné bascule (basé sur le nombre de transitions 010 ou 101) - f= fréquence d’horloge - Cload = capacité de charge du noeud considéré - Vdd = tension d’alim - Conso d’énergie dans un module CMOS - E = ∑cycles∑noeudsNswitch f Vdd2 Cload + Estatique - NB: Réduire la conso de puissance ne réduit pas la conso d’énergie si le temps de calculs est allongé d’autant 86 Pourquoi doit-on réduire la conso ? – Pour augmenter la durée de vie des batteries pour les SE (énergie) – Pour limiter les besoins de refroidissement (Puissance) • T_max sur un circuit : 90 degrés C – Hautes températures réduisent vitesse et fiabilité du circuit • Les boitiers plastiques sont 10 fois moins cher que les boitiers céramiques mais ils ne dissipent que quelques Watts • Systèmes de refroidissements coûtent cher 87 Pourquoi doit-on réduire la conso ? – Pour limiter le coût de conception du circuit (Puissance) • Lignes d’alimentation prennent de la place sur le circuit • Régulateurs de puissances et alimentations – Pour limiter l’impact écologique (Energie) • 1% de l’énergie mondiale est consommée par l’électronique (en augmentation) • 20% de l’énergie domestique est consommée par l’électronique (en augmentation) 88 Minimiser la puissance statique • La puissance statique devient dominante dans les techno récentes • Utilisation de cellules à faible courants de fuite (perte de vitesse) • Utilisation de cellules à faible courants de fuite uniquement sur les chemins les moins critiques • Utilisation de « sleep transistors » 89 Minimiser la puissance dynamique - Réduire la tension d’alim - Utiliser faible valeur de Vdd sur les chemins non-critiques - En pratique, limité à ~600mV (si Vdd<2Vth, la vitesse diminue exponentiellement) - Réduire la fréquence d’horloge (dynamiquement ou non). NB: l’arbre consomme 50% de la puissance dyn. - Désactiver l’arbre d’horloge (clock gating) lorsque c’est possible - Architecture de la mémoire (anticipation des accès) - Réduire l’activité sur le circuit 90 A retenir 1- Savoir distinguer consommation de puissance et d’énergie 2- Connaitre les composantes de la conso dans un circuit CMOS (statique et dynamique) 3- Connaitre les paramètres qui ont une influence sur la conso (Vdd, Cload, activité, techno,…) 91 Plan du cours - Introduction – Evolution circuits intégrés numériques (CIN) – Logique CMOS statique (révision) – Classification des CINs - Contraintes technologiques dans les CIN – – – – – – Temps de propagation – portes logiques Les interconnexions L’arbre d’horloge Analyse statique du timing Consommation de puissance et d’énergie Flot de conception cellules standards 92 Flot de conception ASIC • Les premiers circuits intégrés numériques ont été conçu « à la main » • Les circuits intégrés numériques actuels sont constitués de milliards de transistors Elévation du niveau d ’abstraction Automatisation du flot de conception 93 Les outils de conception (CAD tools) Quels types d’outils ? Quel domaine de compétence ? • Editeurs • Compilateurs RTL • Simulateurs • Librairies • Synthétiseurs de modules • Placement / Routage • Générateurs de masques • etc… • Conception logique • Conception de circuits électriques • Physique du composant • Graphique • Conception système • Optimization combinatoire • etc … 94 Les phases de conception Cahier des charges Définition de l’architecture Exploration architecturale Définition de la micro architecture Saisie du design (écriture VHDL,…) Vérification Implémentation Synthèse physique Fabrication de la puce Caractérisation et test de la puce Fabrication / production Production 95 Flot de conception ASIC VHDL / verilog • Implémentation Frontend • Indépendant de la technologie • La plupart du temps, l’effort de conception fournit peut être réutilisé pour d’autres cibles technologiques (FPGA, structured ASIC, etc…) ??? GDSII • Implémentation Backend • Implémentation dépendantes de la technologie • L’effort est spécifique à la technologie cible (optimisation ) 96 Flot de conception ASIC: Frontend HDL ou schéma Test Bench Vérification fonctionnelle Synth. Lib. Synthèse Constraints Analyse Timing statique Gate netlist Timing lib. Netlist portes Saisie HDL (Verilog / VHDL) • Point de départ: description HDL du circuit • Facile à modifier, partager • Modularité Saisie Schéma • Méthode traditionnelle • Bonne vision globale du système • Facile de suivre le chemin suivi par un signal • WYSWYG Simulation Pre-layout NON OK OUI Implémentation Backend 97 Flot de conception ASIC: Frontend HDL ou schéma Test Bench Vérification fonctionnelle Synth. Lib. Synthèse Vérification fonctionnelle • Simulation fonctionnelle du design • Comparaison avec référence haut niveau (C, matlab, …) • Pas de considérations de delais de propagation • Utilisation d’un test bench • Verif. partielle possible Constraints Analyse Timing statique Gate netlist Timing lib. Netlist portes Simulation Pre-layout NON OK OUI Implémentation Backend 98 Flot de conception ASIC: Frontend HDL ou schéma Test Bench Vérification fonctionnelle Synth. Lib. Synthèse logique • Conversion du RTL en netlist de portes logiques. • Utilisation d’une librairie de modèles synthétisables • Contraintes de vitesse, de placement, … Synthèse Constraints Analyse Timing statique Gate netlist Timing lib. Netlist portes Simulation Pre-layout NON OK OUI Implémentation Backend 99 Flot de conception ASIC: Frontend HDL ou schéma Test Bench Vérification fonctionnelle Synth. Lib. Synthèse Analyse temporelle statique • Verification des contraintes temporelles • Detection et correction des conditions de “race” • Analyse independante des vecteurs de test • Aide la synthèse à optimiser la logique Constraints Gate netlist Timing lib. Netlist portes Analyse Timing statique Simulation Pre-layout NON OK OUI Implémentation Backend 100 Flot de conception ASIC Frontend HDL ou schéma Test Bench Vérification fonctionnelle Synth. Lib. Simulation Pre-layout • Verification du design à la fréquence d’horloge spécifiée • Les temps de propagation des portes sont utilisés Synthèse Constraints Gate netlist Timing lib. Netlist portes Analyse Timing statique Simulation Pre-layout NON OK OUI Implémentation Backend 101 Flot de conception ASIC: Backend Floor Planning Synth. Lib Physical Lib. Timing Lib. Synthèse physique Placement, Routage et DRC Floor planning • Les macro-blocks sont disposés sur le circuit en fonction de la complexité et connectivité • Chaque block est caractérisé par les cellules qui le compose et par ses interconnexions • Agencement “intelligent” des blocks sur le Silicium Lib. Techno. Test Bench Post-Layout simulation 102 Flot de conception ASIC: Backend Floor Planning Synth. Lib Physical Lib. Timing Lib. Synthèse physique Synthèse physique • Synthèse logique plus poussée • Des contraintes physiques sont ajoutées et fournies à l’outil de synthèse logique. • Un routeur fournit des informations sur les délais entre les portes • Les delais d’interconnexion sont plus long que ceux des portes Placement, Routage et DRC Lib. Techno. Test Bench Post-Layout simulation 103 Flot de conception ASIC: Backend Floor Planning Synth. Lib Physical Lib. Timing Lib. Synthèse physique Placement, Routage et DRC Placement et Routage • Le placement décide la localisation exacte de chaque cellule dans les macro-block • Poursuit l’effort du Floor Planning • Connecte physiquement les cellules entre elles Design Rule Check (DRC) • Vérifie les règles de dessin dans le design placé et routé • Detection d’interférences, cross-talk, etc… Lib. Techno. Test Bench Post-Layout simulation 104 Flot de conception ASIC: Backend Floor Planning Synth. Lib Physical Lib. Timing Lib. Simulation Post-Layout • Vérifie que le design fonctionne toujours avec toute les interconnexions Synthèse physique Placement, Routage et DRC Lib. Techno. Test Bench Post-Layout simulation 105