Académique Documents
Professionnel Documents
Culture Documents
Fpga
Fpga
Page 2
interconnexions programmables
fonctions programmables
Page 3
Mthodologie de synthse
diteur graphique schma logique partitionnement placement routage bits de configuration VHDL
Page 4
Circuits Xilinx
Chaque cellule logique, appele Configurable Logic Block (CLB), est programme laide dune look-up table (LUT) Le chargement de la configuration peut prendre plusiers millisecondes, temps pendant lequel le circuit est inutilisable Plusieurs familles sont disponibles, divises en deux grands groupes:
les familles grain grossier (XC3000, XC4000, XC5200, Spartan, Virtex): il est impossible de configurer une partie isole du circuit la famille gran fin XC6200: il est possible daccder directement chaque cellule logique
Page 5
C2 DIN
C3 S/R
C4 EC
S/R control
SD
Q2
H' F4 F3 F2 F1
1 G
S/R control DIN F' G' H' SD D
Q1
EC RD
1 CK F
Page 6
On peut gnrer deux sorties par CLB, combinatoires ou squentielles Il est possible de gnrer 2 fonctions quelconques 4 variables, une fonction quelconque 5 variables ou certaines fonctions 9 variables Les look-up tables peuvent galement tre utilises comme des RAM. Dans ce cas, on peut obtenir les configurations suivantes: une RAM 16x2, une RAM 32x1, deux RAM 16x1 ou une RAM 16x1 et une fonction combinatoire 4 variables Les bascules possdent des signaux set/reset programmables et peuvent tre utilises indpendamment des fonctions logiques de la cellule
Page 7
VCC
OE
D OUT
Q FLIPFLOP PAD
OUTPUT CLOCK
I1
Gnd
Page 8
Modes de programmation:
master:
srie parallle avec adresses croissantes parallle avec adresses dcroissantes
peripheral:
parallle asynchrone parallle synchrone
slave: srie
Page 9
La famille Virtex
System Gates XCV50 XCV100 XCV150 XCV200 XCV300 XCV400 XCV600 XCV800 XCV1000 57906 108904 164674 236666 322970 468252 661111 888439 1124022 CLB Array 16x24 20x30 24x36 28x42 32x48 40x60 48x72 56x84 64x96 Logic Cells 1728 2700 3888 5292 6912 10800 15552 21168 27648 Maximum BlockRAM Available I/O Bits 180 180 260 284 316 404 512 512 512 32768 40960 49152 57344 65536 81920 98304 114688 131072 Configuration Bits 559232 781248 1041128 1335872 1751840 2546080 3608000 4715684 6127772
Page 10
Caractristiques de base
Cellules logiques et interconnexions hirarchiques Mmoire interne double port Densits de 50K 1M de portes Frquence maximale: 200 MHz Exemples de performance:
additionneur 64 bits: multiplicateur 16x16: dcodeur dadresse 64 bits: multiplexeur 16:1 7.2 ns 6.0 ns 6.4 ns 5.4 ns
Page 11
Architecture
DLL
VersaRing B R A M B R A M
CLBs
IOBs
Page 12
Input/Output Block (IOB) Chaque IOB possde 3 lments de mmoire, configurables comme bascules ou latches. Ces trois lments partagent le signal dhorloge et de set/reset, mais chacun possde son propre enable clock (EC). Le signal set/reset peut tre configur comme set ou reset, synchrone ou asynchrone.
Page 13
PS O OCE D EC L SR Q
PAD PAD
I PS IQ Q D EC L Vref SR SR CLK ICE Page 14 Eduardo Sanchez Ecole Polytechnique Fdrale de Lausanne
Page 15
Cout
Cout
slice
LC LC LC LC LC LC LC LC
CLB
Cin Cin Cout YB Y SP G3 G2 G1 RC BY Cin Page 16 Eduardo Sanchez Ecole Polytechnique Fdrale de Lausanne
G4
LUT
D EC
YQ
Chaque LUT (Look-Up Table) peut tre utilise comme une RAM 16x1 synchrone. Les deux LUTs dun slice peuvent se combiner pour obtenir une RAM synchrone de dimension:
16x2 32x1 16x1 double port
En plus, une LUT peut tre utilise comme registre dcalage Par circuit, il y a deux colonnes de mmoire RAM, appele BlockSelectRAM. Une colonne est forme de plusieurs blocs, un par 4 CLB de hauteur (un FPGA avec 64 CLB de hauteur possde donc 16 blocs de mmoire par colonne, pour un total de 32 pour le circuit). Chacun des blocs est une mmoire double port de 4096 bits, avec des signaux de contrle indpendants par port. La largeur de la mmoire peut tre configure a 1, 2, 4, 8 ou 16 bits
Page 17
Interconnexions
A ct de chaque CLB il y a un GRM (General Routing Matrix): cest un switch dinterconnexion avec les 4 CLBs adjacents
24 lignes avec chacun des GRM adjacents 96 lignes avec les GRM situs 6 CLB plus loin 12 lignes horizontales et verticales, tout au long du circuit
Il y a 4 lignes par range de CLB, pour transmettre les tri-states (deux par CLB) Le VersaRing est un rseau additionnel de lignes dinterconnexion entre les IOB et les CLB: cela permet de changer facilement la configuration interne du circuit tout en gardant le mme brochage Il y a 4 signaux globaux dhorloge, capable darriver sur toutes les entres dhorloge internes avec un skew minimal. Associ chaque signal dhorloge global il y a un DLL (Delay-Locked Loop)
Page 18
Modes de configuration
slave-serial master-serial selectMAP Dans ce mode, il est possible de lire tout le contenu de la configuration, ainsi que ltat de toutes les bascules, les LUTs et les BRAM boundary-scan
Page 19
La famille Virtex-E
System Gates XCV50E XCV100E XCV200E XCV300E XCV400E XCV600E XCV1000E XCV1600E XCV2000E XCV2600E XCV3200E CLB Array Logic Cells 1728 2700 5292 6912 10800 15552 27648 34992 43200 57132 73008 Maximum Available I/O 176 176 284 316 404 512 660 724 804 804 804 BlockRAM Bits 65536 81920 114688 131072 163840 294912 393216 589824 655360 753664 851968 Configuration Bits 630048 836840 1442106 1875648 2693440 3961632 6587520 8308992 10159648 -
57906 16x24 95468 20x30 214640 28x42 411955 32x48 569952 48x60 985882 48x72 1569178 64x96 2188742 72x108 2541952 80x120 3263755 92x138 4074387 104x156
Page 20
Caractristiques de base
Technologie: 0.18 CMOS, 6 couches de mtal, 1.8 V 30% plus rapide que la famille Virtex Exemples de performance:
additionneur 64 bits: multiplicateur 16x16: dcodeur dadresse 64 bits: multiplexeur 16:1 6.3 ns 5.1 ns 5.5 ns 4.6 ns
Page 21
Architecture
DLL DLL DLL DLL
VersaRing
I O B
B B B B C C C C R R R R L L L L A A A A B B B B M M M M
I O B
DLL DLL
DLL DLL
Les blocs de mmoire interne sont toujours de 4096 bits, organiss en colonnes, mais il y plus de colonnes de mmoire: une chaque 12 colonnes de CLBs, lexception du milieu du circuit
Eduardo Sanchez Ecole Polytechnique Fdrale de Lausanne
Page 22
50M gates 50M Density (system gates) 10M 4M 2M 1M 500K Virtex V1000 Virtex 0.15 Virtex 0.18 Virtex 0.13
1998
1999
2000
2001
2002
2003
2004
Page 23
Full-custom
Programmable
PLD CPLD FPGA
wafer size wafer cost design density utilization die size die/wafer defect density yield die cost price/gate part cost
Page 25
$100,000 20,000
1000
10,000
100,000
Page 26
Page 27
Page 28