Analyse statique du timing - Page Web de Camille Leroux

publicité
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
Téléchargement