1 |
Générateur de coprocesseur pour le traitement de données en flux (vidéo ou similaire) sur FPGA. / CoProcessor generator for real-time data flow processing FPGAGoavec-Merou, Gwenhael 26 November 2014 (has links)
L’utilisation de matrice de portes logiques reconfigurables (FPGA) est une des seules solutionspour traiter des flux de plusieurs 100 MÉchantillons/seconde en temps-réel. Toutefois, ce typede composant présente une grande difficulté de mise en oeuvre : au delà d’un type langage spécifique,c’est tout un environnement matériel et une certaine expérience qui sont requis pourobtenir les traitements les plus efficaces. Afin de contourner cette difficulté, de nombreux travauxont été réalisés dans le but de proposer des solutions qui, partant d’un code écrit dans unlangage de haut-niveau, vont produire un code dans un langage dédié aux FPGAs. Nos travaux,suivant l’approche d’assemblage de blocs et en suivant la méthode du skeleton, ont visé à mettreen place un logiciel, nommé CoGen, permettant, à partir de codes déjà développés et validés,de construire des chaînes de traitements en tenant compte des caractéristiques du FPGA cible,du débit entrant et sortant de chaque bloc pour garantir l’obtention d’une solution la plus adaptéepossible aux besoins et contraintes. Les implémentations des blocs de traitements sont soitgénérés automatiquement soit manuellement. Les entrées-sorties de chaque bloc doivent respecterune norme pour être exploitable dans l’outil. Le développeur doit fournir une descriptionconcernant les ressources nécessaires et les limitations du débit de données pouvant être traitées.CoGen fournit à l’utilisateur moins expérimenté une méthode d’assemblage de ces blocsgarantissant le synchronisme et cohérence des flux de données ainsi que la capacité à synthétiserle code sur les ressources matérielles accessibles. Cette méthodologie de travail est appliquéeà des traitements sur des flux vidéos (seuillage, détection de contours et analyse des modespropres d’un diapason) et sur des flux radio-fréquences (interrogation d’un capteur sans-fils parméthode RADAR, réception d’un flux modulé en fréquence, et finalement implémentation deblocs de bases pour déporter le maximum de traitements en numérique). / Using Field Programmable Gate Arrays (FPGA) is one of the very few solution for real time processingdata flows of several hundreds of Msamples/second. However, using such componentsis technically challenging beyond the need to become familiar with a new kind of dedicateddescription language and ways of describing algorithms, understanding the hardware behaviouris mandatory for implementing efficient processing solutions. In order to circumvent these difficulties,past researches have focused on providing solutions which, starting from a description ofan algorithm in a high-abstraction level language, generetes a description appropriate for FPGAconfiguration. Our contribution, following the strategy of block assembly based on the skeletonmethod, aimed at providing a software environment called CoGen for assembling various implementationsof readily available and validated processing blocks. The resulting processing chainis optimized by including FPGA hardware characteristics, and input and output bandwidths ofeach block in order to provide solution fitting best the requirements and constraints. Each processingblock implementation is either generated automatically or manually, but must complywith some constraints in order to be usable by our tool. In addition, each block developer mustprovide a standardized description of the block including required resources and data processingbandwidth limitations. CoGen then provides to the less experienced user the means to assemblethese blocks ensuring synchronism and consistency of data flow as well as the ability to synthesizethe processing chain in the available hardware resources. This working method has beenapplied to video data flow processing (threshold, contour detection and tuning fork eigenmodesanalysis) and on radiofrequency data flow (wireless interrogation of sensors through a RADARsystem, software processing of a frequency modulated stream, software defined radio).
|
Page generated in 0.1145 seconds