Journée technique Du contrôle d instruments au banc de test
Processeur, FPGA, GPU : quelle approche est la mieux adaptée au traitement de données National Instruments France
Au programme Les différents moyens pour traiter les données Avantages des FPGA dans les systèmes de test Exemples applications : Matériels Technologies employées Démonstrations Avantages des FPGA pour les applications Code Conclusion
La loi de Moore... Le nombre de transistors double tous les 18 mois Les performances des processeurs doublent tous les 18 mois
Les architectures parallèles boostent les performances 5,000 6.737 TMACS 5,000 500 500 Performance FPGA (GMACs) FPGAs 50 CPUs 50 Performance CPU GFLOPs) 5 5 1997 1999 2001 2002 2004 2005 2006 2009 2010 2011
Les défis de la programmation de composants parallèles La loi de Moore bride l augmentation des cadences d horloges Limite en puissance La loi de Moore autorise l augmentation du nombre de transistors Nous disposons de plus de cœurs par CPU Mais toujours à la même vitesse Mais pour profiter, exploiter ces plusieurs cœurs Un changement draconien doit se profiler La programmation parallèle
LabVIEW tire son épingle du jeu LabVIEW simplifie la programmation parallèle Les situation de compétition apparaissent de manière transparente LabVIEW gère aisément le parallélisme de tache Les applications typiques disposent en général de moins de 10 taches De nouvelles fonctionnalités sont apportées régulièrement pour favoriser le parallélisme des données
Les conceptions de matériel parallèle sont en pleine évolution Les CPUs Ajout lent de nouveaux cœurs Traitements graphiques intégrés sur la puce o Afin de disposer du marché des cartes graphiques entrée de gamme De meilleures capacités de vectorisation o Deux nouveaux jeux d instructions de vecteurs disponibles Les GPU : de plus en plus de cœur Aujourd hui : des centaines de cœurs Les communautés HPC/traitement parallèle migrent vers les GPU La conception des GPU commence à supporter les différents modèles de programmation o Fast DP floats, ECC memory, C++, adressage 64-bit
Les GPU, nativement multi coeurs Les cartes d aujourd hui disposent de centaines de cœurs Les GPU sont 10x plus rapides que les CPU o NVIDIA Tesla C2050: o Intel Core i7: ~500 GFLOPS ~50 GFLOPS Rapport prix/performance peu élevé De nombreuses sources offrent des performances hors du commun La meilleure utilisation est pour le traitement classique et parallèle d algorithme de données Grandes matrices, jeux de données denses Dédiée à l utilisation conjointe d un CPU Pas totalement universel
Les inconvénients du GPU: Le modèle de programmation est différent d un CPU Le modèle de programmation des GPU est différent de celui des CPU Des grilles de blocs de threads remplacent les boucles Une hiérarchie de mémoire pour le cache partagé Tous les algorithmes ne fonctionnent pas bien sur les GPU Les traitements parallèles, les algorithmes classiques tournent très bien L accès aléatoire à la mémoire peut limiter les performances Mais le gain en performances est valable Certains efforts conséquents peuvent s avérer très rentables!
Et les FPGA?
Technologie FPGA Interconnexions programmables Blocs logiques Blocs d E/S
FPGA : implémentation logique E Implémentation logique sur un FPGA : F = {(A+B)CD} E Code LabVIEW FPGA F A B C D
Haute fiabilité et déterminisme Prise de décision logicielle Crash possible UUT Réponse ~25 ms Sorties Matériel Système d exploitation Driver API Logiciel d application Calcul
Haute fiabilité et déterminisme Prise de décision matérielle en FPGA UUT Déterminisme parfait Réponse 25 ns Sorties Matériel Calcul Système d exploitation Driver API Logiciel d application Fiabilité
Les apports du FPGA dans le test Haute fiabilité La conception est directement implémentée dans le matériel Faible latence Les algorithmes peuvent tourner à des taux déterministes de l ordre de 5 ns Reconfigurable Créez des personnalités spécifiques à votre UUT/application Haute performance Les capacités de calculs ouvrent de nouvelles possibilités pour la vitesse de mesure et de traitement des données Parallélisme véritable Permet des tâches parallèles et le pipelining, réduit également le temps de test
FPGA vs CPU Les protocoles personnalisés L acquisition de données avancée le traitement du signal La gestion du cadencement Les E/S bas niveau Le contrôle/commande déterministe L enregistrement de données La réplication et le déploiement Le support du multicœur FPGA Processeur temps réel (multicœur)
Complexité FPGA Comparatif CPU, GPU et FPGA RT-GPU CPU GPU CPU ou GPU ---------- Puissance vs. $$$ 10 ms 100 ms 1 ms 1 s Temps de cycle maximum autorisé
Architecture d un système de test défini par logiciel Modèle standard d instrumentation virtuelle NI LabVIEW Driver Bus d interface et contrôle d E/S Connecteur pour la mesure analogique ou numérique Logiciel Matériel 10011011
Architecture d un système de test basé FPGA Modèle d un système basé FPGA LabVIEW Driver Bus d interface/ FPGA programmab le Connecteur pour la mesure analogique ou numérique Logiciel Matériel NI L intelligence du système et la prise de décision peuvent être déplacées du logiciel vers le matériel
Comment programmer un FPGA VI VHDL Compilation Optimisation LabVIEW FPGA Xilinx Synthèse Optimisation BitStream 1001100011100110001110011 0001110011000111001100011 1001100011100110001110011 0001110011000111001100011 10011000111001100011
Comment programmer un FPGA VI VHDL Compilation Optimisation LabVIEW FPGA Xilinx Synthèse Optimisation BitStream 1001100011100110001110011 0001110011000111001100011 1001100011100110001110011 0001110011000111001100011 10011000111001100011
Comment programmer un FPGA VI VHDL Compilation Optimisation LabVIEW FPGA Xilinx Synthèse Optimisation BitStream 1001100011100110001110011 0001110011000111001100011 1001100011100110001110011 0001110011000111001100011 10011000111001100011
Le test électrique aujourd hui Acquérir, transférer, traiter Fonctionnalité figée, déclenchement et enregistrement Boucle ouverte, données de stimulus/réponse Vecteurs de test et outils de synthèse et d analyse de waveform
Les apports du FPGA dans le test Haute fiabilité La conception est directement implémentée dans le matériel Faible latence Les algorithmes peuvent tourner à des taux déterministes de l ordre de 5 ns Reconfigurable Créez des personnalités spécifiques à votre UUT/application Haute performance Les capacités de calculs ouvrent de nouvelles possibilités pour la vitesse de mesure et de traitement des données Parallélisme véritable Permet des tâches parallèles et le pipelining, réduit également le temps de test
Les méthodes de test basé FPGA Temps réel, mesures continues Déclenchement et acquisition personnalisées Boucle fermée et test dynamique Émulation de protocoles
Les apports du FPGA dans le test Les méthodes de test basées FPGA Déclanchement et acquisition personnalisés Temps réel, mesures en continu Haute fiabilité La conception est directement implémentée dans le matériel Faible latence Les algorithmes peuvent tourner à des taux déterministes de l ordre de 5 ns Reconfigurable Créez des personnalités spécifiques à votre UUT/application Hautes performances Les capacités de calculs ouvrent Hautes de performances nouvelles possibilités pour la vitesse de mesure et de traitement des données Parallélisme véritable Permet des tâches parallèles Parallélisme et le pipelining, véritable réduit également le temps de test Emulation de protocoles Boucle fermée et test dynamique
Un protocole numérique simple : I 2 C 010ZZ01 Générateur de pattern SDA SCL Circuit intégré 0101101 Analyseur de logique Approche traditionnelle Stimuli statiques et réponse attendues Difficilement adaptable aux cas multihorloges
Un exemple numérique simple : I 2 C Adresse, Données, Adresse, Recoit Testeur Protocol-Aware SDA SCL Circuit intégré Données de réponses Approche Protocol-Aware Intelligence contenue dans le testeur Gestion des temps d attente Gestion simplifiée de la cohabitation de plusieurs domaines temporels Tests avec des commandes de haut niveau Scénario réaliste Facile à programmer
Communication numérique Exemple : SPI
La carte NI FlexRIO PXI/PXIe Module Adaptateur NI FlexRIO E/S interchangeables Numérique ou analogique Kit de développement de Module Adaptateur NI FlexRIO (MDK) Module FPGA NI FlexRIO Virtex-5 FPGA 132 lignes numérique d E/S Jusqu à 512 Mo de DRAM Plate-forme PXI Synchronisation Horloge/Déclenchement Alimentation/Refroidissement Transfert de données
Options du Module Adaptateur NI FlexRIO Modules NI Modules tiers Modules personnalisés Complete integration with LabVIEW FPGA R Series-like experience Étendre la gamme d E/S de NI Modules personnalisés spécifiques à votre application Nécessite le design de PCB et des compétences HDL Supporté via le MDK
Les modules adaptatieurs Numérique Analogique 100 Mbps SE DIO 300 Mbps LVDS DIO 2 ch. 1.6 GS/s, 12-bit AI 2 ch. 3 GS/s, 8-bit AI 2 ch. 100 MS/s, 14-bit AI / 16-bit AO 300 Mbps SE/LVDS DIO 1 Gbps LVDS DIO 4 ch. 250 MS/s, 14-bit AI 2 ch. 250 MS/s, 16-bit AI 32 ch. 50 MS/s, 12-bit AI 16 ch. 50 MS/s, 14-bit AI Camera Link RS-485/422 2 ch. 40 MS/s, 12-bit AI 2 ch. 80 MS/s, 14-bit AI 2 ch. 120 MS/s, 16-bit AI 4 ch. 120 MS/s, 16-bit AI
Modules de partenaires NI FlexRIO 100 MHz PPMU Camera Link and GigE Multi- Gigabit Optical Dual Gigabit Ethernet Video and Automotive
Kit de Développement de Module Adaptateur NI FlexRIO (MDK) Fichiers CAD Schémas détaillés Documentation du matériel Description des broches et options de puissance Documentation au niveau logiciel Développe des Component-Level IP (CLIP) Utilisation des modules adaptateurs avec LabVIEW FPGA Protocole d identification Exemple TBC, VHDL, UCF et fichiers XML Des boîtiers de module en métal Un boîtier ajouré et trois boîtiers blancs D autres boîtiers peuvent être acquis séparément
L architecture NI FlexRIO P2P Débit >800 Mo/s dans une direction >700 Mo/s dans les deux directions Latence ~10 us Jusqu à 16 flux par FPGA
Les instruments pour le streaming P2P Numériseur NI PXIe-5122 Deux voies 14 bits, 100 Méch./s Bande passante : 100 MHz 400 Mo/s en streaming vers la NI PXIe FlexRIO VSA NI PXIe-5665 20 Hz à 14 GHz 16 bits, 150 Méch./s Bande passante : 50 MHz 250 Mo/s en streaming vers la NI PXIe FlexRIO Numériseur NI PXIe-5622 IF 16 bits, 150 Méch./s Bande passante : 3 250 MHz Bande passante DDC de 60 MHz 300 Mo/s en streaming vers la NI PXIe FlexRIO, I/Q, ou dans le domaine temporel
Les instruments pour le streaming P2P NI PXIe-5450/51 Arb Deux voies 16 bits, 400 Méch./s Bande passante de 145 MHz 800 Mo/s en streaming depuis la PXIe NI FlexRIO NI PXIe-5663 VSG 85 MHz à 6,6 GHz 16 bits, 400 Méch./s Bande passante>100 MHz 800 Mo/s en streaming depuis la PXIe NI FlexRIO
Programmation P2P VI Hôte FPGA #1 (Ecriture) FPGA #2 (Lecture)
Déclenchement dans le domaine fréquentiel NI-RFSA PXI Trigger Peer-to-Peer (P2P) Stream
Déclenchement dans le domaine fréquentiel Temps réel, mesures continues Déclencheme nt et acquisition personnalisés Boucle fermée et test dynamique Émulation de protocole
Code: Déclenchement dans le Domaine Fréquentiel
Mesures spectrales en temps réel RF
Analyse spectrale Balayage de spectre FFT Temps réel
Analyseur de spectre temps réel Temps réel, mesures continues Déclencheme nt et acquisition personnalisés Boucle fermée et test dynamique Émulation de protocole
Applications de test basées FPGA Temps réel, mesures continues Coprocessing FFT Déclenchement et acquisition personnalisés Analyseur de spectre temps réel Frequency-Domain Trigger Testeur HDMI, RFID Emulation de voie Boucle fermée et test dynamique Testeur «protocolaware» Émulation de protocole Radio définie par logiciel, BERT numérique et analogique
Le FPGA pour le test RF Fréquence : jusqu à 6 GHz 80 MHz de bande d analyse Support des derniers standards dont le 802.11ac Génération, analyse et E/S numériques intégrées Faibles coût, consommation et encombrement Basé sur l architecture RIO
Conclusions Les FPGA permettent et améliorent les performances pour un très grand nombre d applications de test hautes performances LabVIEW FPGA représente un paradigme matériel puissant pour le test et les ingénieurs systèmes
Questions?