|
 |
 |


|
 |
 |
Les microcontrôleurs 32 bits sont sous le charme des coeurs Arm
Les multimètres de table
Autosar et UML
Le marché classé de l'électronique
|
 |
|
|





 |
|
Abréviations, expression inédite, évolution du vocabulaire, le lexique d'Electronique International vous explique l'électronique et son environnement !
|
 > tout le lexique |
|

|
|
 |

Les plates-formes de prototypage d'Asic à base de FPGA
François Gauthier
[ DOSSIER ]
Les plates-formes de prototypage d'Asic à base de FPGA
La puissance disponible sur les plates-formes de prototypage d'Asic, via les FPGA de dernière génération, associée aux outils logiciels proposés par les fournisseurs de tels systèmes en font désormais des solutions de choix pour la
vérification d'une conception, à la fois sur les plans matériel et logiciel.
François Gauthier
, Electronique Mensuel,
le 18/05/2007 à 07h00
Réaliser le prototypage de la conception d'un Asic sur une cible à base de FPGA est une approche qui gagne du terrain, chaque année, auprès des équipes de conception d'Asic et de SoC. Une étude menée en 2004 par Sinplicity, éditeur de
solutions de synthèse (Synplify), de débogage (Identify) et de partitionnement (Certify) sur FPGA, montrait déjà que plus d'un tiers des conceptions d'Asic étaient vérifiées par l'entremise d'un prototypage à base de FPGA. Aujourd'hui, on est sans
doute plus près du chiffre de 50 %, tant il semble que le marché s'oriente vers ce type de solution. En effet, bien qu'il n'existe pas de chiffres officiels concernant le secteur des systèmes de prototypage d'Asic, on estime qu'il représente
aujourd'hui environ 800 M$, chiffre obtenu à partir des ventes de FPGA haut de gamme de Xilinx et Altera, utilisés pour la majorité d'entre eux sur ces systèmes, qu'il s'agisse de solutions commerciales sur étagère ou de solutions développées
en interne par les équipes de conception. Un chiffre à comparer aux 160 M$ du marché de l'émulation (chiffre officiel cette fois-ci, issus de l'EDA consortium pour 2006) avec qui certains systèmes de prototypage haut de gamme commencent à
entrer en concurrence.
Reste que le marché du prototypage d'Asic est très éclaté, une multitude de sociétés dans le monde proposant des solutions. Parmi elles, seule une dizaine (celles rassemblées sur les tableaux) présente une offre matériel/logiciel
complète qui va au-delà d'une
« simple »
carte à base de FPGA. Quant au numéro un du secteur, c'est le français Eve Engineering. Avec un effectif de 80 personnes, avec des filiales aux Etats-Unis, au
Japon et récemment en Inde, la société, créée en 2000, a réalisé un chiffre d'affaires de l'ordre de 20 M d'euros en 2006, soit le double de celui de 2005, des chiffres révélateurs de l'attrait actuels des industriels pour les solutions de
prototypage à base de FPGA. Dans ce paysage, il ne faut pas non plus oublier les sociétés qui proposent leurs services à partir de systèmes qu'ils ont développés en interne, comme par exemple l'allemand AMO, ou encore le français Scaleo chip qui
offre des solutions d'accompagnement du développement de systèmes multicoeurs à base de processeurs Arm grâce, notamment, à sa plate-forme de prototypage FCM3.
Pallier les inconvénients de la simulation et de l'émulation
L'origine de l'engouement pour les technologies de prototypage est liée à la conjonction de plusieurs phénomènes. En premier lieu, la complexité croissante des Asic et SoC nécessite des stratégies de vérification de plus en plus
élaborées, avec le souhait de pouvoir vérifier son design à des vitesses élevées, proches du monde réel, pour valider à la fois le matériel et le logiciel embarqué. Or, avec la simulation RTL classique, les vitesses de calcul obtenues, de quelques
hertz, empêchent de facto la vérification de l'ensemble d'une conception. Les solutions d'accélération matérielle améliorent cet état de fait, mais ne le résolvent pas. A l'autre bout du spectre des outils de vérification, les émulateurs ont
l'avantage d'offrir des vitesses de vérification nettement supérieures, tout en conservant un degré élevé de visibilité sur les signaux. Mais les vitesses proposées par ces équipements, de 500 kHz à 2 MHz, sont encore insuffisantes et
surtout leur prix d'achat est trop élevé pour permettre un déploiement à grande échelle au sein des équipes de conception (figure). Face aux inconvénients inhérents à ces technologies classiques, le prototypage d'Asic basé sur FPGA prend tout son
sens, car il permet de vérifier une conception à des vitesses nettement plus élevées, de 10 à 20 MHz, compatibles avec les besoins liés à la vérification d'un système complet (matériel et son logiciel embarqué) et ce pour des prix de deux à dix
fois inférieurs à ceux des émulateurs.
En second lieu, la popularité croissante des solutions de prototypage est liée à l'extraordinaire avancée technologique des FPGA, dont les performances et les richesses fonctionnelles actuelles étaient inenvisageables il y a quelques
années. La complexité des circuits logiques programmables les plus avancés au milieu des années quatre-vingt-dix ne dépassait pas par exemple 30 000 portes logiques, pour une vitesse de fonctionnement de 30 à 50 MHz. Alors qu'aujourd'hui
un circuit comme le Virtex-4 de Xilinx offre 30 millions de portes logiques, une vitesse de fonctionnement supérieure à 200 MHz, sans compter l'intégration d'interfaces rapides (comme PCI Express), un nombre de blocs mémoire élevé et la
présence de coeurs de processeurs, tel le PowerPC 405. Cette richesse fonctionnelle, rendue possible par la maîtrise des technologies de fabrication en 90 et 65 nm (et bientôt 45 nm), permet désormais la synthèse de conception d'Asic
complexe au sein d'une logique programmable.
Enfin, la troisième tendance qui pousse au déploiement de ces solutions est la place de plus en plus importante prise par le logiciel dans les conceptions de circuits : système d'exploitation embarqué, pilotes logiciels de bas
niveau, code applicatif. Autant de blocs logiciels qu'il est vital de déboguer le plus en amont possible dans le cycle de conception d'un circuit, ce qu'autorisent à un coût raisonnable, donc utilisables par différentes équipes de développement
logiciel et matériel d'un circuit, les systèmes de prototypage. Avec cette technologie, on peut par exemple vérifier un circuit de compression/décompression d'images vidéo en analysant directement la qualité de l'image produite, une approche
inenvisageable avec les autres techniques de vérification. Autre avantage, on peut
« booter »
en quelques secondes un système d'exploitation installé sur un coeur de processeur synthétisé sur une
plate-forme de prototypage, alors qu'il faut plusieurs minutes sur un émulateur classique. D'où des gains importants pour les temps de vérification, une donnée à ne pas négliger tant ils explosent sur les circuits complexes.
Aujourd'hui, les niveaux de performances atteintes par les systèmes de prototypage permettent donc de traiter un Asic ou un SoC dans sa totalité, même si le partitionnement du fichier RTL sur plusieurs FPGA reste une opération
délicate (voir article suivant). Avec un bémol toutefois : pour les circuits de plus de 10 millions de portes, l'émulateur demeure encore la solution de choix. Mais peut-être plus pour très longtemps. Car celui-ci est de plus en plus
concurrencé par la montée en puissance des systèmes de prototypage haut de gamme qui arrivent sur le marché. Ainsi, l'américain The Dini Group propose, avec son système DN8000K10, une capacité de 24 millions de portes équivalentes Asic grâce à
l'agrégation de 16 FPGA Virtex-4 sur une seule carte. De son côté, Eve Engineering vient d'annoncer en début d'année son système Zebu-XXL (photo), basé sur des Virtex-4 LX200 et capable de gérer jusqu'à 100 millions de portes équivalentes Asic à des
vitesses allant jusqu'à 20 MHz. Un équipement destiné à la vérification de processeurs haut de gamme ou de circuits graphiques, dans lesquels la vérification ou logiciel est très importante. Car le modèle Zebu-XXL fonctionne aussi bien en mode
transaction, qu'en mode émulation in circuit ou encore avec le testbench synthétisé dans l'équipement. Enfin, l'israélien Gidel propose lui aussi, avec son système Proc_SoC, une capacité de 100 millions de portes équivalentes Asic mais avec, selon
la société, des vitesses de vérification records atteignant 100 MHz ; ceci grâce à une technologie de lien spécifique entre les 20 Stratix II EP2S180 d'Altera, répartis deux par deux sur les dix cartes constituant l'équipement.
Un handicap : la faible visibilité des signaux
Reste un problème de taille avec les systèmes de prototypage : la faible visibilité des signaux internes à la logique programmable, induisant des difficultés de débogage non négligeables. Il est certain qu'il existe un compromis
à trouver entre la vitesse de fonctionnement d'un système et les degrés de visibilité des signaux. La simulation, qui est la technologie la plus lente, donnant accès à la totalité des données sur les signaux, et la plus rapide, le prototypage,
empêchant un accès aisé à l'évolution des signaux internes du FPGA dans le temps (figure).
Néanmoins, différentes techniques tentent de pallier ce handicap. La plus ancienne consiste à embarquer dans le FPGA de l'instrumentation appropriée (analyseur logique, trigger...), afin de visualiser l'évolution de l'état des
signaux pendant le déroulement d'une session de vérification. Des sociétés comme le français Temento Systems, avec son outil DiaLite, qui a des accords de partenariats avec certains fournisseurs de solutions de prototypage, l'américain Synplicity,
avec son outil Identify, ou encore Xilinx, avec son logiciel ChipScope, vont dans cette direction. Les fournisseurs de systèmes de prototypage eux-mêmes proposent de telles approches : par exemple, l'américain Dynalith avec un bloc IP d'analyse
logique embarqué, ou encore Eve qui a développé une technologie de capture des états du design sans recompilation, la possibilité d'embarquer des déclenchements et le support d'assertions synthétisables écrites en SystemVerilog.
Des approches novatrices apparaissent aussi sur le marché, toujours dans le but d'améliorer sensiblement la visibilité des signaux au sein du silicium. Ainsi, la technologie mise au point par Novas, dénommée Siloti, qui consiste à
identifier dans une conception les signaux importants au niveau du code RTL (les signaux
« essentiels »
) puis, grâce à une technique d'expansion des données, à reconstituer le comportement des signaux
dans le design. Pour sa part, Synplicity propose avec TotalRecall une technique de duplication de tout ou partie d'un design en cours de vérification dans le FPGA, puis d'enregistrer l'évolution des signaux dans un registre mémoire dédié, signaux
que l'on peut alors faire rejouer dans un simulateur classique.
Enfin, signalons que le récent rachat de la société Tharas Systems, spécialisée dans l'accélération matérielle, par Eve Engineering ouvre encore une autre voie. Il s'agirait cette fois-ci de développer un compilateur commun à
l'accélérateur et au système de prototypage, respectant au plus près la hiérarchie du design. Une approche qui permettrait d'aller facilement de l'accélération, pour mieux déboguer la conception grâce à une excellente visibilité des signaux, à la
plate-forme de prototypage, pour vérifier à des vitesses rapides le composant et son logiciel dans un environnement réel.
|
|
 |
|