La technologie FPGA offre grande souplesse d’adaptation aux besoins de l’utilisateur, et les dernières générations de FPGA permettent l’intégration de systèmes complets grâce à des ressources toujours plus sophistiquées et une capacité croissante.
Date: 19 avril 2011
Expertises:
Evolutivité des systèmes embarqués et réseaux IoT ⊕
Depuis plusieurs années, le CETIC a recours à la technologie Logique programmable pour les projets de recherche comme pour ses missions auprès des entreprises. En effet, celle-ci offre une grande souplesse d’adaptation aux besoins de l’utilisateur, et les dernières générations de Logique programmable permettent l’intégration de systèmes complets grâce à des ressources toujours plus sophistiquées et une capacité croissante. Le département Internet des Objets entretient constamment cette expertise afin de pouvoir répondre aux demandes de R&D dans ce domaine. Cette expertise couvre différents volets tels que l’accélération matérielle d’applications, le développement d’architecture et le prototypage rapide.
Le CETIC étudie l’optimisation d’algorithmes, issus d’applications logicielles industrielles, par accélération sur une carte intégrant un FPGA haute densité, un espace mémoire DDR3 et l’interface PCIe. Dans le cadre du projet de recherche appliquée PSOPP par exemple, l’exécution de fonctions critiques du logiciel initial, consommatrices de temps, est déportée du CPU vers le FPGA après migration du code d’origine en langage VHDL. Les traitements, ainsi parallélisés, sont intégrés dans le FPGA ainsi que les fonctions d’accès à la mémoire et l’interface PCIe de la carte.
Une autre illustration de l’expérience du CETIC en terme d’accélération sur FPGA concerne l’étude de l’accélération des opérations de la librairie BLAS. Celle-ci a été réalisée dans le cadre du projet CANAPE en 2005.
Cette expertise est illustrée à travers l’étude du QRNG, générateur quantique de nombres aléatoires haut débit. Le recours à la technologie FPGA a permis d’optimiser les performances, les ressources matérielles et par là le coût global du système. Le QRNG est connecté au réseau par un accès Ethernet 10G et doit délivrer des flux de nombres aléatoires à 4Gb/s à plusieurs clients simultanément. Les développements FPGA ont porté sur deux fonctions critiques
La première concerne un test statistique effectué en permanence sur le flot des nombres aléatoires pour détecter un défaut sur la source et interrompre immédiatement le flux d’aléas. La mise en œuvre de ce test en FPGA s’est révélée comme étant la meilleure solution compte tenu du débit élevé du flux des données et de la contrainte forte de temps réel.
Ensuite l’étude de l’interface réseau pourvue d’un accès 10Gbit Ethernet pour la distribution des aléas sur plusieurs milliers de connexion TCP/UDP a donné lieu à l’évaluation et l’intégration d’un bloc IP complexe (TCP Offload Engine) dans le FPGA. Plusieurs sources ont été évaluées d’une part en réalisant des tests de performance, et d’autre part en estimant la fiabilité du vendeur selon la méthode d’évaluation définie par l’alliance VSI. Bien que l’alliance n’existe plus aujourd’hui, la méthode de qualification IP a été très utile. En effet, celle-ci est basée sur une checklist de questions auxquelles répondent le client et le fournisseur. Elle passe en revue différents aspects relatifs au fournisseur lui-même, à la méthodologie de conception et à la facilité d’intégration de l’IP.
Le développement d’une carte FPGA générique, il y a quelques années, a offert la possibilité de répondre à des demandes concernant la mise en œuvre rapide de systèmes électroniques programmables avec une plate-forme prête à l’emploi.
Voir : Carte FPGA générique