Méthodologie de conception des circuits VLSI
Méthodologie de conception des circuits VLSI
3. Démarche de conception
1 Méthodologies ascendante et descendante
2 Cas de la conception de circuit
4. Outils de CAO
1 Evolution des outils
2 Simulation
3 Placement et routage
4 Synthèse logique
151
Custom Semicustom
Cell-based Array-based
152
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 3. Méthodologie de conception 1/02/10
Circuits custom
• Transistors taillés sur mesure
154
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 3. Méthodologie de conception 1/02/10
155
Hauteur des
cellules fixe
Canaux de routage
des interconnexions
: métal 1
: métal 2
Compiled
Module
(RAM, operator,
datapath...)
156
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 3. Méthodologie de conception 1/02/10
Standard Cells
ROM
Interface
UT
Circuit FIR16
1995
ES2 1µ
RAM
24 sqmm
Mulitplieur
UC
157
Circuits prédiffusés
Pad d’E/S
Zones des
Canal de
cellules
routage
Les fonctions sont réalisées par métallisation Les fonctions sont réalisées par contacts puis
par métallisation
In1 In2 In3 In4
Polysilicon
polysilicon
VD D
PMOS
metal
Metal
possible
GND contact
NMOS
Out
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 3. Méthodologie de conception 1/02/10
159
160
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 3. Méthodologie de conception 1/02/10
Bloc Bloc
logique logique
entrée de entrée
Bloc Bloc
logique logique
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 3. Méthodologie de conception 1/02/10
EPLD (Altera)
163
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 3. Méthodologie de conception 1/02/10
RAM-based
CLB CLB
switching matrix
Horizontal
routing
channel
Interconnect point
CLB CLB
165
RAM-based FPGA
R
A D in R
Any function of up t o
B /Q1/Q 2 4 variables F D Q1
C/Q 1/Q 2 F G
CE F
D
A
Any function of up t o
B /Q1/Q 2 4 variables R
G
F D Q2
C/Q 1/Q 2
G
D G
CE
E Cloc k
CE
Courtesy of Xilinx
166
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 3. Méthodologie de conception 1/02/10
RAM-based FPGA
Xilinx XC4025
Xilinx Virtex
167
Performances
" " ~ "
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 3. Méthodologie de conception 1/02/10
169
170
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 3. Méthodologie de conception 1/02/10
150000
Coût (€)
100000
FPGA
GA
50000 SC
FC
171
Comparaison Relative
160
140
Coût
développement
120
Temps
100 développement
80 Risque
60
Surface Final
40
Coût par puce
20
0
FPGA GA SC FC
Possibilités d’optimisation
de la consommation
172
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 3. Méthodologie de conception 1/02/10
Pourquoi un FPGA ?
173
174
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 3. Méthodologie de conception 1/02/10
3. Démarche de conception
1 Méthodologies ascendante et descendante
2 Cas de la conception de circuit
4. Outils de CAO
1 Evolution des outils
2 Simulation
3 Placement et routage
4 Synthèse logique
175
?
ASIC
176
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 3. Méthodologie de conception 1/02/10
• Spécifications opératoires
Manière dont une fonction doit opérer, conditions et domaines de fonctionnement
» Renseignements sur les grandeurs ou données utilisées dans les spécifications fonctionnelles
» (type, domaine de définition, précision)
» Informations pour guider les concepteurs dans le choix des solutions à mettre en œuvre
» (expériences précédentes dans l'entreprise ou ailleurs)
» Test à opérer sur le circuit
• Spécifications technologiques
Renseignements en rapport avec la réalisation matérielle
» Définition électrique des E/S (DC, type de driver,...)
» Performances / contraintes
» Spéc. de réalisation (taille, coût, technologie, type de boîtier,...)
» Contraintes de l'environnement
» Qualité de test (AQL) 177
– La spécification de la définition
– La notice descriptive de fonctionnement
178
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 3. Méthodologie de conception 1/02/10
2 Environnement du circuit
– Présentation générale de l'environnement du circuit sur la carte
4 Fonctions réalisées
– Description détaillée des fonctions réalisées par le circuit :
fonctions d'entrées-sorties
fonction d'initialisation
fonctions pour le test du composant
fonctions pour le test en sortie de fabrication des cartes utilisant le circuit
etc. 179
6 Interface Logiciel
– Synthèse des informations relatives à l'interface matériel/logiciel
– Description des registres et compteurs accessibles et de leur mode d'accès
– L'utilisateur logiciel doit pouvoir se limiter à ce paragraphe pour le
développement des logiciels
180
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 3. Méthodologie de conception 1/02/10
Plan type
• Présentation générale de la découpe en blocs
– Diagramme général du circuit découpé
– Interfaces inter-blocs ou avec l'extérieur
» Les bus et liaisons de contrôle principaux
» La distribution d'horloge interne
» Les cycles d'échanges entre blocs
– Pour chaque bloc :
» Une description succincte de la fonction réalisée
» Une estimation de la complexité
» Les mémoires, macrocellules nécessaires (capacité, temps de cycle, simple/multi port...)
» La fréquence moyenne de fonctionnement et le taux d'activité
181
182
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 3. Méthodologie de conception 1/02/10
• Méthode de travail
• Gestion informatique
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 3. Méthodologie de conception 1/02/10
3. Démarche de conception
1 Méthodologies ascendante et descendante
2 Cas de la conception de circuit
4. Outils de CAO
1 Evolution des outils
2 Simulation
3 Placement et routage
4 Synthèse logique
185
10.000.000
1.000.000 10.000.000
10.000 100.000
1.000 10.000
100 1000
1 10
1991
2009
1983
1985
1987
1989
1993
1995
1997
1999
2001
2003
2005
2007
1981
Source sematech 97
186
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 3. Méthodologie de conception 1/02/10
187
Démarche de conception
Placement/Routage
Silicium
188
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 3. Méthodologie de conception 1/02/10
SUM :=
A1+B1
Algorithme
Circuit
Parallèle Informatique
Niveau
d'abstraction
192
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 3. Méthodologie de conception 1/02/10
Boucles de Verification
Vérifications
Document de spécification des Spécifications
Conception Architecturale
Modèle Architectural Simulation Corrections
Verification
Synthèse Logique
Modèle Logique
Simulateur Logique
Modèle logique
complété par
Synthèse Physique rétro-annotation
Simulateur Electrique
Paramètres Electriques
Stimuli
Fabrication / Programmation
Génération des
Vecteurs de Test
Test vecteurs de test
193
3. Démarche de conception
1 Méthodologies ascendante et descendante
2 Cas de la conception de circuit
4. Outils de CAO
1 Evolution des outils
2 Simulation
3 Placement et routage
4 Synthèse logique
194
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 3. Méthodologie de conception 1/02/10
Actuellement : 40 60 70 1979
Schematic
• Recherche Simulation
Entry Placement
– Synthèse système & Routing
30 50 2 1985
– Preuve formelle Hierarchy
Generator
• Disponible 30 40 2
Logic-Level Synthesis
– Synthèse architecturale 1990
30 2
• Outils du commerce High-Level Synthesis
1997
– Synthèse logique et RTL 10 2
– CAO (saisie de schéma,
simulation, P&R,...)
Person-Month for 20k Gates
195
• Simulation électrique
– SPICE, ...
Modèle du
Circuit Résultats Interprétation
Description SIMULATION Déroulement
des résultats
temporel
Erreurs
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 3. Méthodologie de conception 1/02/10
197
Placement du compteur
198
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 3. Méthodologie de conception 1/02/10
Routage du compteur
199
• La problématique
– A gain d'intégration => gain de productivité en conception
– A accroissement de complexité => gain en sécurité
– A demande forte du marché => rapidité de prototypage
=> La conception
devient modélisation
200
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 3. Méthodologie de conception 1/02/10
Synthèse logique
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity compteur is
port ( reset, clk, load, up : in Std_Logic;
val : in Std_Logic_Vector(3 downto 0);
count : buffer Std_Logic_Vector(3 downto 0) );
end compteur;
architecture comportementale of compteur is
begin
synchrone : process(reset,clk)
begin
if reset='1' then
count <= "0000";
elsif clk'event and clk='1' then
if load = '1' then
count <= val;
elsif up = '1' then
count <= count + "0001";
else
count <= count - "0001";
end if;
end if;
end process;
end comportementale ;
201
Processus
Constraintes de Synthèse
de (vitesse, surface, …)
Synthèse
Optimisation:
• allocation de ressources netlist VHDL
• mapping
202
Olivier Sentieys
Méthodologie de conception des circuits intégrés VLSI - 3. Méthodologie de conception 1/02/10
Outils de CAO
outils commerciaux outils commerciaux
de simulation VHDL de synthèse logique
Simulateur VHDL : Leader historique :
VSS Design
Nouvelle version :
SIrocco Compiler
Olivier Sentieys