Illustration de l’usage de FPGA

Une technologie permettant l’accélération matérielle et le prototypage

Illustration de l’usage de FPGA

Une technologie permettant l’accélération matérielle et le prototypage

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.

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.

Accélération matérielle d’applications logicielles

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.

Parallélisation sur FPGA

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.

Conception d’architecture adaptées à base de FPGA

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.

Prototypage Rapide

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