Vous êtes sur la page 1sur 6

Les FPGA sont omniprsents : dans la conception, le test et le contrle/commande

Date de publication: oct. 07, 2008

Introduction
Les FPGA dpassent dsormais leur rle d' "interfaage d'appoint", qui leur permettait dapporter une solution ce que la logique
des produits "sur tagre" ne parvenait pas rsoudre. Ils occupent en effet aujourd'hui le devant de la scne grce leur
capacit s'intgrer dans des systmes sur puce entirement personnaliss, conus spcifiquement pour une application
particulire.

Table des matires


1. Les FPGA dans les systmes embarqus
2. Les FPGA dans les applications de test
3. Les FPGA dans les systmes de contrle

Imaginez qu'un systme monocarte puisse satisfaire les besoins de tous vos projets. Imaginez que vous puissiez configurer une
carte lectronique entire, ou plusieurs cartes d'une mme plate-forme, pour rpondre aux besoins de tous les lments d'un
systme ou mme, tous les besoins d'un systme entier. Imaginez que vous puissiez concevoir rapidement des composants
matriels systme tels que : microprocesseurs, priphriques, filtres, boucles de contrle, (compltez avec la fonctionnalit
souhaite), ainsi qu'UART, SPI et contrleurs I2C dans des proportions adquates, afin de rpondre exactement aux besoins de
votre application.
Il y a dix ans, toutes ces possibilits auraient sembl fantaisistes, car alors la plupart des blocs logiques standards comme les
contrleurs Ethernet, CAN ou USB, ainsi que les contrleurs de microprocesseurs et de mmoire, et enfin les UART, taient
encore considrs comme de simples puces "sur tagre" en logique fixe. Or, les FPGA atteignent aujourd'hui des tailles et des
prix trs comptitifs, tel point que mme un microprocesseur 32 bits ne reprsente plus qu'une petite partie du cot et de la taille
d'un FPGA. Ils sont donc une solution plus viable que jamais pour tous les types d'applications possibles et imaginables, qu'il
s'agisse d'intgrer des FPGA dans des matriels, de les utiliser pour tester des machines, ou encore d'employer du matriel
base de FPGA pour contrler et fabriquer des produits.
Les FPGA sont omniprsents et, grce la disponibilit d'un nombre incalculable de blocs d'IP (proprit intellectuelle) ciblant les
FPGA, proposs par des fabricants de FPGA, des fournisseurs tiers d'IP et les dveloppeurs de FPGA, vous pouvez transformer
une ide sur le papier en un matriel lectronique bien plus rapidement que vous ne pouvez l'imaginer. Dbarrass de la
ncessit de crer des blocs d'IP non spcifiques l'application, le travail de cration d'un systme absolument unique et adapt
vos besoins particuliers s'assimile alors en grande partie au processus d'intgration et d'assemblage. Les fournisseurs de FPGA
et les socits commercialisant des produits base de FPGA sont mme passs l'tape suprieure en termes de productivit,
introduisant de nouveaux niveaux d'abstraction avec des outils de conception plus performants qui intgrent des composants d'IP
et des E/S sous la forme de diagrammes graphiques.
Les FPGA sont non seulement capables de prendre en charge plusieurs applications avec une seule et mme carte, mais ils
prsentent en outre l'intrt de pouvoir rsoudre des problmes de faon plus souple. Les prcdentes solutions sur carte taient
gnralement composes d'un microprocesseur fixe ou d'un ASSP ( Application-Specific Standard Product) et dune logique fixe
associe, le tout dans une architecture rigide, ce qui limitait les possibilits d'atteindre de hautes performances. Une carte base
sur FPGA prsente une architecture pouvant tre personnalise, pour des performances accrues. Les tches peuvent y tre
rparties de faon optimale entre matriel et logiciel, et peuvent y tre implmentes de manire parallle en ajoutant des
microprocesseurs softcore, en dupliquant les blocs de fonctions matrielles, ou en ajoutant des coprocesseurs directement au
microprocesseurs eux-mmes. L'association de la performance et de la souplesse profite tous les types d'application quels qu'ils
soient : que vous travailliez sur des systmes embarqus, des quipements de test ou des systmes de contrle/commande, les
FPGA font dsormais partie intgrante de votre monde professionnel.

1. Les FPGA dans les systmes embarqus


Il est vident que les FPGA sont aujourd'hui utiliss dans un large ventail d'applications. D'ailleurs, vous envisagez probablement
d'intgrer un FPGA dans votre prochain systme, pour profiter davantages tels que sa souplesse ou sa simplicit d'intgration.
Or, mesure que le catalogue d'IP disponibles continue de crotre, les FPGA ressemblent de plus en plus des systmes sur
puce. En effet, la plupart des systmes sur puce intgrant dsormais un microprocesseur, ce n'est pas une concidence si l'une
des dernires nouveauts en matire d'IP sur FPGA est le microprocesseur 32 bits embarqu. La cration de systmes

embarqus spcifiquement conus pour une application, avec des FPGA comme technologie de base, gagne actuellement du
1/6 www.ni.com
embarqus spcifiquement conus pour une application, avec des FPGA comme technologie de base, gagne actuellement du
terrain. Un rapport de la socit amricaine Gartner Inc. indique que, d'ici 2010, plus de 40 % des FPGA intgreront un
microprocesseur embarqu.
Du point de vue de la vitesse de traitement, avec plus de 200 MHz pour les implmentations sur processeur softcore et plus de
400 MHz pour les implmentations sur processeur hardcore, prs de 80 % des applications embarques ncessitant 32 bits
peuvent bnficier d'une solution FPGA. De plus, intgrer le microprocesseur au FPGA n'implique pas de devoir faire des
compromis sur les performances. Par exemple, Xilinx propose un microprocesseur softcore 32 bits appel MicroBlaze, avec taille
dinstructions et de cache configurables, qui inclut une unit de gestion de mmoire (MMU, Memory Management Unit) optionnelle
pour la protection des accs la mmoire. Ce softcore peut tre intgr n'importe lequel des FPGA de Xilinx ; ce dernier
commercialise par ailleurs un processeur hardcore PowerPC 32 bits pour sa gamme Virtex de plus haut niveau. Grce
l'interface bus processeur local (PLB) avec standard ouvert intgr sur ces deux processeurs, ils peuvent bnficier dune logique
d'acclration ainsi que la connexion de nombreux priphriques (Voir Figure n1).

Figure n1. Intgrer un microprocesseur softcore ou hardcore sur le FPGA permet de pouvoir
connecter directement un grand nombre de priphriques et de fonctions sur une mme carte.

Plusieurs raisons justifient l'intgration de fonctionnalits de traitement embarques sur un FPGA, bien que certaines soient moins
videntes que d'autres. En premier lieu, il n'y a aucune implmentation d'architecture fixe et donc aucune obligation que les
fonctions soient ralises par matriel plutt que par logiciel. Il existe donc un vaste choix de solutions envisageables pour chaque
application, allant des plus gnrales aux plus spcifiques.
Pour ce qui est des solutions gnrales, le processeur et les priphriques associs peuvent tre configurs sur un bus partag,
avec un seul processeur matre ayant accs tous les processeurs esclaves. Cette approche est adapte la plupart des
applications. Ses avantages sont la simplicit de l'architecture du systme et la possibilit de rpercuter les changements des
besoins du systme en modifiant tout simplement le code logiciel et en recompilant. Une telle approche prsente nanmoins
l'inconvnient de laisser au processeur la plus grande partie du travail, comme le transfert des donnes travers le systme et les
calculs ; en outre, la bande passante du bus partag est utilise pour chaque change de donnes. Cela peut entraner une
saturation trs rapide du microprocesseur et du bus, d'autant plus que les besoins du systme sont grands.
Pour ce qui est des solutions spcifiques, l'architecture du systme peut tre adapte pour satisfaire les besoins spcifiques d'une
application, ou peut tre mise l'chelle pour supporter davantage de voies ou un plus haut dbit. Ces modifications sont
appliques au FPGA en ajoutant des fonctionnalits matrielles ddies o ncessaire, sous la forme de bus d'interconnexion, de
moteurs d'accs direct la mmoire (DMA) ou de logiques d'acclration. En option, des blocs entiers de sous-systme du
microprocesseur peuvent tre rpliqus dans le FPGA. Quelle que soit l'approche, le rsultat est le mme : des performances
accrues au niveau du systme.

2/6 www.ni.com
Par exemple, pour le traitement TCP/IP, il peut tre avis d'ajouter une fonctionnalit de dchargement assiste par matriel pour
effectuer le checksum (somme de contrle) plutt que d'obliger le processeur remplir cette fonction. De plus, l'intgration d'un
DMA pour dcharger le microprocesseur de ses tches de transfert de donnes peut trs fortement accrotre les performances
gnrales du systme et rduire considrablement l'utilisation de la bande passante du processeur.
Certaines architectures adaptes requirent une topologie diffrente. Par exemple, il peut tre prfrable de conserver les
donnes dans un seul emplacement et de prvoir leur traitement in situ, plutt que de les faire transiter travers le systme lors
de chaque tape du traitement. Dans ce cas, un contrleur de mmoire multiport pourrait convenir en tant que composant de
mmoire standard.
De nombreuses applications requirent un traitement haute prcision des entres et sorties de tensions et de courants sur une
large gamme dynamique, diffrents niveaux de spcification. Il est appropri deffectuer ces calculs en virgule flottante ;
cependant, allier prcision et performance en utilisant lmulation en virgule flottante n'est pas toujours possible. Il est donc
avantageux de pouvoir acclrer volont ce type de calculs en utilisant un coprocesseur en virgule flottante, afin de trouver un
compromis entre cot et performance. Un processeur softcore peut disposer d'une unit virgule flottante (FPU, Floating-Point
Unit) en couplage troit avec le processeur, pouvant tre intgre avec une simple option de paramtrage. Une FPU double
prcision complte est disponible pour le PowerPC.
Une fois la conception adapte de manire optimale laide dune carte base sur du FPGA, il n'y a aucune raison qu'elle
conserve la mme carte ternellement. Pour de nombreuses applications, vous pouvez utiliser une plate-forme de prototypage
plus gnrale pour les premires tapes de dfinition, avec l'intention de la remplacer un jour par une plate-forme moins
onreuse, plus performante ou d'un facteur de forme diffrent. L'un des avantages du cur d'IP logiciel est la possibilit de
changer la cible hte matrielle, si besoin est. tant donn que les fournisseurs de FPGA offrent une large gamme de matriels,
diffrents en termes de densit, de performances et de cot, plusieurs options sont gnralement proposes pour modifier la
cible.
En ralit, la plupart des blocs dIP proposs par les fournisseurs de FPGA eux-mmes sont compatibles avec toutes leurs
familles de matriels, ce qui limine la majeure partie du travail de "reciblage". Par ailleurs, en tirant partie des normes ouvertes
dinterconnexion pour lIP spcifique l'application, les dveloppeurs peuvent amliorer la portabilit de leurs blocs personnaliss.
De plus, mesure que les fournisseurs lancent de nouveaux matriels, ils y ajoutent leurs IP, ce qui implique une approche long
terme et permet de rduire le cycle de conception ainsi que les problmes d'obsolescence du matriel.

2. Les FPGA dans les applications de test


Bien que les avantages de l'emploi des FPGA pour la conception de systmes embarqus semblent vidents, ceux de leur
utilisation dans les applications de test peuvent apparatre moins clairement. Or, depuis les tests de validation de la conception
jusqu'aux quipements de test automatis, tous les systmes de test peuvent profiter du contrle bas niveau d'E/S et du
paralllisme qu'offrent les FPGA.
Lorsque vous valuez les performances et le fonctionnement d'un appareil sous test (DUT, Device Under Test), la prcision du
test dpend de celle de votre systme de mesure. Or l'utilisation de puces FPGA en tant qu'interfaces primaires dote vos E/S
d'une intelligence ultrarapide.
Il est ainsi possible de vrifier matriellement les caractristiques uniques d'un appareil, et d'ajouter des fonctionnalits de test
plus facilement grce au paralllisme.

Le James Webb Space Telescope, actuellement dvelopp par le Goddard Space Flight Center de la NASA, est un exemple
difiant d'une utilisation optimise des performances du FPGA. Afin de masquer toute lumire indsirable mise par des systmes
solaires distants, les ingnieurs de la NASA perfectionnent un microsystme lectromcanique (MEMS) comportant des milliers
de micro-obturateurs positionns de manire former une matrice reconfigurable. Les obturateurs s'ouvrent et se ferment en
synchronisation avec un champ magntique traversant, et plus de 500 lignes numriques indexent les obturateurs
individuellement sur la matrice.

3/6 www.ni.com
Figure n2. L'un des premiers prototypes de la matrice du MEMS, avec 16 x 8 micro-obturateurs reprsents sur une
photographie rtro-claire (les rectangles blancs reprsentent les obturateurs ouverts, les noirs sont ferms).Photographie
publie avec l'aimable autorisation du Goddard Space Flight Center de la NASA.

Chaque composant du James Webb Space Telescope doit avoir une dure de vie garantie pour les dix ans de la mission spatiale
; la NASA utilise donc du matriel bas sur FPGA pour tester la fiabilit de la puce du MEMS. Un ASIC (circuit intgr
application spcifique) personnalis ne donnerait pas la NASA la souplesse ncessaire pour que ses systmes de test voluent
mesure que s'amliore la conception. Une approche logicielle, par ailleurs, ne lui fournirait pas la synchronisation bas niveau ni
la fiabilit voulues. La NASA a conomis des centaines d'heures de travail et des milliers de dollars en choisissant un matriel
"sur tagre" base de FPGA.
L'utilisation des FPGA dans les quipements de test prsente un autre avantage non ngligeable : la diversit des options offertes
par la mise en uvre dinterfaces de communication numriques. Vous pouvez programmer les protocoles numriques standards
et personnaliss au niveau de la couche physique, avec un contrle total du cadencement et de la synchronisation. Il existe
d'innombrables IP disponibles, depuis les SPI de base jusqu'aux interfaces srie haute vitesse PCI Express, dont la plupart ont un
code source ouvert et sont donc libres d'utilisation. Lorsque le DUT utilise des bus numriques propritaires ou confidentiels, les
interfaces ASIC fixes ont des difficults en matire de maintenance et de compatibilit ascendante. En revanche, vous pouvez
mettre jour les FPGA rgulirement sans oprer aucune modification matrielle physique.

3. Les FPGA dans les systmes de contrle


Les systmes de contrle permettent galement d'illustrer quel point les FPGA se sont affranchis de leur rle originel de matriel
d"interfaage dappoint". Les systmes de contrle en boucle ferme varient d'un secteur dactivit un autre, mais ils ont
souvent en commun un facteur de performance dterminant : la vitesse de la boucle de contrle. Au niveau le plus fondamental,
la vitesse de boucle est le temps total ncessaire pour lire les entres de capteurs, traiter l'algorithme de contrle et transmettre
les valeurs rsultantes aux actionneurs. Une solution matrielle base sur FPGA prsente l'avantage exclusif d'offrir un vritable
paralllisme matriel : des boucles de contrle indpendantes peuvent s'excuter des vitesses diffrentes sans dpendre de
ressources partages qui pourraient ralentir leur temps de rponse (Voir Figure n3). De multiples boucles de contrle s'excutant
sur un systme bas sur un processeur se retrouvent en concurrence pour la bande passante du processeur, et les diffrentes
parties de l'application peuvent se priver mutuellement de ressources, entranant une gigue ( jitter) dans des tches prioritaires.

4/6 www.ni.com
Figure n3. Plusieurs boucles de contrle s'excutent avec un vritable paralllisme matriel
sur les cartes d'E/S base de FPGA.

La possibilit d'allouer une section particulire du circuit FPGA une fonction de contrle spcifique donne aux concepteurs de
systmes la garantie matrielle d'un fonctionnement fiable, sans risque d'indisponibilit des ressources. Tout comme pour les
prcdents exemples d'applications de conception et de test, les blocs d'IP disponibles pour le contrle aident les concepteurs de
systmes se lancer rapidement dans l'utilisation de matriel bas sur FPGA. Qu'il s'agisse de contrle PID de base ou
d'algorithmes avancs comme le contrle MFA (Model-Free Adaptive), il existe des IP prconstruites afin de simplifier la
conception de systme FPGA. Vous pouvez ainsi avoir davantage de temps pour travailler sur d'autres aspects de la conception,
comme le rglage des valeurs des coefficients mathmatiques.
Les exigences des systmes deviennent plus toujours complexes ; or les FPGA sont volutifs et permettent d'ajouter des
fonctionnalits sans impliquer de modifications pour le reste du systme. Une application de contrle industriel, par exemple, peut
exiger l'ajout de capteurs pour surveiller la temprature du systme et les vibrations mcaniques, dans le but de dtecter les
premiers signes d'une dfaillance. Un systme base de FPGA permet d'ajouter cette fonctionnalit sans affecter le contrle
industriel, et mme d'aider l'intgration d'une squence d'arrt d'urgence pour ralentir la machine de manire fiable et en toute
scurit.
Avec le temps, certaines parties du systme contrl sont susceptibles de se modifier, et le contrleur doit tre capable de
s'adapter ces changements. Une approche base sur du FPGA permet une reconfiguration matrielle, afin d'voluer avec les
besoins de l'application. Grce au matriel reprogrammable, vous pouvez recompiler le FPGA pour adapter votre systme aux
nouveaux algorithmes amliors, aux diffrents types d'E/S et aux rsolutions de bogues, le tout pouvant tre ralis sur le
terrain. viter de reconcevoir entirement le matriel permet de rduire les cots fixes de long terme et les temps d'immobilisation
du systme.
Les FPGA sont dsormais omniprsents et ils apparaissent progressivement dans tous les diffrents volets de la conception, du
test et du contrle/commande. Leur souplesse et leurs performances, associes au large ventail d'IP qu'ils offrent, permettent
une vaste gamme de solutions pour un grand nombre de problmes, avec une grande marge de libert, le tout dans un seul et
mme matriel. Tandis que le choix des composants du systme rduit habituellement les options en aval, le choix d'une solution
base de FPGA tend au contraire l'ventail des options qui vous seront offertes. Mme avec le temps, ces options continuent
d'exister : vous pourrez ainsi facilement mettre jour le systme pour qu'il s'adapte chaque gnration.

Wayne Marx, Xilinx


Vineet Aggarwal, National Instruments
Vineet Aggarwal est responsable des produits d'acquisition de donnes chez National Instruments, avec une spcialisation dans
les matriels bass sur FPGA. Il est diplm en ingnierie lectrique l'universit de l'Ohio ( The Ohio State University).

Pour en savoir plus sur la technologie FPGA, visionnez cette vido explicative (
http://zone.ni.com/wv/app/doc/p/id/wv-585/upvisited/y).
Cet article a t publi dans le numro d'avril 2008 du magazine RTC (http://www.rtcmagazine.com/home/article.php?id=100953).

PRODUITS SUPPORT SOCIT


tat et historique des commandes (http://www.ni.com/status/) Soumettre une requte de service ( propos de National Instruments (http://www.ni.com/
https://sine.ni.com/srm/app/myServiceRequests)
Commander par numro de rfrence produit ( vnements (http://france.ni.com/evenements)
http://sine.ni.com/apps/utf8/nios.store?action=purchase_form) Manuels (http://www.ni.com/manuals/f/)

5/6 www.ni.com
Carrires (http://france.ni.com/carriere)
Activer un produit ( Drivers (http://www.ni.com/downloads/drivers/f/)
http://sine.ni.com/myproducts/app/main.xhtml?lang=en)
Partenaires Alliance (http://www.ni.com/alliance/f/)
Informations sur les commandes et sur les paiements (
http://www.ni.com/howtobuy/f/)

AVANONS ENSEMBLE
NI quipe les ingnieurs et scientifiques pour relever les dfis d'un monde de plus en plus complexe.

(http://www.facebook.com/pages/National-Instruments-France/206379393863) (http://twitter.com/nifrance)

(http://www.ni.com/rss/) (http://www.youtube.com/nifrance)

Contacter NI (http://www.ni.com/contact-us/)

(//privacy.truste.com/privacy-seal/National-Instruments-Corporation/validation?rid=bc6daa8f-7051-4eea-b7b5-fb24dcd96d95)

Mentions lgales (http://www.ni.com/legal/) | National Instruments Corporation. Tous droits rservs. | Plan du site (
http://www.ni.com/help/map.htm)

6/6 www.ni.com

Vous aimerez peut-être aussi