Portage de l’environnement de simulation d’un composant FPGA développé pour l’aéronautique (DO254-A) vers un banc de validation physique

Francis RAGUIN, Barco Silex

"À l’aide de LabVIEW FPGA, il a été possible d’intégrer ce code sans aucune modification tout en ajoutant les interfaces nécessaires pour gérer les échanges entre le bus PXI et le PC de test."

- Francis RAGUIN, Barco Silex

Le défi

Effectuer la vérification physique d’un composant FPGA en réutilisant son environnement de simulation virtuel, suivant un flot de méthodologie DO 254 niveau A (recommandation de développement des composants matériels destinés aux équipements aéronautiques).

La solution​

Concevoir un système de test à l’aide d’un châssis PXI-1073 équipé de deux cartes FlexRIO PXIe-7962R associées à deux NI 6581 ayant les mêmes caractéristiques que l’environnement de simulation du composant à vérifier. Programmer les FPGA des cartes FlexRIO avec LabVIEW FPGA afin d’intégrer les constituants du banc de test virtuel. Gérer l’échange des données avec le matériel PXI et générer l’ensemble des patterns de tests et les fiches de résultats associées.

Filiale du Groupe Barco, Barco Silex est une société d'études en électronique réalisant des développements Hardware sur cahier des charges (ASIC, FPGA et cartes embarquées) et proposant une gamme de produits IP-cores dans les domaines de la Vidéo (compression, traitement et transport) et de la Cryptographie (AES, Public Key, solutions de contre-mesures). Barco Silex possède également une expertise forte et une expérience de plus de 10 ans dans les développements d'ASIC et de FPGA sous recommandation DO-254 pour des clients prestigieux comme Airbus, Safran, Thales, etc.

 

 

La vérification de composants FPGA et ASIC est réalisée à l’aide d’outils de simulation permettant d’en assurer le bon comportement fonctionnel.

Ce type de vérification permet de tester un FPGA à partir de sa représentation RTL (Register Transfer Level - description de l’architecture), ainsi qu’au niveau portes logiques (Gate Level), tout en intégrant les notions de délais associées.

 

Elle est ainsi basée sur la mise en œuvre de modèles des éléments qui constituent le FPGA (portes logiques, Pll, mémoires, etc.). Cette approche nécessite cependant d’apporter la preuve du bon comportement physique de ce composant (le silicium) afin de satisfaire les exigences de la DO254 niveau A.

 

Barco Silex a donc développé un banc de test mettant en œuvre du matériel National Instruments ainsi qu’un PCB réalisé sur mesure afin de reproduire l’environnement de vérification virtuel, au niveau physique, tout en tirant parti des activités de simulation déjà réalisées.

 

Un jeu de procédure de test unique

À l’aide d’un programme développé en langage Perl, le banc de test virtuel décode les procédures à jouer décrites sous forme d’instructions, afin de piloter un moteur de test, ainsi que les interfaces du composant à vérifier. LabVIEW permet d’appeler ce programme Perl et autorise l’utilisation des mêmes vecteurs de test que ceux joués sur le banc de test virtuel.

 

Ainsi, le jeu de procédure écrit et validé pour simuler le FPGA peut être utilisé sans aucune modification sur le banc de test physique.

 

Une architecture commune

L’architecture du moteur de test, développée et validée par Barco Silex, ainsi que les interfaces avec le composant à vérifier, sont écrites en langage VHDL et interprétables par le simulateur utilisé pour la vérification virtuelle du FPGA. La spécification et la conception de cet environnement ont intégré comme contrainte la portabilité vers l’architecture matérielle National Instruments.

 

Ce code VHDL est utilisé dans les cartes FlexRIO afin de produire un environnement identique pour la réalisation du test physique. À l’aide de LabVIEW FPGA, il a été possible d’intégrer ce code sans aucune modification, tout en ajoutant les interfaces nécessaires pour gérer les échanges entre le bus PXI et le PC de test.

 

 

Des outils flexibles

Ainsi, il a été possible de combiner trois types de description du matériel de la carte FlexRIO : l’utilisation des IP intégrées à LabVIEW FPGA, l’utilisation de la génération de code VHDL depuis l’interface graphique LabVIEW FPGA et l’intégration de code VHDL réalisé selon les standards Barco Silex. Cela permet à l’utilisateur de tirer le meilleur parti de chacune de ces trois solutions et de les intégrer dans un même environnement.

 

Une mise au point facilitée

Grâce aux exemples de mise en œuvre des blocs IP de LabVIEW FPGA, il a été possible de mettre rapidement au point des mécanismes d’échange de données sur le bus PXI.

 

Par ailleurs, la partie code VHDL spécifique réalisée par Barco Silex était déjà validée sur l’environnement de test d’origine.

L’intégration des différents éléments, aussi bien matériels que logiciels, a été possible en ajoutant des indicateurs tout au long de la chaîne de traitement, à savoir dans les FPGA des cartes FlexRIO et dans l’applicatif LabVIEW.

 

Une adéquation précise aux exigences de la DO-254 et un gain de temps considérable

Le banc de test physique réalisé permet d’obtenir les mêmes performances que le banc de test virtuel, à savoir une fréquence de génération/acquisition des signaux à 100 MHz, tout en délivrant les résultats des essais 30 fois plus rapidement qu’à l’aide d’un simulateur.

 

De plus, le taux de couverture du code VHDL obtenu dans l’environnement de simulation virtuel du FPGA peut être appliqué directement au silicium du FPGA pour l’environnement de validation physique de celui-ci. Il est donc possible de fournir les métriques qui permettent de démontrer l’exhaustivité de la vérification réalis ée sur carte.

 

Enfin, la solution proposée a passé avec succès les audits SOI#1, SOI#2 et SOI#3 en vue de la certification d’une application aéronautique la mettant en œuvre.

Novembre 2014

 

Informations sur l’auteur

Francis RAGUIN
Barco Silex
Z.I. Rousset Peynier – Immeuble CCE – Route de Trets
13790 Peynier
France
Tel: +33 (0)4 42 16 41 08
francis.raguin@barco.com

L’ensemble de test est composé d’un châssis PXIe-1073 équipé de 2 PXIe-7962R associées à 2 NI 6581. Avec une fréquence d’acquisition de 100 MHz max., elles permettent le monitoring des différents signaux d’entrée ou de sortie du FPGA.
Exécution de l’ensemble des procédures de vérification du FPGA : 64,5 h par simulation du composant au niveau portes logiques vs 2 h par test physique du composant. Le gain de temps est de l’ordre d’un facteur 30.
Le banc de test virtuel et le banc de test physique acceptent les mêmes données d’entrées et génèrent le même type de données de sorties. Les procédures de tests peuvent donc être écrites en commun pour les deux.