Académique Documents
Professionnel Documents
Culture Documents
Mthodologie de conception
1/02/10
3. Dmarche de conception
4. Outils de CAO
Custom
Semicustom
Cell-based
Standard Cells
Compiled Cells
Ma cro Cells
Array-based
Pre-diffused
(Gate Arrays)
Pre-wired
(FPGA's)
152
Olivier Sentieys
1/02/10
Circuits custom
Transistors taills sur mesure
Avantages : optimisation densit,
performance, consommation
Inconvnients : prix trs lev,
temps de dveloppement (6/17
trans./jour), pas de reengineering
Pentium II (1998)
UTILISATION : processeurs,
domaine spatial, mmoires,
modules performants.
153
ROM
Blocs compils
ROM, RAM
multiplieur
DataPath
- paramtrables
- gnriques
description mono-bit
de la cellule puis
extension par compilation
ou juxtaposition sur N bits
Registre
dff
nand
Additionneur
largeur variable
ex. NAND : 14.2
DFF : 73,6
hauteur fixe
ex. 43 pour
techno. 1
154
Olivier Sentieys
1/02/10
155
Logic Cell
Hauteur des
cellules fixe
Canaux de routage
des interconnexions
: mtal 1
: mtal 2
Compiled
Module
(RAM, operator,
datapath...)
156
Olivier Sentieys
1/02/10
Standard Cells
ROM
Interface
UT
Circuit FIR16
1995
ES2 1
24 sqmm
RAM
Mulitplieur
UC
157
Circuits prdiffuss
Pad dE/S
Zones des
cellules
Canal de
routage
polysilicon
Polysilicon
VD D
In1 In2
In3 In4
PMOS
metal
Metal
GND
possible
contact
NMOS
Out
Non-Caractrise
Olivier Sentieys
4-input NOR
158
1/02/10
159
160
Olivier Sentieys
1/02/10
161
Bloc
Bloc
logique
entre
sortie
Bloc
logique
Matrice
Bloc
logique
entre
de
Bloc
logique
connexion
Bloc
logique
Bloc
Bloc
logique
sortie
Bloc
logique
PLA
Olivier Sentieys
1/02/10
EPLD (Altera)
Macrocell
Primary inputs
Olivier Sentieys
Bloc
logique
Bloc
logique
Bloc
logique
Bloc
logique
Bloc
logique
Bloc
logique
Bloc
logique
Bloc
logique
Bloc
logique
Bloc
logique
Bloc
logique
Bloc
logique
Bloc
logique
Bloc
logique
Bloc
logique
Bloc
logique
entre
sortie
Bloc
entre
sortie
Canaux de routage
164
1/02/10
CLB
CLB
switching matrix
Horizontal
routing
channel
Interconnect point
CLB
CLB
165
RAM-based FPGA
Basic Cell (CLB)
Combinationa l logic
R
A
B /Q1/Q 2
Any function of up t o
4 variables
C/Q 1/Q 2
D in
R
F
Any function of up t o
4 variables
C/Q 1/Q 2
CE
B /Q1/Q 2
D Q1
D Q2
CE
Cloc k
CE
Courtesy of Xilinx
166
Olivier Sentieys
1/02/10
RAM-based FPGA
Xilinx XC4025
Xilinx Virtex
167
"
"
"
"
"
"
Gnricit
"
"
"
"
Temps de
dveloppement
"
"
"
Complexit CAO
"
"
"
"
"
"
Densit dintgration
Performances
168
Olivier Sentieys
1/02/10
Pr
169
170
Olivier Sentieys
1/02/10
Cot ()
150000
100000
FPGA
GA
SC
FC
50000
1 2 3
4 5 6 7
8 9 10 11 12 13 14 15
171
Comparaison Relative
160
140
Cot
dveloppement
120
Temps
dveloppement
100
80
Risque
60
Surface Final
40
Cot par puce
20
0
FPGA
GA
SC
FC
Possibilits doptimisation
de la consommation
172
Olivier Sentieys
1/02/10
Pourquoi un FPGA ?
Si les vitesses ncessaires lapplication sont
compatibles avec les technologies FPGA (~100Mhz)
Pour prototyper
Parce que les fonctions ne sont pas bien dfinies,
elles sont amenes voluer (dans une moindre
mesure bien sur)
Pour une intgration de glue sur les cartes
Rapidit de design
Cot dans le cas de faibles quantits = prototype
173
Caractristiques fonctionnelles
Ils sont rapidement reprogrammables (10-100ms -> 10s)
Leur capacit progresse rapidement avec le niveau de l'intgration
Actuellement (environ)
FPGA : 4 Millions de portes 300-MHz
Taux de remplissage ~80%
EPLD : 250,000 portes 200-MHz
174
Olivier Sentieys
1/02/10
3. Dmarche de conception
4. Outils de CAO
III.2
ASIC
176
Olivier Sentieys
III.2.1
1/02/10
Spcifications fonctionnelles
Description des fonctions que doit assurer le circuit (ou le bloc)
Spcifications opratoires
Manire dont une fonction doit oprer, conditions et domaines de fonctionnement
Renseignements sur les grandeurs ou donnes utilises dans les spcifications fonctionnelles
(type, domaine de dfinition, prcision)
Informations pour guider les concepteurs dans le choix des solutions mettre en uvre
(expriences prcdentes dans l'entreprise ou ailleurs)
Test oprer sur le circuit
Spcifications technologiques
Renseignements en rapport avec la ralisation matrielle
III.2.2
177
178
Olivier Sentieys
1/02/10
2 Environnement du circuit
Prsentation gnrale de l'environnement du circuit sur la carte
4 Fonctions ralises
Description dtaille des fonctions ralises par le circuit :
fonctions d'entres-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
Chronogramme et Timings
Chronogrammes thoriques associs aux diverses fonctions
Timings respecter
Caractristiques lectriques
Limites lectriques, conditions transitoires et oprationnelles
Caractristiques statiques et dynamiques des E/S (alimentations, tension, courant, capacits
de charge, Slew Rate Control,...)
Dcouplage d'alimentation prvoir sur la carte
6 Interface Logiciel
Synthse des informations relatives l'interface matriel/logiciel
Description des registres et compteurs accessibles et de leur mode d'accs
L'utilisateur logiciel doit pouvoir se limiter ce paragraphe pour le
dveloppement des logiciels
180
Olivier Sentieys
1/02/10
Spcification de ralisation
III.2.3
Plan type
Prsentation gnrale de la dcoupe en blocs
Diagramme gnral du circuit dcoup
Interfaces inter-blocs ou avec l'extrieur
Les bus et liaisons de contrle principaux
La distribution d'horloge interne
Les cycles d'changes entre blocs
Fonctions ralises
Accs E/S
Structure interne du bloc
Complexit du bloc (nombre de portes)
182
Olivier Sentieys
1/02/10
Mthode de travail
Gestion informatique
Organisation du circuit :
Que fait ce bloc ?
Quelle est la place la plus adapte pour lui dans la
chane de traitement des donnes ?
Quel est le format des donnes qu'il reoit ?
Quel est le format des donnes qu'il transmet ?
184
Olivier Sentieys
1/02/10
3. Dmarche de conception
4. Outils de CAO
100.000.000
1.000.000
10.000.000
Tr/chip 58%
100.000
1.000.000
10.000
100.000
1.000
10.000
1000
100
10
100
10
2009
2007
2005
2003
2001
1999
1997
1995
1991
1993
1989
1987
1985
1983
1
1981
Source sematech 97
186
Olivier Sentieys
III.3
1/02/10
187
Dmarche de conception
Top-Down Design
Spcifications
Dmarche
Descendante
Conception Architecturale
Raffinement de
chaque
constituant
Conception Logique
Bottom-Up Design
Dmarche
Ascendante
Abstraction sur
un ensemble
de constituants
Placement/Routage
Silicium
188
Olivier Sentieys
1/02/10
Niveau Architectural
Register Transfer
Level (RTL)
Gate Level
SUM :=
Circuit
Algorithme
A1+B1
Niveau Physique
Layout
Niveau Transistors
Circuit Level
191
Parallle Informatique
Niveau
d'abstraction
Conception C.I.
Informatique
Layout
Code binaire
Assembleur
RTL
Algorithme
Systme
Spcification systme
192
Olivier Sentieys
1/02/10
Boucles de Verification
Vrifications
des Spcifications
Document de spcification
Modle Comportemental
Simulateur
Comportemental
Conception Architecturale
Simulation
Verification
Modle Architectural
Synthse Logique
Modle Logique
Corrections
Simulateur Logique
Modle logique
complt par
rtro-annotation
Synthse Physique
Simulateur Electrique
Paramtres Electriques
Stimuli
Fabrication / Programmation
Test
Vecteurs de Test
Gnration des
vecteurs de test
193
3. Dmarche de conception
4. Outils de CAO
Olivier Sentieys
III.4
1/02/10
Actuellement :
Recherche
40
60
Simulation
Synthse systme
Preuve formelle
corrects
corrects
corrects
30
70
Schematic
Entry
50
Placement
& Routing
Hierarchy
Generator
30
Disponible
40
30
1990
Outils du commerce
High-Level Synthesis
1985
Logic-Level Synthesis
Synthse architecturale
1979
10
1997
195
III.4.2
Simulation du circuit
Simulation lectrique
SPICE, ...
Description
Modle du
Circuit
SIMULATION
Paramtres du modle
Olivier Sentieys
Rsultats
Droulement
temporel
Erreurs
Conditions de fonctionnement
Interprtation
des rsultats
196
III.4.3
1/02/10
Placement et Routage
Standard Cells
Compteur/Dcompteur 4 bits avec enable
197
Placement du compteur
198
Olivier Sentieys
1/02/10
Routage du compteur
199
III.4.4
La problmatique
A gain d'intgration => gain de productivit en conception
A accroissement de complexit => gain en scurit
A demande forte du march => rapidit de prototypage
=> La conception
devient modlisation
200
Olivier Sentieys
1/02/10
Synthse 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
ModlisationVHDL
Validation par Simulation
Processus
de
Synthse
Constraintes de Synthse
(vitesse, surface, )
Optimisation:
allocation de ressources
mapping
Netlist EDIF
Validation
Finale
netlist VHDL
Validation par Simulation
- capacits estimes
- capacits relles
(retro-annotation )
Routage
layout
Olivier Sentieys
1/02/10
Outils de CAO
outils commerciaux
de simulation VHDL
Simulateur VHDL :
VSS
Nouvelle version :
SIrocco
Simulateur VHDL :
ModelSim
outils commerciaux
de synthse logique
Leader historique :
Design
Compiler
Outil de synthse :
Leonardo
Spectrum
Simulateur VHDL :
NCSim
Affirma
Outil de synthse :
Synplify
203
Olivier Sentieys