260 likes | 378 Views
Laboratoire d'Electronique des Systémes TEmps Réels LESTER / CNRS FRE 2734. Reconfiguration dynamique faible coût de systèmes électroniques connectés en réseau. - GDR ADAPT, Fribourg le 14 février 2008 Pierre Bomel (UBS), Guy Gogniat (UBS), Jean-Philippe Diguet (CNRS). PLAN
E N D
Laboratoire d'Electronique des Systémes TEmps Réels LESTER / CNRS FRE 2734 Reconfiguration dynamique faible coût de systèmes électroniques connectés en réseau. - GDR ADAPT, Fribourg le 14 février 2008 Pierre Bomel (UBS), Guy Gogniat (UBS), Jean-Philippe Diguet (CNRS)
PLAN Problématique et enjeu de la reconfiguration dynamique Etat de l’art en endo-reconfiguration « réseau » Contribution Résultats Perspectives et conclusion
Reconfiguration de systèmes électroniques Logiciel Mise à jour de la base de programmes disponibles. (microprocesseurs) Matériel Mise a jour du contenu de circuits reconfigurables (FPGAs) Mémoire FLASH PROM … Via un réseau Disque dur Des systèmes de plus en plus génériques et complexes Problématique et enjeu
FLASH reset microprocesseur μproc mémoire mémoire Disque dur Migration du processeur dans le FPGA port Zone reconfigurable dynamiquement Au reset Réseau Assistance par un processeur Reconfiguration « naturelle » Evolution de la reconfiguration des FPGA « du reset externe au SOPC » Problématique et enjeu
Vocabulaire relatif à la reconfiguration Point de vue physique: « comment fait-on ?» Endo-reconfiguration Reconfiguration partielle via un mécanisme interne. Exo-reconfiguration Reconfiguration via un mécanisme externe. Point de vue fonctionnel: « qui décide ? » Reconfiguration « classique » Le FPGA est passif. La décision de reconfiguration est prise par un acteur externe. Auto-reconfiguration Le FPGA décide lui-même de sa reconfiguration. Problématique et enjeu
SOPC = System On Programmable Chip FPGA + microprocesseur embarqué Triscend E5/A7 Problématique et enjeu
SRAM SRAM SRAM SRAM SRAM SRAM SRAM SRAM Excalibur: endo-reconfiguration totale Virtex: endo-reconfiguration partielle FLASH FLASH FPGA FPGA ARM9 PPC405 port ICAP Zone reconfigurable totalement Zone reconfigurable partiellement Problématique et enjeu
Endo-reconfiguration partielle des Virtex. Quel intérêt ? • Reuse = réutilisation du même FPGA pour plusieurs applications simultanées • « 1 plate-forme pour n applications » • Flexibilité = reconfiguration à grain variable • - grain « fin » (LUT, mémoire, …) • - grain « moyen » (zone arbitraire du FPGA) • - grain « gros » (la totalité du FPGA) • Sous-systèmes matériels de plus en plus dynamiques, voire adaptatifs • - RTOS avec notion de tâches matérielles • - Réactivité en environnements incertains • Optimisations • Réduction de la surface de silicium FPGA • Plus petit, plus rapide, consomme moins, rayonne moins, etc, ... Problématique et enjeu
Quels inconvénients ? PLUS DE BISTREAMS = PLUS DE MEMOIRES ! Des mémoires en constante augmentation de volume (bits) Des FPGAs plus petits, plus rapides et moins nombreux Malgré le « reuse du FPGA » il y a une contradiction flagrante au niveau système. Elle est due aux mémoires de stockage des bitstreams. Encore plus de mm2 de silicium ayant un faible taux de « reuse » Plus de consommation Plus de composants donc plus de surface PCB Fiabilité, MTBF moindres Problématique et enjeu
La viabilité de l’endo-reconfiguration partielle dépend de la nature du stockage des bitstreams et de la vitesse de leur chargement. Il faut une plate-forme ultra-légère « faible coût ». Ethernet BRAM PPC405 ou Blaze Interface réseau ICAP FPGA reconfigurable partiellement Serveur de bistreams L’environnement est réduit au minimum. Les bitstreams proviennent d’un serveur distant, accessible via un réseau local (Ethernet) Problématique et enjeu
PLAN Problématique et enjeu de la reconfiguration dynamique Etat de l’art en endo-reconfiguration « réseau » Contribution Résultats Perspectives et conclusion
Xilinx, circuits Virtex 2 pro et Virtex 4 VFX Port d’endo-reconfiguration ICAP (Internal Configuration Access Port) Accessible à tout processeur « hard core » coeur de PPC405 « soft core » microblaze synthétisé Vitesse annoncée 100 Mo/s à 100 MHz, soit 8 Mb/s@MHz (100 Mo/s = 800 Mb/s = 8 Mb/s@MHz) IP EDK = OPB HWICAP (150 slices, 1 BRAM) Via le bus PLB, un pont, et le bus OPB Etat de l’art – ICAP
Résumé Les débits sont 2 ordres de grandeur inférieurs à celui de l’ICAP. La taille mémoire requise nécessite des mémoires externes au FPGA. - buffers des piles de protocoles 500K – 1M - noyau linux 1-2M - root file system 100 M Conclusion = nécessité d’une plate-forme plus efficace. Etat de l’art
PLAN Problématique et enjeu de la reconfiguration dynamique Etat de l’art en endo-reconfiguration « réseau » Contribution Résultats Perspectives et conclusion
Endo-ronfiguration dynamique, partielle et « ultra-légère » Ethernet BRAM PPC405 ou Blaze Interface réseau ICAP FPGA reconfigurable partiellement Serveur de bistreams Objectif = reconfiguration plus rapide, avec moins de mémoires Quelle architecture matérielle, quelle architecture logicielle ? Quelles interfaces ? Quels protocoles ? Quelles performances ? Contribution
Architecture matérielle Le bitstream est « tiré » du réseau via le contrôleur Ethernet par le PowerPC. Les trames reçues sont interprétées par un protocole dédié et ensuite formatées et transmises à l’ICAP via les bus PLB et OPB. Contribution
Architecture logicielle Le protocole de reconfiguration dynamique est une couche logicielle qui se situe immédiatement au dessus des drivers du contrôleur Ethernet et de l’ICAP. Il a pour but d’implanter un pipeline de données le plus efficace possible entre les deux périphériques en fonction des ressources mémoires disponibles. 3/ Une fois par burst de P trames, envoi d’un ACK 1/ Trame reçue Protocole Handler D’IT 2/ Recopie dans l’ICAP ICAP LXT972A Paradigme du producteur-consommateur avec buffer circulaire intermédiaire. Contribution
Trames du protocole = trames Ethernet 802.3 dst src ethertype data FCS • 6 2 46-1500 4 • Format DIX (Dec, Intel, Xerox), EtherType = identification du protocole • 0x0800 IP V4 • 0x0806 ARP • 0x809B AppleTalk • … • Format originel des trames Ethernet 802.3 « à la Xerox » • Si EtherType < 0x0600 alors il s’agit de la taille de la zone « data » • C’est le format « Xerox » que nous utilisons pour notre protocole.
fpga fpga fpga fpga server server fpga server server fpga server server server fpga server fpga 46 46 1500 46 1500 506 46 1500 3 N 2 P ACK=0 ACK=0 4 1 Data Data zéros Data zéros zéros zéros Data FCS FCS FCS FCS FCS FCS FCS FCS Exemple de transmission d’un bitstream de 5000 octets N = nombre total de trames = 4 P = taille du demi buffer circulaire = 2
Protocole « adaptatif » de reconfiguration dynamique partielle Mode maître optionnel Serveur De Bitstreams N = nombre de trames Les trames sont numérotées de 1 à N Plate-forme ultra légère P = taille du burst à ce moment là. P = ½ buffer Contribution
Résultats – mesures en fonction de P et de la taille des bitstreams Hub 100 Mb/s serveur fpga Il faut très peu de mémoire (6 trames < 10 Ko) pour atteindre l’optimum. Résultats
Résultats 400 Kb/s@MHz >> 40 Kb/s@MHz 40Ko: tout en BRAM, aucune mémoire externe. Débit « Ethernet » soutenu de 40 Mbit/s. Brevet BFF08P0055 déposé le 1er février Résultats
Conclusion Quels matériels ? V2 + PPC405 100 MHz + ICAP Quels logiciels ? « sur mesure » Quelles interfaces ? Contrôleur Ethernet Intel LXT972A Quels protocoles « propriétaire » mais fondé sur du 802.3 Quelles performances ? 40 Mbit/s, 50Ko en 10 ms « soit dix à vingt fois plus rapides que les autres contributions ». Extensions (explorations, optimisations et usage de standards) Matériels V4, V5, MicroBlaze + DMA, ICAP/PLB Logiciels Linux, uClinux, RTlinux, RTAI, XMK Interfaces CAN, WiFi, autres contrôleurs ETH Protocoles TCP/IP, UDP/IP, lwIP, nouveau standard ? Perspectives applicatives Robotique mobile Transferts de bitstreams/données rapides Radio logicielle multistandard Caméras plus « intelligentes » Conclusion et perspectives
Merci de votre attention Références [1] « Using Partial Run-Time Reconfigurable Hardware to Accelerate Video Processing in Driver Assistance Systems » C. Claus, J. Zeppenfeld, F. Muller et W. Stechele DATE 2007 [2] « Web Server Design Using MicroBlaze Soft processor » Xilinx, XAPP433, octobre 2006 [3] « Self-reconfigurable Pervasive Platform For Cryptographic Application » A. Lagger, A. Upegui et E. Sanchez FPL 2006 [4] « Embedded Linux as a Platform for Dynamically self-reconfiguraing systems-on-chip » J. Williams et N. Bergmann ERSA 2004