• Aucun résultat trouvé

Le manuscrit est organisé selon le plan suivant :

Chapitre 2 : État de l’art Dans ce chapitre, nous présentons le contexte de nos travaux qui abordent le domaine de traitement de signal systématique. Nous présentons les moti-vations qui nous ont conduit à adopter les architectures SIMD pour le TSS. Nous étudions et comparons alors différentes architectures SIMD proposées. Nous décrivons de même les méthodologies de conception optées. À partir de cette étude, nous positionnons nos travaux et nous donnons les grandes lignes de nos contributions.

Chapitre 3 : Modèle mppSoC : architecture SIMD paramétrique et génériqueCe cha-pitre a pour but de définir le système mppSoC. Une vue globale du modèle générique de mppSoC est présentée. Nous détaillons alors ses caractéristiques, ses aspects paramétriques et ses différents composants. Cette analyse du modèle est aussi accompagnée par une justi-fication des concepts permettant la flexibilité de mppSoC .

Chapitre 4 : Méthode de conception rapide et programmation de mppSoC Dans ce chapitre, la démarche de conception modulaire proposée pour générer des configurations mppSoC est détaillée. À ce niveau, nous présentons les différentes approches proposées pour concevoir et implémenter une architecture SIMD sur puce se basant sur la bibliothèque d’IPs mppSoC, mppSoCLib. Enfin, un jeu d’instructions parallèle développé permettant la programmation du système mppSoC est présenté.

1.4 Plan 13

Chapitre 5 : Outil de conception de mppSoC : mise en œuvre et expérimentation sur FPGACe chapitre décrit la mise en œuvre de l’outil de génération de configurations mpp-SoC : d’un modèle UML-MARTE jusqu’à la génération du code VHDL synthétisable. Ce code permet l’implémentation de mppSoC sur FPGA. Les outils de synthèse et de simula-tions sont alors utilisés afin de mesurer les performances d’une configuration donnée.

Une étude de cas d’une application de traitement vidéo embarquée temps réel placée sur différentes configurations mppSoC est présentée. Cette étude permet non seulement de donner un aperçu sur l’outil développé mais valide aussi les différentes propositions et im-plémentations faites précédemment.

Chapitre 6 : Conclusion et perspectivesNous concluons cette thèse par le bilan des tra-vaux effectués et détaillons les contributions apportées avant d’aborder quelques perspec-tives à nos travaux.

État de l’art

2.1 Applications de traitement de signal systématique et intensif . . . . 15 2.2 Architectures SIMD pour le TSS . . . . 17

2.2.1 Modèle d’exécution SIMD . . . . 18 2.2.2 Motivations : efficacité de SIMD pour le TSS . . . . 18 2.2.3 SIMD embarqué . . . . 19

2.3 Architectures SIMD sur FPGA . . . . 20

2.3.1 Intérêt des FPGA . . . . 21 2.3.2 Classification des architectures SIMD sur FPGA . . . . 22

2.4 Conception et prototypage des architectures SIMD . . . . 28

2.4.1 Besoin de nouvelles méthodologies d’intégration . . . . 29 2.4.2 Intégration d’IP . . . . 29 2.4.3 Environnements de conception pour systèmes sur puce . . . . 31

2.5 Quelle méthodologie d’assemblage ? . . . . 33 2.6 Conclusion . . . . 35

2.1 Applications de traitement de signal systématique et intensif 15

Ce chapitre traite tous les points clés évoqués précédemment. Nous débutons par une introduction aux applications de traitement du signal systématique en mettant l’accent sur leurs spécificités en terme notamment de parallélisme de données. Cette partie a pour but de familiariser le lecteur avec le contexte d’étude de nos travaux. Les applications visées peuvent tirer profit d’exécution sur des architectures parallèles SIMD vu leur régularité. Nous étudions alors l’évolution des architectures SIMD et leurs réalisations récentes. Une attention particulière est accordée aux architectures SIMD à base de FPGA. L’FPGA est uti-lisé comme une plateforme cible d’expérimentation vu qu’il facilite de tester rapidement dif-férentes configurations architecturales. Les outils de conception et réalisation des systèmes sur puce, particulièrement à architectures parallèles, sont après introduits. Nous mettons l’accent sur les environnements à base de réutilisation de composants. Nous verrons alors que la conception à base d’IP permet de répondre à certains défis de conception de SoC. Mais, nous constaterons que peu de travaux sont en liaison avec les architectures SIMD per-mettant la génération rapide et facile de telles architectures qui soient flexibles et pouvant s’adapter à une application donnée. Une analyse de cet état de l’art montre les limites et les problématiques rencontrés dans la conception des architectures SIMD sur puce. Au terme de ce chapitre, nous serons alors en mesure d’introduire notre système mppSoC et nous mettrons en exergue les grandes lignes de nos contributions.

2.1 Applications de traitement de signal systématique et intensif

Le traitement du signal (TS) est la discipline qui développe et étudie les techniques de traitement, d’analyse et d’interprétation des signaux. Un signal peut être défini comme étant la représentation physique d’une information à transmettre. Parmi les types d’opérations possibles sur ces signaux, on peut dénoter le contrôle, le filtrage, la compression de données, la transmission de données, la déconvolution, la prédiction, l’identification, etc1. La partie du TS qui nous intéresse est sa partie la plus intensive et la plus gourmande en calcul, déno-tée TSI dans la figure 2.1. Une application est dite intensive si elle opère sur une grande masse de données, et s’il faut fortement l’optimiser pour obtenir la puissance de calcul requise et répondre aux contraintes d’exécution du système [15].

Le traitement de signal intensif (figure 2.1) se compose d’une phase de Traitement de Signal Systématique (TSS) suivie d’une phase de Traitement de Données Intensif (TDI). Le TSS correspond à la première phase de traitement des signaux et consiste en l’application de traitements très réguliers (indépendants de la valeur des données) appliqués systématique-ment aux signaux d’entrée pour en extraire les caractéristiques intéressantes. Celles-ci sont ensuite traitées par des calculs plus irréguliers (dépendants de la valeur de ces grandeurs) dans la phase de TDI. Le TDI consiste le plus souvent à extraire les informations pertinentes d’un ensemble important de données.

Les applications de TSI sont largement utilisées dans des domaines variés allant de l’automobile aux communications sans fils, en passant par les applications multimédias et les télécommunications : filtrages (FIR, LMS...), transformations (DCT, FFT...), codage d’er-reurs (Turbo code, viterbi...), compression et décompression d’image et de flux vidéo (JPEG, MPEG), etc. Ces applications sont rencontrées souvent dans les SoC et sont caractérisées par leur grande puissance de calcul ce qui nécessite la parallélisation des traitements.

TS : Traitement de Signal TSI : Traitement de Signal Intensif TSS : Traitement de Signal Systématique TDI : Traitement de Données Intensif TDI : Traitement de Données Intensif

FIGURE2.1 – Composition du TSI

Exemple d’applications

Quelques exemples représentatifs des applications de TSI composées d’une phase de TSS et une phase de TDI sont illustrés ci dessous :

– Traitement sonar : un système de détection sous marine se base sur une première étape de traitement systématique (constituée d’une FFT qui ajoute une dimension fré-quentielle aux données traitées) sur les données produites par les hydrophones (mi-crophones répartis autour du sous-marin). Cette première phase produit des données représentant les échos captés. Ces échos sont ensuite analysés par un traitement de données : la poursuite. Ce traitement est dédié à la détection d’objets et à leur pour-suite au cours du temps.

– Récepteur de radio numérique : cette application en émergence fait appel à une par-tie frontale de TSS consistant à la numérisation de la bande de réception, la sélection du canal et l’application de filtres permettant d’éviter les parasites. Les données four-nies par ces traitements systématiques sont ensuite envoyées dans le décodeur dont le traitement est plus irrégulier (synchronisation, démodulation, etc.).

– Convertisseur 16/9-4/3 : Souvent devant notre télévision et en utilisant une télécom-mande on peut passer d’un format à un autre avec une certaine facilité. En pratique, ce processus se décompose en deux étapes [69]. La première consiste à créer des pixels à partir du signal vidéo au format 16/9 via une interpolation, il en résulte un nou-veau signal vidéo. La seconde étape supprime certains pixels de ce signal de manière à ne conserver qu’une partie de l’information, cela permet le passage au format 4/3. Cette application ne considère à aucun moment la valeur des pixels, il s’agit donc de traitement de signal systématique.

– Radar anti-collisions : la prévention des collisions dans un système se fait par le biais d’une antenne qui renvoie un signal sous la forme d’un flux de données contenant des informations relatives à la présence d’obstacles, un écho. Ces informations seront filtrées dans une phase de traitement systématique de manière à en faire ressortir les caractéristiques intéressantes (la présence d’obstacles). Cette phase est suivie d’une analyse irrégulière de ce nouveau flux de données de manière à valider la présence d’un obstacle, à déclencher un freinage d’urgence ou à le poursuivre si nécessaire [61]. Cette application est illustrée à la figure 2.2.

Caractéristiques du TSS

Notre travail se concentre particulièrement sur les applications de traitement de signal systématique et intensif qui jouent un rôle crucial dans le domaine des multimédias et trai-tement d’images et de la vidéo. Telle qu’illustré par les exemples précédents, une applica-tion est dite systématique si son traitement consiste principalement en des calculs réguliers