Vous êtes sur la page 1sur 125

FPGA

Dfinition

FPGA : Field Programmable Gate Array circuit intgr prdiffus programmable En franais :

Composant, constitu dun ensemble de ressources logiques lmentaires configurables pouvant tre mises en relation par un rseau dinterconnexions galement configurable

Historique
IXme av JC Les chinois comptent avec un boulier ! 1640 Blaise Pascal, invente une machine mcanique additionner et soustraire : la Pascaline

1875
1940 1946

Sir J.W. Swan invente le tube incandescence


Utilisation des premires PLL (principe tudi en 1932 par Bellescize) ENIAC 1er calculateur lectronique (18 000 tubes, tient dans un hall de 10*17m) Von Neumann prsente le concept de programme enregistr

1948

Bardeen, Brattain et Shockley (Bells Labs) inventent le transistor bipolaire 1er ordinateur le SSEC dIBM

1950 1958

1er circuit reconfigurable the fuse configurable diode matrix Harris Semiconductor Jack Kibly invente le circuit intgre, brevet Texas Fairchild dpose un brevet sur la fabrication des CI par procd Planar

1962

Famille TTL

Historique
1968 Famille MOS Robert Noyce et Gordon Moore crer une startup : intel 1er PLA read only associative memory ROAM IBM 1969 1970 Neil Amstrong marche sur la Lune Introduction du terme PAL Texas Instrument 1re ROM, Harris Semiconductor 1971 1972 1973 1975 1978 intel, 1er UV-PROM (effaable par UV) Intel, 1er processeur : 4004 Andr Truong et Francis Grenelle mettent au point et commercialisent le 1er micro-ordinateur du monde, le Micral, made in France ! Un certain Bill Gates fonde une petite socit dinformatique : Microsoft 1re famille PAL commerciale, MMI

1980
1981

Premiers microprocesseurs 32 bits chez intel et Motorola


IBM lance le PC

Historique
1983 1984 1984 1er GAL effaable lectriquement, Lattice Apple lance le Macintosh Introduction du FPGA par XILINX : le XC2000 (de 600 1500 portes) cration de la socit ALTERA Technologie CMOS UV-EPROM 1985 1992 1993 2001 2005 mise sur le march du 1er FPGA XILINX 1er FPGA Altera : le Flex 8000 (15 000 portes max) Technologie EEPROM Lancement du Virtex II Xilinx (jusqu 10 millions de portes) FPGA avec des capacits suprieures 50 millions de portes fonctionnant des frquences surpassant les 500 MHz

March des FPGA


REVENUS NETS DE XILINX ET ALTERA
1200000

1000000

REVENUS NETS EN $

800000

600000

400000

200000

0 1991 1992 1993 1994 1995


ANNEE

1996

1997

1998

1999

2000

XILINX

ALTERA

March des FPGA


PARTS DE MARCHE DES FABRICANTS DE FPGA

40

35

30

25

% 20

15

Xilinx Altera Lattice Other Actel

10

0 1998 1999
ANNEE

2000

March des FPGA


PARTS DE MARCHE DES FABRICANTS DE FPGA POUR 2000

Other 8%

Actel 6%

Lattice 14%

Xilinx 38%

Altera 34%

volution de la technologie
volution de la technologie

Technologie : Taille relative : Anne :

0.6 trois couches de mtal 100% 1994

0.5 trois couches de mtal 78%


1995

0.18 0.25 0.35 quatre couches cinq couches six couches de mtal de mtal de mtal 32% 1996 19% 1998 12% 1999

2002 : techno cuivre 0.13 m 8 couches de mtal 2004 : techno cuivre 0.09 m 12 couches de mtal (200 000 portes/mm)
9

volution des prix


1,2
INDICE PRIX PAR ELEMENT LOGIQUE 1 0,8 0,6 0,4

(Source : Altera)

Le prix par lment logique diminue de 40 % par an

0,2
0 1995 1996 1997 1998 1999 2000
10

volutions

Prix (de llment logique)

- 46% par an

Densit (logique)

+ 55% par an

Vitesse (frquence systme)

+ 35% par an

11

volutions

Daprs Xilinx, en 2005 les plus gros FPGA auront


des capacits de 50 millions de portes des complexits de 2 billions de transistors

utilisant des technologies 70 nm avec 12 couches de mtallisations (cuivre)


avec des curs de microprocesseurs cbls cadencs 1GHz

12

Taxonomie des CI (HARD)


Circuit Intgr Spcialis
ASIC

CUSTOM

SEMI-CUSTOM

Dfinition ::dont la conception est fonde sur l'utilisation de blocs prdfinis ou prconstruits.
Circuits configurables

Circuits sur mesure

Circuits prcaractriss

Circuits prdiffuss

Full Custom

ASIC

Standard
cell

Sea of gate

Gate array
SRAM

FPGA

CPLD

PAL

Antifuse

ASIC FPGA

: Application Specific Integrated Circuit : Field Programmable Gate Array

PLD

CPLD
PAL GAL SRAM

: Complex Programmable Logic Device


: Programmable Array Logic : Generic Array Logic = PAL : Static Random Access Memory 13

CPLD
Les CPLDs regroupent plusieurs PALs interconnects par un rseau de connexions programmables.

PAL

PAL

Les CPLDs sont les prmisses des premiers FPGAs.

E/S

MATRICE DINTERCONNECTIONS

E/S

Ces circuits ne sont plus utiliss aujourdhui car remplacs par les FPGAs.

PAL

PAL

14

FPGA
ASIC

CUSTOM

SEMI-CUSTOM

Circuits sur mesure

Circuits prcaractriss

Circuits prdiffuss

Circuits configurables

Full Custom

Standart
cell

Sea of gate

Gate array
SRAM

FPGA

CPLD

PAL

Antifuse

FPGA

: Field Programmable Gate Array


A SUIVRE !!!

15

Comparaison

ASIC CARACTERISTIQUES FPGA GATE ARRAY DENSITE FLEXIBILITE ANALOGIQUE PERFORMANCE TEMPS DE CONCEPTION COUT DE CONCEPTION UTILISATION DES OUTILS VOLUME DE PRODUCTION FAIBLE GRANDE NON FAIBLE TRES PETIT TRES PETIT SIMPLE PETIT MOYENNE PETITE NON MOYENNE MOYEN MOYEN COMPLEXE MOYEN STANDARD CELL MOYENNE MOYENNE OUI BONNE MOYEN MOYEN COMPLEXE GRAND FULL CUSTOM GRANDE GRANDE OUI TRES BONNE GRAND TRES GRAND TRES COMPLEXE GRAND

16

Capacits compares
100M

Nombre de portes (log)

10M
1M

100k
10k 1k

80% des design fonctionnent

aujourdhui moins de 200MHZ

1989

anne 1997

2001
17

Les FPGA sont au curs des systmes

la logique de la colle. Un circuit logique simple qui est utilis pour connecter des circuits logiques complexes ensemble

18

Temps de mise en uvre


TEMPS DE MISE EN OEUVRE COMPARES

FPGA

ASIC

10

APPRENTISSAGE

SAISIE

COMPILATION

SIMULATION

FABRICATION

19

Contextes dutilisations en grandes sries

Volume

ASIC FPGA
-coup de production

Conception prototypage

Pr-srie

Production

Fin de vie

Temps
20

Les ASIC
AVANTAGES hautes intgrations
hautes performances (vitesse, low-power)
cots faibles pour de gros volumes de production personnalisation scurit industrielle

INCONVENIENTS
prix du 1er exemplaire
pas derreur possible non-flexible time-to-market lev fabrication rserve aux spcialistes (fondeur)
21

Les FPGA
AVANTAGES possibilit de prototypage
time-to-market faible
adaptabilit aux futurs volutions grce la reconfiguration

flexibilit INCONVENIENTS intgration limit par les ressources de routage


performances prix lunit lev pour de grosses productions

22

Conclusion
Le choix entre FPGA ou ASIC, se fait en fonction du cahier des charges de lapplication : temps de mise sur le march et dure de vie courte

FPGA

trs petit nombre de circuits


optimisation des performances grande srie ASIC

FPGA

ASIC

23

FPGA et conjoncture conomique mondiale


Daprs une interview du directeur de Xilinx dans la revue lectronique internationale Les FPGA sont les rares produits dlectronique qui profite de la crise conomique actuelle dans le domaine des technologies de pointes ceci pour plusieurs raisons : diminution des volumes de production diminution de la dure de vies des produits

possibilits techniques des FPGAs largement suffisantes pour la plus part des applications

en 2006, il y aura un circuit logique programmable dans chaque appareil numrique .


24

FPGA et conjoncture conomique mondiale

25

III. ARCHITECTURE & CONCEPTION


26

Les diffrentes familles de circuits logiques programmables 1) Quelques dfinitions


EEPROM ou E2PROM (Electrical Erasable Programmable ReadOnly Memory) :Mmoire programmable lecture seule, effaable lectriquement. EPLD (Erasable Programmable Logic Device):Circuits logiques reprogrammables. FPGA (Field Programmable Gate Array):Rseau de portes programmables GAL (Generic Array Logic):Circuits logiques PAL reprogrammables technologie CMOS. ISP (In System Programmable):Circuit que lon peut programmer (et donc effacer) mme lorsquil est en place sur lapplication. PAL (Programmable Array Logic):Circuits logiques programmables dans lesquels seules les fonctions ET sont programmables, les fonctions OU ne le sont pas. PLD (Programmable Logic Device):Famille des circuits programmables qui comprend les PAL,GAL,EPLD et FPGA.
27

2)Les diffrentes familles de PLD


ASIC

CUSTOM

SEMI-CUSTOM

Circuits sur mesure

Circuits prcaractriss

Circuits prdiffuss

Circuits configurables

Full Custom

ASIC

Standard
cell

Sea of gate

Gate array
SRAM

FPGA

CPLD

PAL

Antifuse

ASIC FPGA

: Application Specific Integrated Circuit : Field Programmable Gate Array

PLD

CPLD
PAL GAL SRAM

: Complex Programmable Logic Device


: Programmable Array Logic : Generic Array Logic = PAL : Static Random Access Memory 28

Les diffrentes familles de PLD (suite)


TYPE Nombre de portes intgres
2 000 500 000

Matrice ET

Matrice OU

Effaable

PROM

Fixe

Programmable

Non

PAL

10 100

Programmable

Fixe

Non

GAL

10 100

Programmable

Fixe

Electriquement

EPLD

100 3000

Programmable

Fixe

Aux U-V Electriquement Electriquement Non


29

FPGA

3000 6.000.000

Programmable

Programmable

d) LES FPGA (field programmable gate arrays)

L'architecture, retenue par Xilinx, se prsente sous forme de deux couches :


une couche appele circuit configurable, une couche rseau mmoire SRAM.

30

LES FPGA
La couche dite 'circuit configurable' est constitue d'une matrice de blocs logiques configurables CLB permettant de raliser des fonctions combinatoires et des fonctions squentielles. Tout autour de ces blocs logiques configurables, nous trouvons des blocs entres/sorties IOB dont le rle est de grer les entres-sorties ralisant l'interface avec les modules extrieurs . La programmation du circuit FPGA appel aussi LCA (logic cells arrays) consistera par le biais de l'application d'un potentiel adquat sur la grille de certains transistors effet de champ interconnecter les lments des CLB et des IOB afin de raliser les fonctions souhaites et d'assurer la propagation des signaux. Ces potentiels sont mmoriss dans le rseau mmoire SRAM.
31

La SRAM
La configuration du circuit est mmorise sur la couche rseau SRAM et stocke dans une ROM externe. Un dispositif interne permet chaque mise sous tension de charger la SRAM interne partir de la ROM. Ainsi, un mme circuit peut tre exploit successivement avec des ROM diffrentes puisque sa programmation interne n'est jamais dfinitive. La mise au point d'une configuration s'effectue en deux temps: une premire tape purement logicielle va consister dessiner puis simuler logiquement le circuit fini, puis lorsque cette tape sera termine on effectuera une simulation matrielle en configurant un circuit rel et l'on pourra alors vrifier si le fonctionnement rel correspond bien l'attente du concepteur, et si besoin est identifier les anomalies lies gnralement des temps de transit rels lgrement diffrents de ceux supposs lors de la simulation logicielle ce qui peut conduire des tats instables voire mme errons..

32

Architecture interne du FPGA

33

Les architectures
Larchitecture reflte la topologie du rseau de routage Trois grands styles architecturaux saffrontent lots de calcul, majoritaire chez Xilinx hirarchique, majoritaire chez Altera logarithmique, un peu exotique...

34

Architecture lots de calculs

Les lments fonctionnels (logique, mmoire, IO) sont regroups sous forme de matrice Ce type darchitecture est trs rpandu, en particulier chez Xilinx, mais aussi chez ATMEL

35

Les composants logiques programmables :

Architectures globales

Figure 1 : Structure of a CPLD Les MACROCELL = P-TERM (PAL-Like)

36

Architecture lots de calculs


lment configurable : lment logique

lment de mmorisation

EC

lment arithmtique entre/sortie Rseau de routage : lignes horizontales lignes verticales

Matrice de connexions

BC

MC

Bloc de connexions

37

Les blocs de connexions

EC BC

EC

38

Architecture hirarchique

Les rseaux de routage dune architecture hirarchique dpendent du niveau de hirarchie dans lequel on se trouve.

Ceci permet une optimisation du routage par niveau

Trs rpandu chez Altera et Lattice

39

Architecture hirarchique

40

Architecture hirarchique

Rseau de routage de niveau 2 lment Hirarchique de niveau 2

Rseau de routage de niveau 1 lment Hirarchique de niveau 1

Rseau de routage de niveau 3 lment Hirarchique de niveau 3 lments logiques lments de mmorisation ...

41

Architecture logarithmique

Architecture hirarchique dans laquelle chaque niveau i correspond une matrice de 42i cellules de bases.
Chacun de ces niveaux possde des ressources de longueur 42i-1.

Exemple typique: le circuit Xc6200 de Xilinx

42

Architecture logarithmique
Cell Cell Cell Cell

Cellule logique de base

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Matrice de 16 cellules

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Lignes de longueur 4 cellules

Cell

Cell

Cell

Cell

4*4

4*4

4*4

4*4

16*16

16*16

16*16

16*16

4*4

4*4

4*4

4*4

Lignes de longueur 16 cellules

16*16

16*16

16*16

16*16

4*4

4*4

4*4

4*4

16*16

16*16

16*16

16*16

4*4

4*4

4*4

4*4

Lignes de longueur 64 cellules

16*16

16*16

16*16

16*16

43

Les lments logiques

Les lments logiques configurables sont les briques de bases de tous les FPGA, ils sont majoritairement raliss autour de LUT, Look Up Table, de chane de propagation rapide de la retenue et de bascule D.

On rencontre toutefois des cellules logiques rudimentaires base de multiplexeurs

44

Les Look Up Tables


Ce sont de petits lments de mmorisation, qui refltent la table de vrit dune fonction logique.
In 0 In 1 In 2 In 3

LUT = Table de scrutation LUT 4 entres = RAM 2octets


SRAM

SRAM

In 0 In 1 In 2 In 3

SRAM

LUT 4

Out
SRAM

SRAM SRAM

Out

45

Les Look Up Tables

In 0

In 1

In 2

In 3

1111 1110 1101 1100 1011 1010

0
1

Out

46

Les Look Up Tables

In 0 = 0

In 1

In 2

In 3

1111 1110 1101 1100 1011 1010

0
1

Out

47

Les Look Up Tables

In 0 =0

In 1

In 2

In 3

1111 1110 1101 1100 1011 1010

0
1

Out

48

Les Look Up Tables

In 0 =0

In 1 = 1

In 2

In 3

1111 1110 1101 1100 1011 1010

0
1

Out

49

Les Look Up Tables

In 0 =0

In 1 = 1

In 2

In 3

1111 1110 1101 1100 1011 1010

0
1

Out

50

Les Look Up Tables

In 0 =0

In 1 = 1

In 2 =1

In 3 = 1

1111 1110 1101 1100 1011 1010

0
1

Out= 1 = In3 In2 In1 Ino

51

Les Look Up Tables


Gnralement le nombre dentres des LUT est de quatre car cest un bon compromis entre vitesse et surface Le nombre de LUT dans les lments logiques varie de 2 4 gnralement

Rsultats dune tude de lUniversit de Toronto :


Critre Surface Dlais Surface et dlais Taille des LUT 34 7 46 Nombre de LUT 6 10 4 10 4 10

52

Les Look Up Tables


lment logique de base avec LUT
Carry-In

ENTREES

LUT
FAST CARRY CHAIN
HORLOGE

D Q

SORTIES

Carry-Out

53

Les rseaux dhorloges

Les circuits sont de plus en plus grands => augmentation de la longueur des connexions => les chemins dhorloges sont plus longs => plus de retard => ASYNCHRONISME MALSAINT !!!

54

Les rseaux dhorloges


Le problme 1 : JITTER : bruit de phase

Le problme 2 : CLOCK SKEW : Dcalage entre les transitions de la mme horloge diffrents points dun circuit. Le problme 3 : on peut avoir besoin de plusieurs horloges dans un mme circuit
55

Solutions dasservissement des horloges

Les PLL (analogique) Phase-Locked Loop ( ALTERA )

Les DLL (numrique)

Delay-Locked Loop
( XILINX )

56

Caractristiques des PLL et DLL

57

Comparaison PLL vs DLL

Comparaison "objective" faite par ALTERA Bien que plus performantes les PLL sont aussi beaucoup plus complexes intgrer (mixage analogique et numrique) Avons nous besoin dune telle prcision ???

58

Les curs de processeurs


Aujourdhui les systmes numriques font de plus en plus appel conjointement des ressources logicielles micro-programmes (P, C, DSP) et des ressources matrielles re-configurables (FPGA) Do lide de mettre sur un mme puce un cur de microprocesseur et un cur de logique configurable, les deux tant optimiss technologiquement Le cur de processeur peut prendre environ 10% de la surface totale de la puce
59

Les curs de processeurs


Altera propose le circuit Excalibur contenant : une partie configurable : type APEX 20K1000 un cur de processeur : ARM9 (32 Bits) 200MHz 8 K octets de cache Instructions 8 K octets de cache Donnes
Matrice FPGA
60
RAM double port RAM simple port Cur ARM 922T

Les curs de processeurs


PLL JTAG ARM

Processor & Memory Interfaces


Interfaces

UART

External

Trace Module

SRAM

SRAM

SRAM

Timer I-CACHE Interrupt D-CACHE ARM922T Watchdog 8K Bytes Controller 8K Byte Timer

Coeur de processeur
DPRAM DPRAM DPRAM

XA1
LEs ESB Bytes 4160 6.5K
32 Kbytes SRAM 16 Kbytes DPRAM

FPGA
LEs ESB Bytes 16400 26K

XA4
128 Kbytes SRAM 64 Kbytes DPRAM

LEs ESB Bytes

38400 40K

XA10
256 Kbytes SRAM 128 Kbytes DPRAM

61

Les curs de processeurs

Xilinx propose aussi une version de son circuit Virtex II avec un cur de processeur le Virtex II-Pro comprenant : de 1 4 curs Power-PC (RISC 32 bits) 125MHz

matrice VIRTEX avec capacit de 900 mille portes

62

Les alimentations en nergie


Le cur est aliment gnralement en 1.8 V (voir 1.5 V) car avec la technologie 0.18 m les oxydes ne sont pas assez pais pour supporter plus de tension Les entres sorties sont alimentes sous 3.3V, 2.5V, 1.8V ou 1.5 V suivant le standard choisi

Dans la plupart des cas il faut deux alimentations


Attention la consommation des E/S => minimiser leur nombre !!!
63

Les alimentations en nergie

Technologiquement pour permettre aux entres sorties de supporter des tensions dalimentations jusqu 3.3V on effectue plusieurs oxydations avec des masques spciaux

De cette faon la technologie utilise pour les entres-sorties nest pas la mme que pour le cur

64

Rpartition de la consommation de puissance

RESEAU DHORLOGE
21%

ENTREES SORTIES

9%

RESSOURCES DE ROUTAGE 65%

RESSOURCES LOGIQUES 5%

65

Modlisation de la consommation de puissance


La consommation globale du circuit peut tre donne par le modle suivant : P = Pstat + *[Cwire + Cswitches]*Vdd*f De ce fait la rpartition vue prcdemment est vraie dans certaines conditions: Technologie (Pstat , C, Vdd) Frquence (action linaire) Taux dactivit (action linaire) Taux doccupation (C)

Algorithmes de placement routage (fmax, C)


Nombre dentres sorties utilises => du fait de ces nombreux paramtres il est trs compliqu de trouver un moyen destimer la consommation de puissance du circuit pour une application
66

Les architectures de FPGA sont donc trs varies, tant aux niveau du routage que du grain des ressources qui les composent. Savoir quels types darchitecture et de ressources sont les plus en adquation avec lapplication que lon dveloppe reste un challenge aujourdhui.

67

IV. LA FAMILLE ALTERA

68

La famille ALTERA
1984
1988 1992 1995 1997 1999 2000 2000 2001 2001

Dbuts dAltera qui vend des EPLD


Lancement des CPLD MAX (Multiple Array matriX) qui sont des ftus de FPGA 1er FPGA Altera : le FLEX 8000 (15 000 portes) (Flexible Logic Element matriX) technologie 0.5 m Lancement de la famille FLEX 10K (250 000 portes) Famille FLEX 6K bas cots (24 000 portes) Famille APEX 20K (1 500 000 portes) Famille APEX 20K C utilisant la technologie cuivre Famille APEX 20K E avec plus de ressources mmoires technologie 0.18 m Circuit Excalibur couplant une matrice FPGA APEX 20K 1000 et un cur de processeur ARM 9 Famille APEX II (dont le but est de concurrencer le Virtex de Xilinx) (3 000 000 de portes) technologie 0.15 m

Fvrier 2002 : Lancement du STRATIX concurrent direct du Virtex II Xilinx, technologie cuivre 0.13 m Septembre 2002 : Lancement du Cyclone un petit FPGA (architecture STRATIX) pour application grand public bas-cots 69

La famille ALTERA

STRATIX

70

APEX II - Caractristiques

Le plus gros composant disponible est lAPEX II EP2A70

Caractristiques MAX:
3 000 000 de portes utilisables 1 146 880 bits de mmoires RAM soit 140 Kilo octets 4 PLL cur aliment en 1.5 V 1 060 entres sorties (tension 1.5 V, 1.8 V, 2.5 V ou 3.3 V) 380 Mbps de dbit en entres sorties

technologie cuivre 0.15 m 8 niveaux de mtallisation


taille de la puce 40*40 mm soit 1600 mm

71

APEX II - Architecture
Larchitecture est de type hirarchique, au premier niveau de hirarchie apparaisse les MegaLAB : Mega Logic Array Block

4 ranges de MegaLAB soit au total 280 MegaLAB

70 colonnes de MegaLAB
72

APEX II - MegaLAB

Un MegaLAB contient de 16 24 LAB (Logic Array Block)


et 1 ESB (Embedded System Block)

73

APEX II - LAB

Les LAB sont constitus de 10 LE : Logic Element

74

APEX II - LE

Le nombre max de LE pour un APEX II est de 67 200

75

APEX II - Carry Chain

76

APEX II - ESB

Bloc de mmoire de 4096 bits configurable en simple ou double port Peut tre utilis en CAM (Content Access Memory) et en matrice PAL

77

APEX II - Entres Sorties

78

APEX II - PLL

79

Stratix

Toujours plus gros, toujours plus performant, Stratix, le dernier ne dAltera !


80

Stratix - Architecture

81

Stratix - Architecture

82

Stratix - Blocs mmoires

83

Stratix - DSP lmentaires

Des blocs multiplieurs sont insrs

84

Stratix - Rseau dhorloges

85

volutions futures

Progression de la famille STRATIX: Version Excalibur avec un cur ARM10 Version bas cots, plus petite, pour les grandes sries (=> CYCLONE)

86

VI. FAMILLE
XILINX
87

La Famille XILINX
1985 1987 1991 1995 1996 1998 Lancement de la 1er famille de FPGA Xilinx le XC2000 (1500 portes - obsolte) Famille XC3000 (6000 portes - obsolte) Famille XC 4000 (500 000 portes) Famille XC 5200 spciale petit design (18 000 portes) 0.6 m 6 couches Innovations avec la famille XC 6200 (100 000) visant le coprocessing et le reconfigurable dynamiquement, echec commercial Famille SPARTRAN vise la souplesse dutilisation et les petits design

1999
1999 2000 2001 2002

Famille VIRTEX vise les fortes capacits ( 4 millions de portes) techno 0,22 m 5 niveaux de mtallisation
VIRTEX-E amlioration du VIRTEX avec plus de mmoires, techno 0.18 m 6 niveaux de mtallisation Famille SPARTRAN II, FPGA moyennes capacits (100 000 portes) bas cots, ce sont de petits VIRTEX, techno 0.18 m 6 niveaux de mtallisation Famille VIRTEX II, toujours plus fort (10 millions de portes) techno 0.15 m 8 niveaux de mtallisation, avec des transistors rapide 0.12 m Famille VIRTEX II-Pro qui contient 4 curs de P RISC Power-PC

Xilinx propose aussi une gamme complte de CPLD 88

La Famille XILINX

89

Virtex II - Caractristiques
Le plus gros composant disponible est le VIRTEX II XC2V 10000 Caractristiques MAX:

10 millions de portes utilisables (122 880 LUT et 10 *+ de bascule D)


5 376 K bits de mmoires RAM soit 656 Kilo octets 192 Multiplieurs (18*18 bits 200MHz) 12 DLL cur aliment en 1.5 V 1 108 entres sorties (tension 1.5 V, 1.8 V, 2.5 V ou 3.3 V) Frquence interne 420 MHz

840 Mbps de dbit en entres sorties


technologie allu 0.15m 8 niveaux de mtallisation taille de la puce 40*40 mm soit 1600 mm
90

Virtex II - Architecture
CLB : Configurable Logic Block
CLB Slice

91

Virtex II - Rseau de routage

92

Virtex II - Rseau dhorloges

DCM : Digital Clock Manager

93

Virtex II - DCM
Digital Clock Manager

94

Virtex II - Entres sorties

95

Virtex II - Configuration

96

Virtex II - volution

97

Virtex II Pro- Architecture

98

VII. AUTRES EXEMPLES DE FPGA


99

Autres exemples de FPGA

Il nest pas ncessaire de dtailler dautres architectures de FPGA, elles napportent rien de plus que ce que lon a vue chez Xilinx ou Altera
Mais il est toutefois intressant de connatre loffre dautres fabricants

100

Autres exemples de FPGA

ACTEL

ProASIC technologie flash, ASIC reprogrammable, non volatile et granularit fine, ISP. Utilise les outils ASIC ou FPGA AXELERATOR technologie antifusibles => OTP (One Time Programmable), FPGA les plus rapide 500MHz interne et 300MHz de fonctionnement systme

HiRel, RT, RH, technologie antifusibles srie militaire, tolrance aux radiations
101

Autres exemples de FPGA


ATMEL AT40K, technologie SRAM, architecture lots de calcul, faible densit (5K 50K portes), reconfigurable dynamiquement, des curs FPGA drivs de cette famille peuvent sintgrer dans les circuits prdiffuss ATMEL. ispXPGA, technologie SRAM, archi lots de calcul, densit de 125K 1,2M portes. EEPROM de configuration intgr => configuration la mise sous tension en moins de 200 s
102

Lattice

Autres exemples de FPGA

Quick Logic

pASIC (1,2 et 3), srie Quick (Ram, PCI), technologie antifusible (One Time Programmable), faible densit de 1K 90K portes

Cypress

CY39K, architecture mixte CPLD-FPGA

103

VIII. UTILISATIONS & CAO


104

Programmation des PLDs.


La programmation des PLDs ncessite un logiciel adapt pour le dveloppement du programme et un programmateur permettant de griller le circuit.
Cahier des charges Mise en quation du problme Rsolution du problme sous forme dquation logique, de logigramme ou dalgorithme Choix du PLD en fonction du nombre dentres et de sorties

Saisie des quations logiques, de la table de vrit, du logigramme ou de lalgorithme avec le logiciel

Le fichier JEDEC est un ensemble de donnes binaires indiquant au programmateur les fusibles griller .

Simplification logique

Gnration dun fichier au format JEDEC

Ces tapes sont effectues par le logiciel

Simulation Programmation du PLD laide du fichier JEDEC et du programmateur

PLD programm

105

106

Outils de CAO

Les outils de CAO sont les points faibles de ces circuits. Si un circuit est trs performant il ne se vendra pas si les outils qui lui sont associs ne sont pas performants !

Chez Xilinx 50% des ingnieurs de R&D se consacrent ces outils !

107

Outils de CAO
Tous les fabricants de FPGA proposent des outils de CAO, passage oblig pour configurer leurs circuits pour Xilinx cest ISE - Foundation pour Altera cest Quartus ou MAX + II

Avec ces outils on peut raliser tout le flot de conception de la synthse la configuration. Pour certaines phases du flot ces outils font en fait appel dautres outils

108

Autres outils de CAO

Flot FPGA

Synthse

Simulation
109

IP : Intellectual Property
Communications
ADPCM (u-law, a-law) ATM Controller CRC Ethernet MAC (10/100/Gigabit) HDLC Protocol Core IMA Controller SONET/SDH Framer T3/E3 Framer Packet Over SONET Processor Telephony Tone Generator Utopia Master & Slave POS-PHY Interface

Bus Interface
PCI Target PCI Master-Target PCI-X CAN Bus IIC Master & Slave IEEE 1394 PowerPC Bus Arbiter PowerPC Bus Master PowerPC Bus Slave USB Function Controller USB Host Controller

Digital Signal Processing


Color Space Converter Correlator Digital Modulator Discrete Cosine Transform Fast Fourier Transform FIR Compiler IIR Filter Image Processing Library NCO Reed Solomon Encoder/Decoder Interleaver/Deinterleaver Viterbi Decoder Turbo Decoder

Processor, Peripheral
NiosTM Processor Tensilica X-tensa Processor PalmChip Bus SDRAM Controller DDR-SDRAM Controller QDR-SDRAM Controller 8237 DMA Controller 8255 Peripheral Interface 8259 Interrupt Controller 8254 Timer/Counter 8051, 6502, Z80

Et plus encore !
110

Exemple dIP : NIOS

PBM

CPU

Caractristiques : donnes sur 16 ou 32 bits 128, 256 ou 512 registres registres dcalage rapide ( 1, 3, 7, 15 ou 31 bits/clock) possibilits de lui adjoindre des priphriques (UART, RAM, ROM)

FLASH

Timer

Serial Port

UART

12% dun EP20K200E

Ici le reste de votre systme

APEX EP20K200E
111

IRQ

NIOS : cur de processeur RISC gnrique optimis

SRAM

IX. EVOLUTIONS CODESIGN, SORC


112

Les nouvelles utilisations des FPGA

Longtemps rduit au prototypage, aujourdhui les FPGA sont utiliss, pour leur capacit de reconfiguration, dans des systmes lectroniques complexes, mme pour de la grande srie.
le CoDesign pour le Run Time Reconfigurable les SORC : System-On-a-Reconfigurable-Chip

113

Le CoDesign
Dfinition : Les mthodes de CoDesign sont des mthodes de dveloppement simultan (de manire concurrente) des parties HW et SW (spcification, design, vrification)

SW = microprocesseur

HW = FPGA ou ASIC

Buts : Grer au mieux lhtrognit de la nature des fonctions qui composent le systme (du logiciel larchitecture reconfigurable) Comparer les diffrents choix de partitionnement Dfinir les interfaces entre le SW et le HW Valider le systme complet (co-vrification et co-simulation)
114

Flot de CoDesign
SPECIFICATION HAUT NIVEAU DE LAPPLICATION ordonnancement de lapplication proposition de candidats HW et SW

ESTIMATION SYSTEME

ESTIMATION LOGICIELLE

ESTIMATION MATERIELLE

PARTITIONNEMENT

Choix des ralisation HW ou SW

SYNTHESE LOGICIELLE

SYNTHESE INTERFACE

SYNTHESE MATERIELLE

COSIMULATION
Retour dexprience

IMPLEMENTATION HW et SW

TESTS

115

Les SORC
Technique hritire direct des SOC : System On Chip

Diffrentes notations : SORC (Xilinx) : System On a Reconfigurable Chip SOPC (Altera) : System On a Programmable Chip

CSOC

: Configurable System On Chip

Lutilisation des techniques de CoDesign est invitable ! Lengouement pour les SORC est certain vue le nombre de cur de processeurs (IP ou cbls) prsents sur le march
116

CONCLUSIONS

117

Le futur

118

Le futur
Processeurs re-programmant leur environnement en temps rel : Hardware intelligent programm haut niveau

119

Le futur
Circuit programmable Analogiques et Mixtes : (www.anadigm.com)

Intgration de MEMS : Plus tard

120

REFERENCES BIBLIOGRAPHIQUES

121

Rfrences bibliographiques
Livres :

Laurent Dutrieux, Didier Demigny, LOGIQUE PROGRAMMABLE, Architecture des FPGA et CPLD, Mthodes de conception, Le langage VHDL. Eyrolles, 1997
Vaughn Betz, Jonathan Rose, Alexander Marquardt, Architecture and CAD for Deep-Submicron FPGAs. Kluwer Academic Publisher, 1999

Revues : lectronique - Le mensuel des ingnieurs de conception lectronique International Hebdo Xcell Journal (Xilinx press) Revues IEEE

122

Rfrences bibliographiques
Sites Internet : LES SITES DES CONSTRUCTEURS (Xilinx, Altera, Atmel, Actel, QuickLogic ) AUTRES :
http://www.mrc.uidaho.edu/fpga/fpga.html page de liens vers FPGA http://optimagic.com/ the Programmable Logic Jump Station http://eet.com/embedsub site de lembedded developers journal http://www.mvd-fpga.com/fr/default.htm site dune entreprise franaise de service spcialise dans les FPGA http://www.design-reuse.com/ site sur les IP http://www.supelec-rennes.fr/ren/perso/jweiss/fpga/poly/fam99-fin.htm cours de SUPELEC J. Weiss http://www.enseirb.fr/~kadionik/formation/altera/index.htm cours de lENSEIRB L. Dulau http://micdigital.web.cern.ch/micdigital/VLSI_Trieste/design_styles/index.htm autre cours en PPT 123

confrences
Confrences spcialises : FPGA FPL ACM International Symposium on Field-Programmable Gate Arrays International Workshop on Field-Programmable Logic and Applications

FCCM
FTP RSP ERSA RAW

IEEE Symposium on Field-Programmable Custom Computing Machines


IEEE International Conference on Field-Programmable Technology IEEE International Workshop on Rapid System Prototyping Engineering of Reconfiguraable Systems and Algorithms Reconfigure Architectures Workshop (part of IPDPS)

FPGA/PLD Design Conference (part of ASP-DAC)

Confrences gnralistes DAC : Design Automation Conference

ASP-DAC Asian and South Pacific Design Automation Conference


DATE ISCAS Design Automation & Test Exhibition IEEE International Symposium on Circuits and Systems 124

MERCI ...

125