Académique Documents
Professionnel Documents
Culture Documents
Programmation
Les CPU sont programmables, mais mal adapts au calcul rptitif sur
de gros volumes de donnes.
ASIC
Les FPGA sattaquent ce secteur depuis plusieurs annes dj. Leur cycle de
conception, court, en fait une solution idale pour les sries moyennes ou en dbut
de production.
DSP
Les multiplieurs rapides, les RAM de taille consquentes, loptimisation des oprations
arithmtiques, ajouts au paralllisme intrinsque permet de surpasser les DSP les
plus sophistiqus.
Microcontrleurs
Les processeurs synthtisables peuvent tre combins des priphriques pr-
existants ou custom, pour crer de vritables SoC avec un prix comparable celui
dun microcontrleur.
Aujourdhui, les FPGA ont une capacit qui peut atteindre quelques
dizaines de millions de portes.
Cest cette programmation qui le rend prfrable lASIC dans bien des
applications.
Elle repose sur lutilisation dune mmoire dite de configuration pour dfinir le
comportement du circuit.
Les anctres des FPGA taient des composants logiques programmables tels
que:
Les PROM (Programmable ROM)
les PLA (Programmable Logic Array)
les PAL (Programmable Array Logic)
les GAL (Generic Array Logic)
les CPLD (Complex Programmable Logic Devices)
: connexion tablie
Bourguiba Riad - ENIT 2007 - FPGA
B. Fonction logique programmable 23
circuit combinatoire
i. Principe
ii. Technologie fusibles
iii. Technologie antifusibles
Mmoire
variables rsultats
Adresses Donnes
logiques
Cette solution est plus simple mettre en uvre, mais elle utilise plus
de surface sur le silicium.
Rsistances
Interrupteurs Interrupteurs
Rsistances
Interrupteurs Interrupteurs
1 1
0 0 1 1
1 0
0 0
0 1
1 0
1 1
1 1 0 0
0 1
0 0
1 0
0 1
Exemple :
3 bits dadresse
3 bits de donnes
a b c w x y
0 0 0 0 1 0
0 0 1 0 1 1
0 1 0 0 1 0
0 1 1 0 1 1
1 0 0 0 1 0
1 0 1 0 1 1
1 1 0 1 0 1
1 1 1 1 0 0
Exemple :
3 entres
3 sorties
w=(a.c)+(b.c)
x=(a.b.c)+(b.c)
Y=(a.b.c)
Du fait que les deux rseaux sont programmables, les PLA sont plus
lents que les PROM.
Rseau ET programmable
Rseau OU fixe
Inconvnients :
Un PAL est moins
souple quun PLA.
Le nombre de produits
combins est infrieur
celui dune PROM ou
dun PLA.
Les ingnieurs avaient une libert totale, mais les designs restaient
simples cause de la complexit de la tche
Les ingnieurs se concentrent alors sur leur circuit, plus sur la taille ou
lorientation des transistors.
Dabord rserv un usage strictement interne, cette technologie sera mise sur
le march au milieu des annes 70.
Le logiciel effectue
loptimisation,
Simplification du schma et/ou des quations logiques.
le mapping,
Mise en correspondance des portes logiques et des cellules.
le placement,
Distribution des portes sur les cellules.
le routage.
Connexion des cellules.
Ces cellules sont dj testes et ont des formes standardises, qui permettent
de les juxtaposer comme les pices dun puzzle, pour construire des modules
logiques plus gros.
Seules les cellules ncessaires seront graves sur le silicium, ce qui rduit la
surface, vite le gaspillage, diminue la consommation et augmente les
performances.
Bourguiba Riad - ENIT 2007 - FPGA
C. Les diffrentes familles de 96
composants logiques cbls
Prsentation
Full custom
Micromatrix et Micromosaic
Gate arrays
Standard cell
ASIC structurs
La LUT peut tre programme pour raliser nimporte quelle fonction logique
3 entres.
y = a & b | !c
(y = a and b or not c)
Au dmarrage du systme, les LUT sont programmes, ainsi que les blocs
dinterconnexion.
Niveau 3
cellule
Niveau 2
Niveau 1
lutilisateur final
Il achte le systme pour rpondre un besoin
particulier.
EPROM
FPGA
ou FLASH
SRAM
(configuration)
Exemple :
Programmation dun design de diagnostic systme,
puis programmation de lapplication principale.
Aujourdhui, leur structure rgulire avec des motifs complexes et aux tailles
varies ont permis aux FPGA de leur ravir cette place.
Exemple :
IBM et UMC ont choisit les FPGA Xilinx pour mettre au point leur technologie
CMOS 90 nanomtres.
Avantages :
Les donnes de configuration sont non volatiles.
Plus dense donc plus rapide : les transistors sont plus petits et les pistes
plus courtes.
Avantages :
Ils ne perdent pas leur configuration avec une coupure
dalimentation.
Inconvnients :
Leur procd de fabrication ncessit 5 tapes
supplmentaires par rapport la technologie CMOS
standard.
=> Les FPGA coarse grained sont plus performants de ce point de vue.
Du coup les FPGA gros grain sont dornavant classs FPGA grain
moyen (medium grained).
Bascule entirement
configurable (polarit du
reset, front actif dhorloge)
Nanosecondes
Ne peut tre ralis que par un circuit lectronique (FPGA ou ASIC)
Microsecondes
Les deux solutions sont possibles et il faut les envisager
srieusement toutes les deux avant de faire un choix . Cest l
quintervient lexprience et le savoir-faire de lingnieur
Millisecondes
Traite en gnral linterface homme/machine (gestion des LED,
lecture des boutons, commande des actionneurs, ). Inutile de
mettre un FPGA, un processeur suffit largement et cote moins
cher.
(a) (b)
Bourguiba Riad - ENIT 2007 - FPGA
175
ii. Cur de processeur cbl
Processeur embarqu ct du Processeur enfoui dans la
FPGA dans un mme botier matrice FPGA elle-mme
Le processeur est intgr dans une Le processeur est intimement li
"bande" (stripe) qui peut contenir la matrice programmable.
des priphriques supplmentaires.
Le logiciel de dveloppement du
Le FPGA et le stripe sont disposs FPGA doit tenir compte du
cte cte dans un mme botier. processeur.
Certains sont des modles de processeurs ayant exists et sont 100% portables
(Leon, 8086, 8051, ).
Avantages :
Ils ne dpendent pas de la technologie silicium ni des circuits.
Ils sont censs garantir la prennit des projets pendant plusieurs dizaines dannes.
Typiquement, lhorloge est gnre lextrieur du FPGA et est injecte par une
broche ddie, avant daller alimenter un arbre de distribution qui arrose son
tour chaque bascule D du circuit.
Dphasage
Celles-ci sont distribues travers la matrice (botier flip-chip), mais pour des raisons de
simplicit on les reprsente en priphrie.
Il faut distinguer une entre/sortie (sur le cur silicium) dune broche (sur le botier).
Toutes les entres/sorties dun FPGA ne sont pas ncessairement connectes aux broches du
boitier.
Un mme cur FPGA peut exister avec diffrentes formes de botier, contenant plus ou moins
de broches.
Bourguiba Riad - ENIT 2007 - FPGA
187
I. Entres/sorties
Les entres/sorties sont organises en banques paramtrables.
Impdance configurable
Elle permet de grer le problmes dadaptation dimpdance grce des rsistances intgres au
niveau des entres/sorties.
Tension configurable
La tension dalimentation du cur FPGA na souvent plus rien voir avec la tension utilise sur
la carte. De plus, cette dernire ne cesse de diminuer. Aussi, un paramtre permet de
slectionner la tension externe.
Pour compenser la perte de dbit due au passage parallle vers srie, ces liaisons doivent
communiquer extrmement vite (facteur 100).
Pour y parvenir, elles utilisent des paires diffrentielles sur lesquelles sont envoys les donnes
et leur inverse, bit par bit.
On peut ainsi remplacer un bus parallle bidirectionnel (~64 fils) par deux paires diffrentielles
(~4 fils), une pour lmission (Tx), lautre pour la rception (Rx).
Soft IP
Ils sont crits dans un langage HDL au niveau RTL. Ils sont largement paramtrables, voire modifiables.
Firm IP
Ce sont des Soft IP que lon a dj t synthtises, places et routes sur le FPGA. Ils sont donc
parfaitement optimises.
Les hard IP sont prsents dans le FPGA, mme si on ne sen sert pas. Il faudra donc choisir la
plateforme la mieux adapte une application donne.
Les Soft et les Firm IP sont gnralement fournis directement avec les outils de dveloppement
du constructeur (Xilinx, Altera, ) pour les plus simples, ou vendus sparment pour les plus
spcifiques.
La tailles des circuits FPGA est donc mesure en nombre de portes systmes :
une notion extrmement floue, mais qui donne limpression que lon peut faire
une comparaison avec un ASIC
Les protocoles varient dun fabricant lautre, et parfois dune famille lautre
chez un mme fabricant.
Le chargement octet par octet est 8 fois plus rapide quen mode srie.
Le processeur copie les donnes depuis la mmoire externe, vers la mmoire interne du
FPGA.
On peut alors configurer le circuit en mode srie, par le port JTAG qui est un
standard.
Simulation Simulation
Validation prototype
haut niveau post-synthse
Simulation et vrification
Routage
fonctionnelles
Simulation physique