• Aucun résultat trouvé

2.2 Prototypage rapide

2.2.2 Flot de développement

Classiquement, des logiciels interactifs tels que Matlab, Simulink, Maple, Mathematica et MathCAD [42] sont utilisés dans un premier temps pour étudier de nouvelles idées. Une pro- grammation en Matlab et Simulink permet de visualiser des signaux à l’étape de simulation et de vérification. Disposant de ces programmes fonctionnels, l’intérêt est de transcrire directement ceux-ci pour cibler les composants de la plate-forme matérielle et donc réduire le temps de concep- tion. Des outils disponibles sur le marché tel que System Generator de Xilinx permettent cette transcription pour programmer les circuits cibles.

Néanmoins, le langage C constitue un des langages de programmation les plus répandus et des outils de synthèse ont été développés en ce sens pour se soustraire à des langages plus spécialisés tels que le langage de description matériel VHDL (ou Verilog) pour cibler des circuits FPGA ou le langage assembleur (pour la programmation de composants DSP par exemple).

Dans [43], il est décrit un flot de synthèse intégrant Precision C Synthesis et HDL Designer (Mentor Graphics). Celui-ci est illustré par le prototypage de l’application HSDPA qui est décrit dans un premier temps sous forme d’un programme C/C++ défini en virgule flottante. Celui-ci est converti en virgule fixe à l’aide de l’outil Precision C Synthesis. A partir de ce programme, l’outil HDL Designer génère une version RTL pour laquelle différents blocs sont intégrés en utilisant des cores IP (mémoires, diviseur, etc.) de la bibliothèque CoreGen de Xilinx. La synthèse logique et le placement/routage sont réalisés respectivement par les outils Leonardo Spectrum et Xilinx ISE. A chaque étape, une vérification fonctionnelle est appliquée en utilisant les mêmes vecteurs de test. Ainsi, ce flot de synthèse composé de plusieurs outils prend en entrée une application décrite en langage de haut niveau pour générer sur cible FPGA une architecture matérielle devant respecter les contraintes initiales (temps/surface/puissance consommée). Néanmoins, ce flot n’intègre pas la partie analogique pour étudier en environnement réel le comportement de l’architecture générée. De plus, dans le cas où les circuits ciblés sont de nature différente, le flot de développement est plus complexe.

Dans [42], la méthodologie BLADE (Bell Labs Algorithm Development and Evaluation) est présentée et constitue un environnement de développement complet comprenant plusieurs outils. Dans un premier temps, les applications sont décrites en langage C. La translation d’un programme C en une implantation matérielle fonctionnelle (description VHDL synthétisable) en temps et environnements réels est réalisée en utilisant l’outil ART Builder (Frontier Design). A l’aide d’une bibliothèque propre à cet outil, l’application spécifiée en virgule flottante est décrite en virgule fixe. L’application peut être également décrite en blocs Simulink qui peuvent être traduites en composants VHDL ou en code C. D’autre part, l’outil de placement/routage de Xilinx peut prendre en entrée une netlist EDIF, générée par l’outil Design Compiler de Synopsys.

Cibler une plate-forme hybride composée de circuits tels que des FPGA et des DSP implique deux flots de synthèse puisque la programmation pour chacun d’eux est de nature différente. L’application est décomposée en plusieurs fonctions qui sont ensuite réparties et implantées au sein des différents circuits. Le partitionnement est manuel et une décision est prise suivant les contraintes de temps et les motifs de calcul à effectuer. Dans [12, 93], différents critères sont

énumérés et illustrés par l’implantation d’un système WCDMA associé à un codeur/décodeur de parole. De manière générale, les circuits DSP sont limités en termes de puissance de calcul et de bande passante (entrées/sorties). Néanmoins, les traitements irréguliers et complexes (e.g. division), le contrôle, les opérations à faible fréquence, les opérations en virgule flottante sont intégrés au sein du DSP. Les traitements à la fréquence d’échantillonnage et chip sont implantés au sein du FPGA.

Afin de valider les modèles générés à chaque étape du flot, celui-ci doit permettre d’effectuer aisément une co-simulation. Pour chaque étape, les résultats du programme synthétisé doivent correspondre à ceux du modèle originel.

Néanmoins, plusieurs facteurs liés aux outils utilisés peuvent limiter les possibilités de la plate- forme de prototypage rapide. Pour des systèmes complexes, l’étape de placement/routage peut prendre un temps relativement long, constituant ainsi un inconvénient dans l’optique d’effectuer un prototypage rapide de l’application. D’autre part, plusieurs techniques de conception ne sont pas nécessairement intégrées dans le flot de développement. Dans [12], il est noté que l’utilisation de multiples signaux d’horloge n’est pas applicable, réduisant ainsi des voies d’optimisation (e.g. pipeline, réduction de la fréquence d’horloge pour certaine partie).

En outre, l’objectif premier reste la transcription d’une application en langage C en une des- cription VHDL fonctionnant en temps réel. Aussi, l’occupation des ressources ne constitue pas une priorité première tant que le matériel suffit à l’intégration de l’application dans sa totalité. Cepen- dant, pour la conception de produits tels que les terminaux mobiles pour lesquels les contraintes sont fortes, un raffinement du prototype matériel généré s’impose en vue d’une mise sur le marché.

2.3

Synthèse

Dans la première partie de ce chapitre, nous pouvons constater que, suite au traitement ana- logique, plus nous nous approchons de la couche réseau, plus la vitesse de traitement des données est relaxée. En contre-partie, le nombre d’opérations à effectuer augmente, e.g. le contrôle du gain est caractérisé par une faible complexité de calcul, tandis que la complexité pour le schéma de détection MV est exponentielle.

En outre, différents circuits pour les principaux schémas de détection (VBLAST, MV, etc.) montrent que ceux-ci sont réalisables pour de faibles tailles du réseau (e.g. 4 × 4), en introduisant des approximations sur certains calculs. Le prototypage rapide permet d’étudier rapidement ces techniques de communication complexes et de valider ou invalider ces approximations.

Le chapitre suivant présente les architectures matérielles développées pour la technologie W- CDMA étendue aux systèmes multi-antennes. La dernière partie de ce chapitre décrit la plate- forme de prototypage rapide (compagnie Lyrtech) utilisée pour simuler un lien point à point WCDMA.

Architectures matérielles pour des

systèmes MIMO-WCDMA

Ce chapitre présente les architectures matérielles développées pour des systèmes sans fil, met- tant en œuvre un accès multiple par répartition de code (AMRC ou CDMA1) en bande large (W-CDMA2), point à point et multi-antennes. Il décrit les prototypes développés supportant les traitements en bande de base pour des canaux sélectifs en fréquence. De manière générale, ces architectures se veulent performantes pour des systèmes embarqués mobiles, e.g. les terminaux T3G3 et T4G4.

L’objectif de ce projet consiste à augmenter le débit et la capacité des systèmes MIMO, en procédant à un multiplexage spatial, ainsi que l’ordre de diversité pour réduire le taux d’erreur binaire et donc améliorer la qualité du lien.

Les systèmes implantés intègrent les modules indispensables, pour un fonctionnement auto- nome en environnement réel. Ils ne comportent pas toutes les fonctions requises, explicitées dans le chapitre précédent et devant être implantées au sein de systèmes embarqués. Dans notre cas, les modules considérés portent sur les filtres de racine de cosinus surélevé (RCS), le module de recherche des multiples trajets (RMT) et l’étape de génération des statistiques suite au déséta- lement spatio-temporel. Les circuits de contrôle du gain, de correction du décalage fréquentiel, ou encore le processus d’acquisition initiale des codes d’embrouillage ne sont pas considérés. Ces traitements sont supposés acquis.

Dans une première section, la technologie W-CDMA est exposée. L’architecture développée pour un système point à point est présentée dans une seconde partie. L’extension aux systèmes multi-antennes, applicables aux technologies HSDPA5 et HSUPA6, est ensuite décrite. Le pro- totype point à point WCDMA a été implanté au sein des stations de prototypage rapide de la compagnie Lyrtech, pour simuler un lien radio en environnement réel, propos de la dernière partie de ce chapitre.

3.1

Technologie W-CDMA

Dans la section 1.4.2, cette technique d’accès a été introduite de manière concise. Dans cette partie, celle-ci est détaillée puisqu’elle constitue une base essentielle de ce travail.

1. Code Division Multiple Access. 2. Wideband CDMA.

3. Télécommunications de troisième Génération. 4. Télécommunications de quatrième Génération. 5. High Speed Downlink Package Access.

6. High Speed Uplink Package Access.