Académique Documents
Professionnel Documents
Culture Documents
Structure des FPGA Exemples de FPGA actuels Programmation Utilisations possibles des FPGA pour OCAM
2/38
Cibles technologiques
cibles processeurs gnralistes e e spciques e classiques -contrleurs o DSP ASIP Pentium 68705 ADSP-21xx PowerPC 68HC11 TMS320xx Alpha 80C51 DSP56xx MIPS AVR ... ... ... circuits programmables ddis ASIC e e FPGA ARD ASIC Xilinx full custom Altera standard cell Actel gate array ... ...
Partie 1 Introduction
FPGA : eld programmable gate array DSP : digital signal processor ASIC : application specic integrated circuit ASIP : application specic integrated processor ARD : architecture recongurable dynamiquement
3/38
4/38
Historique
Premiers circuits FPGA : milieu des annes 80. e Sorte de CPLD, PLA volus. e e Utiliss pour la glue logique au dbut. e e Alternative aux gate-arrays. performances de petits circuits avec la souplesse de la programmation.
5/38
6/38
bloc de configuration
mmoire RAM (sur certains circuits) entre/sortie programmable logique programmable routage programmable gnrateur dhorloge programmable
+ mmoire de configuration
7/38
8/38
V out
5V 4V
5.0 V
5.0 V
5.0 V
5.0 V
5.0 V
5.0 V
1 1 1
3.5 V 2.7 V 2.0 V
4.5 V
1
3.9 V
1 x
2.0 V
3.3 V
3.3 V
3V 2V 1V 0V
1
2.0 V
1
2.4 V
x
0.8 V 1.0 V
x 0
0.4 V 0.0 V
x
0.8 V
0
0.0 V
0
0.0 V
0.5 V 0.0 V
0.8 V 0.0 V
0.4 V 0.0 V
TTL
CMOS
TTL/CMOS
CMOS 3V
10/38
1 mm
AN AM AL AK AJ AH AG AF AE AD
OQ
C B A
9 10 11 12 13
AC AB
1.2 mm
AA Y W V U T
R P N M L K J H G F E D C
B A
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
3.2 mm
11/38
12/38
FPGA boitier CS144 FG256 FG456 FG676 FF896 FF1152 FF1517 BG575 BG728 BF957
40 88 88 -
80 92 120 -
XC2V 1500 2000 392 528 392 456 624 408 624
On trouve deux principaux types de ressources dans les blocs logiques : des portes logiques congurables but : faire des fonctions logiques assez simples (de la porte ` 2 entres a e ` des portes complexes jusuq` une dizaine dentres) a a e des bascules but : faire des mmoires lmentaires 1 bit e ee Il existe de nombreux types de blocs logiques, et mme chez un seul e fabricant, ils peuvent beaucoup voluer au cours du temps. e
ACT1
D00 D01
ACT3
A4 A5 A6 B1 B2 C1 C2
AZ
OZ B M C O D Q N R NZ S Q OZ
D D10 D11 S1
OUT
S0
D1 D2 E1 E2
A1 B1 A0 B0 CLK
CLR
F1 F2 F3 F4 F5 F5 OC OR F
FZ
15/38
16/38
Routage programmable
Pour connecter les blocs logiques entre eux et les entres/sorties, les e FPGA disposent de toute une panoplie de ressources de routage programmables. En gnral dirents niveaux hirarchiques sont disponibles : e e e e connections directes vers les voisins proches connections gnrales ` travers des matrices de routages et des canaux e e a disposs suivant une topologie simple (grille, tore) e connections ` longue distance (avec driver pour haute sortance) a distribution dhorloge spcique (sur des canaux ddis) e e e
X A B C D E Y
LUT
CE 1 CLK RD O RG
17/38
18/38
10
11
12
13
14
15
16
17
18
19
20
19/38
20/38
CLB
CLB
CLB
CLB
interne
CTRL STATUS
DCM
Divisions possibles dans un Virtex II : 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 9, 10, 11, 12, 13, 14, 15, et 16.
A. Tisserand OCAM Introduction circuits FPGA 21/38 A. Tisserand OCAM Introduction circuits FPGA 22/38
Mmoires utilisateurs e
On peut utiliser les blocs logiques pour faire des petites mmoires e (distributed memory), mais a nest pas tr`s ecace. Il y a des blocs c e mmoire complets. e
BLOCK RAM
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
BLOCK RAM
CLB
CLB
CLB
CLB
CLB
CLB
CLB CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
IOB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
BLOCK RAM
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
25/38
CLB
CLB
CLB
26/38
24 30 36 42 48 60 72
LUT
Packages famille Spartan II E : TQ144, PQ208, FT256, FG456, FG676 Taille des mmoires de conguration (en bits) : e
XC2S50E 630 048 XC2S100E 863 840 XC2S150E 1 134 496 XC2S200E 1 442 016 XC2S300E 1 875 648 XC2S400E 2 693 440 XC2S600E 3 961 632
27/38
28/38
120 H 120 V
LUT
MUXF5 MUXF6
LUT
40 H 40 V
16
SLICE
LUT
MUXF5
CLB
29/38
30/38
Flot de conception
Partie 4 Programmation
.VHD
LIB VHDL
LIB FPGA
Compil. VHDL
Synthse
P&R
Config.
31/38
32/38
Mesures de performances
An de compl`ter les analyses de complexit plus ou moins nes, nous e e allons implanter sur FPGA les diverses briques de base et une ou des applications dans le cadre de notre tude. e
Les informations que nous souhaitons obtenir sont : La vitesse frquence de fonctionnement avec pipeline limit e e frquence de fonctionnement avec pipeline intensif e La surface de circuit ncessaire e compter le nombre de blocs logiques de base dcompte par type dopration de base e e Des informations plus qualitatives gnration automatique de portions de circuit e e besoins spciques en placement et en routage e support dans les langages de haut niveau
33/38 A. Tisserand OCAM Introduction circuits FPGA 34/38
35/38
36/38
Dmonstrateur e
But : faire une petite carte FPGA pour signer ` une certaine cadence a (` xer). a Caractristiques : e E/S via lien USB car dbit faible e type de calcul // la vitesse est directement proportionnelle au nombre de FPGA sur la carte FPGA avec petit boitier car peu de communication et simplicit e fabrication carte FPGA cible : Xilinx Spartan probablement Main duvre : conception carte : AT conception application sur carte : JLB, GV + AT soft du reste du dmonstrateur : ? e
A. Tisserand OCAM Introduction circuits FPGA 37/38 A. Tisserand OCAM Introduction circuits FPGA
Fin
Questions ?
Pour me contacter : arnaud.tisserand@ens-lyon.fr http://www.ens-lyon.fr/~atissera/ (va changer) Laboratoire LIP. ENS Lyon. 46 alle dItalie. F-69364 Lyon cedex 07. e
Merci.
38/38