Les nouveaux outils permettent de développer une IP de mesure et de la déployer sur de multiples éléments de traitement.
Ces 20 dernières années, le concept d’algorithmes de mesures sur microprocesseur et programmables par l’utilisateur s’est généralisé, permettant ainsi aux systèmes de test de s’adapter rapidement aux exigences personnalisées et en constante évolution. Cette approche est appelée l’instrumentation virtuelle, et, en raison de son succès, les fournisseurs continuent de chercher à optimiser les avantages qu’ils peuvent en tirer : une personnalisation accrue, une plus large utilisation des technologies « sur étagère », des performances plus élevées et des coûts de systèmes de test moindres.
Si le microprocesseur a déclenché la révolution de l’instrumentation virtuelle, le circuit FPGA (Field-Programmable Gate Array) l’a faite entrer dans une nouvelle phase. Les FPGA sont utilisés dans les instruments depuis des années. Par exemple, les oscilloscopes à bande passante élevée actuels collectent tellement de données qu’il est impossible pour les utilisateurs de toutes les analyser rapidement. Les algorithmes « définis par matériels » sur ces instruments, souvent implémentés sur des FPGA, effectuent l’analyse et la réduction de données (moyennage, traitement du signal et déclenchement), calculent des statistiques (moyenne, écart-type, maximum et minimum), et traitent les données à afficher, le tout pour présenter les résultats à l’utilisateur de façon pertinente. Si ces capacités présentent des avantages évidents, un certain potentiel se perd du fait de la nature fermée de ces FPGA. Dans la plupart des cas, les utilisateurs ne peuvent pas déployer leurs propres algorithmes de mesures personnalisés sur ce puissant matériel de traitement.
Circuits FPGA pour le test
Les FPGA programmables par l’utilisateur « ouverts », implantés sur les matériels de mesure offrent de nombreux avantages par rapport aux systèmes reposant seulement sur le processeur. Du fait de leurs immenses capacités de calcul, les FPGA peuvent offrir des cadences plus élevées et une plus grande couverture des tests, ce qui réduit les temps de test et les coûts. La faible latence des mesures exploitant le FPGA permet également de mettre en œuvre des tests qui ne sont pas possibles avec un simple microprocesseur. Leur parallélisme intrinsèque permet des tests réellement multisites, plus encore qu’avec des processeurs multicœurs. Enfin, le FPGA peut jouer un rôle essentiel dans le séquencement du matériel de test temps réel et dans le contrôle du matériel sous test.
En 2011, une étude de marché sur l’instrumentation modulaire conduite par la société de conseil et de recherche Frost & Sullivan a rapporté : “Les progrès réalisés par les entreprises Altera et Xilinx concernant les capacités des FPGA sont extrêmement utiles dans les applications de mesure et de test dans lesquelles les utilisateurs ont besoin de capacités de traitement rapides et hautement déterministes…” Les FPGA des systèmes de test étaient déjà une tendance abordée par Rapport d’étude 2010 du test automatique. Depuis, un nombre croissant de produits à base de FPGA ouverts sont proposés sur le marché par des fournisseurs de produits PXI.
Tandis que les solutions matérielles continuent d’arriver sur le marché, la plupart des algorithmes de test et de mesure (développés pour s’exécuter sur des microprocesseurs dans le contexte de la révolution de l’instrumentation virtuelle) sont tout simplement difficiles à porter sur FPGA en raison des types de données, des modèles de programmation, et des attributs spécifiques aux matériels comme les contraintes de cadencement. Le développement d’IP de mesure FPGA éprouvées et fiables demande énormément de savoir-faire et de temps. C’est la raison pour laquelle, à l’heure actuelle, la plupart des FPGA dans les matériels d’instrumentation n’utilisent que des algorithmes figés définis par le fournisseur et ne sont pas programmables par l’utilisateur.
Le Rapport d’étude 2011 du test automatique traitait du calcul hétérogène qui distribue des algorithmes entre toute une variété d’architectures (microprocesseurs, unités de traitement graphique, FPGA, et le nuage informatique ou cloud) afin de sélectionner la ressource optimale pour l’implémentation des algorithmes. En dépit de la puissance de son concept du point de vue de l’architecture matérielle, le calcul hétérogène se heurte à des obstacles spécifiques concernant la programmation de chacune de ces cibles, et la portabilité des algorithmes de mesures entre elles peut s’avérer difficile. Pour compliquer les choses, un récent sondage mené par NI auprès des leaders de l’ingénierie de test a établi que 54 % d’entre eux attendent que les prochaines avancées technologiques réduisent leur temps de développement, tout en augmentant les cadences de test et en diminuant les coûts des systèmes. Pour résoudre ce paradoxe, l’industrie relève tous ces défis au travers des améliorations apportées aux outils de développement qui promettent d’assurer la portabilité des algorithmes entre les cibles matérielles et de mettre les avantages des FPGA à la disposition de tous les ingénieurs développant des systèmes de test.
“En raison des besoins des entreprises qui exigent des plates-formes informatiques surpassant le « vénérable » microprocesseur, nous nous battons pour que nos paradigmes de programmation suivent le rythme. Fournir des outils offrant une interface de conception efficace au travers d’un large éventail de modèles de calcul, combinés avec la capacité de cibler plusieurs types de matériels de traitement, est un objectif crucial pour NI en matière d’investissement logiciel. »
– David Fuller, Vice President of Application and Embedded Software, National Instruments
Abstraction HDL
Le premier ensemble de ces outils garantit l’abstraction du langage de description de matériels (HDL). Les langages HDL décrivent le comportement d’un circuit FPGA au niveau du signal et des portes logiques de façon textuelle, et les abstractions HDL tentent de fournir une interface de conception de niveau plus élevé, souvent dans une représentation graphique ou schématique. Parmi ces outils, citons Xilinx System Generator for DSP, Mentor Graphics Visual Elite HDL, et le Module NI LabVIEW FPGA. S’ils réduisent considérablement l’obstacle que représente le HDL à l’adoption de la technologie FPGA, ils n’abstraient pas totalement certains attributs matériels de la conception FPGA comme le pipelining, l’arbitrage de ressources, l’architecture des tranches DSP, et les mémoires sur circuits intégrés. De ce fait, les algorithmes ont toujours besoin d’être retravaillés et revérifiés lorsqu’ils sont portés sur un FPGA, favorisant de nouvelles avancées au niveau des outils de développement.
Synthèse de haut niveau
Les outils de synthèse de haut niveau (HLS) permettent de concevoir des algorithmes à un niveau élevé et ensuite de spécifier indépendamment les attributs de performances pour une implémentation donnée comme la fréquence d’horloge, le débit, la latence et l’utilisation des ressources. Cette répartition garantit la portabilité des algorithmes car l’implémentation spécifique ne fait pas partie intégrante de la définition de l’algorithme. De plus, les développeurs d’algorithmes n’ont pas besoin d’intégrer des considérations spécifiques au matériel dans leurs conceptions (pipelining, arbitrage de ressources, etc.). Le concept de la synthèse HLS existe depuis plus de 20 ans, mais les outils sur le marché viennent seulement d’atteindre la maturité suffisante pour être viables. L’offre comprend Synopsys Synphony, Xilinx AutoESL, Cadence C-to-Silicon et Mentor Graphics Catapult C. Ces outils présentent de nombreux avantages par rapport aux abstractions HDL, mais ils ciblent uniquement les FPGA ou les ASIC et non les autres plates-formes informatiques telles que les microprocesseurs ou les unités de traitement graphique. Dans un effort pour pallier certaines limites des outils HLS, NI a récemment sorti un logiciel bêta qui allie le diagramme par flux de données familier de LabVIEW et les avantages de la HLS pour la conception FPGA. Cela promet d’ouvrir la voie à un grand nombre d’algorithmes de mesure et de contrôle LabVIEW en vue d’une implémentation sur FPGA, sans compromettre l’exécution du microprocesseur ni nécessiter de revoir la conception de l’algorithme de façon significative pour le déploiement sur FPGA. Comme il s’agit d’une version bêta, le logiciel n’est pas encore prêt pour une adoption massive, mais ses premiers résultats sont prometteurs.
Modèles de calcul
La dernière étape de l’évolution des outils de développement s’attache à associer la portabilité des mesures sur diverses cibles matérielles avec plusieurs modèles de calcul et interfaces de conception. Ces modèles de calcul peuvent inclure le diagramme par flux de données de LabVIEW, des diagrammes DSP pour le traitement des signaux multifréquences dans les applications RF et de communication, des mathématiques textuelles pour la saisie de formules ou des machines d’état pour la logique et les protocoles numériques. Prenons par exemple un système sur puce (SOC) de prochaine génération comme la plate-forme de traitement extensible Zynq de Xilinx qui allie un microprocesseur ARM double-cœur et un FPGA. Cette configuration matérielle offre un potentiel phénoménal pour le calcul hétérogène, mais sa programmation risque de s’avérer difficile car le microprocesseur et le FPGA requièrent des langages et des modèles de calcul distincts. Idéalement, les ingénieurs devraient disposer d’une multitude de modèles de calcul supportés pour l’ensemble des cibles, afin de concevoir les algorithmes le plus efficacement possible, et de les déployer ensuite sur la meilleure cible d’exécution pour une application donnée. En l’occurrence, “meilleur” peut vouloir dire très hautes performances, meilleur rapport qualité/prix ou encore plus grande rapidité de mise dur le marché : tout dépend des exigences de l’entreprise. Les outils qui fonctionnent avec des modèles de calcul indifférents au matériel sont en cours de développement et s’appuient bien évidemment sur les besoins actuels des développeurs de systèmes de test.
Si les algorithmes de mesure indépendants du matériel et les outils de synthèse de haut niveau ne se sont pas encore généralisés, les FPGA sont de plus en plus répandus au sein des systèmes de test automatique. Les atouts des FPGA dans le monde du test valent déjà l’investissement accru dans bon nombre d’applications ; par ailleurs, à mesure que les outils logiciels se perfectionnent et que la complexité diminue, le nombre de ces applications ne peut qu’augmenter. De la même manière que les microprocesseurs ainsi que les environnements de développement logiciels et les algorithmes de mesure associés ont amorcé la révolution de l’instrumentation virtuelle, les FPGA programmables par l’utilisateur et les nouveaux outils logiciels vont déclencher la nouvelle révolution de la conception graphique de systèmes, ouvrant la voie aux systèmes de test du futur.
Réagissez à cet article
Vous avez déjà un compte ? Connectez-vous et retrouvez plus tard tous vos commentaires dans votre espace personnel.
Inscrivez-vous !
Vous n'avez pas encore de compte ?
CRÉER UN COMPTE