Les plateformes de la radio reconfigurable

 Les plateformes de la radio reconfigurable

Nous étudions dans ce paragraphe les circuits utilisés en bande de base pour le SDR: les circuits spécialisés de type Application-Specific Integrated Circuit (ASIC) et dérivés, les processeurs de type General Purpose Preprocessor (GPP), les FPGA et les DSP (Digital Signal Processor). 

Composants matériels

Les composants matériels sont utilisés pour leurs performances très élevées. Ils permettent de résoudre de fortes contraintes temps réel. On peut distinguer deux types: les ASIC et les FPGA. Les ASIC sont des composants spécialisés développés pour une application spécifique. Les FPGA, sont des circuits intégrés qui peuvent être reconfigurés après sa fabrication. 

Les ASIC (Application-Specific Integrated Circuit)

Les ASIC (circuit intégré propre à une application, en français), ce sont des circuits intégrés spécialisés, que sont développés pour un seul client et selon les spécifications de ce dernier. En général, un ASIC regroupe un grand nombre de fonctionnalités uniques ou sur mesure. Les ASIC ne sont pas reconfigurables (reprogrammables), c’est-à-dire ils sont figés (fixés) pour un nombre de fonctionnalités spécifiques. En raison de leurs caractéristiques spéciales, ils sont utilisés couramment dans la SDR, bien qu’ils soient des composants non modifiables contredisant ainsi le principe de base des SDR ; c’est-à-dire la reconfigurabilité et la flexibilité. En effet, les ASIC, présentent une puissance de calcul très élevée, une faible consommation d’énergie, une haute intégration et une petite taille. Ils montrent aussi un coût de fabrication faible pour des quantités élevées. C’est pour ces 44 raisons que les portables représentent un domaine d’application typique de ces composants. Le manque de la flexibilité et le cycle de développement très long des ASIC constituent leur principal inconvénient [47]. À noter qu’il existe également des ASSP (Application Specific Standard Product), circuits type ASIC légèrement programmables, regroupant un grand nombre de fonctionnalités pour satisfaire à une application généralement standardisée. En général, les ASIC et les ASSP sont basés sur les mêmes processus de conception et technologies de fabrication. La différence est que les ASIC sont destinés à une compagnie spécifique, tandis que les ASSP sont vendus à de multiples clients. Un ASSP pour GSM issu d’un fabricant unique est utilisé comme circuit de base par différents fabricants de téléphones portables qui se distinguent sur d’autres aspects tels que le logiciel, l’écran, le boîtier, la batterie, etc. La programmation d’un ASIC s’effectue avec un langage de bas niveau, et les tests de validation sont intensifs. Une erreur qui apparait après sa production peut provoquer la nécessité de repasser par la phase de développement et coûte par conséquent très cher [47]. 

Les FPGA (Field-Programmable Gate Array)

Les FPGA (Les réseaux de portes programmables in situ, en français), est un ensemble de blocs logiques élémentaires que l’utilisateur peut interconnecter pour réaliser les fonctions logiques de son choix. Un FPGA est composés d’un nombre élevé de blocs logiques configurables ou CLB (Configurable Logic Block). Un CLB est constitué au minimum d’une table de correspondance (LUT – Look-Up Table) et d’une bascule. Une LUT est considérée comme la partie fondamentale du FPGA, elle agit en tant que générateur de fonction et sert à implémenter des équations logiques (généralement de 4 à 6 entrées et une sortie), une petite mémoire, un multiplexeur ou un registre à décalage. L’architecture d’un CLB se diffère en fonction du FPGA et de la technologie utilisée. Sur une famille de FPGA Xilinx Virtex 4 par exemple, chaque CLB dispose de deux LUT à quatre entrées (LUT4), alors que pour les Virtex 5, et 6, chaque CLB dispose de quatre LUT à six entrées (LUT6), soit la possibilité d’utiliser six variables d’entrée pour chaque fonction au lieu de quatre, et deux fois plus de fonctions combinatoires, alors que dans le Virtex 7 chaque CLB dispose de quatre LUT, qui peuvent être configurés soit comme une LUT à 6 entrées avec une sortie, ou comme deux LUT à 5 entrées avec des sorties séparées. Les CLB sont interconnectés par un système matriciel configurable de liaisons haute vitesse, et sont reliés à des blocs d’E/S programmables ou (IOB – Input Output Blocks). Les blocs d’entrées/sortie sont utilisés pour relier le FPGA à des signaux externes, et ainsi à des mémoires externes rapides dans le cas où la mémoire interne est insuffisante. Deux types de mémoire interne existent dans le FPGA; de petites mémoires rapides double accès (pour les tampons et les tables de coefficient), et de grandes mémoires simple accès (pour le stockage de grandes tables de données). Les blocs dédiés 45 dans le FPGA, permettent de gérer l’horloge, l’aident à la programmation, à réaliser facilement de nombreuses opérations tels qu’une PLL et les traitements numériques des signaux (blocs DSP). En effet, la présence des multiplicateurs, des accumulateurs et des mémoires facilitent la réalisation de la convolution, la corrélation et le filtrage. La figure II.8 présente un exemple d’architecture de FPGA. Figure II.8. Exemple d’architecture de FPGA (Architecture, Interconnexions et CLB). L’aspect le plus séduisant des FPGA est leur flexibilité et leur reconfigurabilité, ce qui respecte pleinement le principe de base des SDR. En plus, ils présentent une consommation d’énergie faible et une puissance de calcul grande par rapport aux processeurs DSP et GPP. Ceci revient à un grand nombre d’unités de traitements et de mémoires tampons (buffers). Par exemple, la famille des FPGA Virtex-7 de Xilinx [48], contient entre environ 45 000 et 300 000 slices (CLB), chaque slice contient quatre LUT et huit bascules. Nous avons aussi comme exemple le FPGA Stratix V de Altera, qui est un FPGA de haute performance [49]. Cette énorme ressource permet d’implémenter plusieurs fonctions et même des standards et normes. Par exemple L. Bisdounis et al [50] ont implémenté sur un FPGA la partie bande de base et la couche MAC du standards HIPERLAN/2 et IEEE 802.11a. La concurrence entre les principales firmes des FPGA notamment Xilinx et Altera contribuent à une amélioration permanente des performances de ces composants. Pour cette raison, la performance actuelle des FPGAs est un peu approchée de celle des ASIC. En plus, la tendance pour les circuits FPGA est la possibilité de réaliser des systèmes sur puce (SoC) en utilisant des « composants virtuels » et de concevoir ainsi des blocs de propriété intellectuelle IP qui sont par exemple des fonctions VHDL/Verilog génériques réutilisables, on parlera alors de « System On Programmable Chip» (SoPC) . Les systèmes de type SoPC peuvent intégrer sur le même FPGA un ou plusieurs processeurs 46 softcore ou hardcore avec ses périphériques et une mémoire interne. Cette mémoire est utilisée pour sauvegarder les données (Data) ou le code exécutable correspondant à l’application logicielle déployée sur le ou les processeurs. Parmi les processeurs embarqués intégrables dans un système SoPC, on peut citer les solutions softcore propriétaires: MicroBlaze et nios développées par Xilinx et Altera respectivement. D’autres processeurs performants (hardcore) sont issus du monde opensource tels que: processeurs Leon 2/3, plasma, ARM,… Les FPGA se programment grâce à leurs LUT et leur réseau d’interconnexion en utilisant le plus souvent un langage de description de matériel tel que le VHDL (acronyme de VHSIC-HDL: Very High Speed Integrated Circuit Hardware Description Language) ou Verilog. L’outil de développement (ISE par exemple [51]) transforme cette description en un fichier de configuration du FPGA en plusieurs étapes (figure II.9): Lors de l’étape de synthèse, la description HDL du circuit est transformée en un assemblage (Netlist) de primitives de base (portes logiques, bascules, etc.). 

Formation et coursTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *