Les circuits logiques programmables

Le 01/01/2003 à 0:00 par JEAN -FLORENT HELIE

FPGA et CPLD profitent des niveaux d'intégration les plus avancés pour gagner en densité, confirmant la tendance au système sur une puce programmable. Incorporant maintenant des liaisons série haut débit et des blocs logiques dédiés, ils peuvent prétendre aux applications les plus exigeantes, d'autant que les nombreuses déclinaisons des architectures permettent de satisfaire tous les compromis.

En raison de leur structure générique personnalisable par logiciel, les circuits logiques programmables (PLD) parviennent à coup sûr, pour leurs fabricants, à résoudre le compromis liant le coût de développement non récupérable (NRE) aux quantités à produire pour garantir la viabilité économique d'un circuit intégré. C'est pour cette raison que les PLD des trois premiers fournisseurs (Xilinx, Altera et Lattice) font partie des circuits qui évoluent au plus près des procédés de lithographie de dernière génération à 0,13 µm tout cuivre. Leur structure matricielle répétitive et les fortes quantités produites conviennent bien à la mise au point des technologies silicium. C'est pourquoi l'un des premiers circuits 90 nm d'IBM, annoncé pour le second semestre 2003, sera un FPGA Xilinx, le premier fournisseur mondial. D'ailleurs, ce dernier déclare être le plus gros consommateur de tranches de 300 mm. Les principaux défauts des PLD, à savoir le manque de vitesse, une consommation et un coût silicium excessifs, sont ainsi minimisés. De tels niveaux d'intégration sont à l'origine de l'apparition de circuits faible coût très denses. Les différents degrés de complexité disponibles permettent aux FPGA de prétendre au remplacement des Asic de tailles diverses, en ajoutant le bénéfice de reprogrammabilité chez l'utilisateur final. Le prototypage d'Asic à partir de FPGA devient également monnaie courante.

IP hard ou IP soft ?

Comme dans le monde de l'Asic, il y a des divergences sur le sujet de la propriété intellectuelle. Les considérations en logique programmable sont cependant différentes, puisque seul le fabricant de PLD choisit de proposer tel ou tel bloc en dur. L'utilisateur ajoutera donc toujours son IP sous forme synthétisable. Exception faite du cas des processeurs embarqués qui fera s'affronter ces deux approches, on peut même dire que le débat ne concerne que les fabricants.

En matière de cœurs de processeur, l'intégration en dur permet de garantir les performances et la licence est comprise dans le prix du composant. Il suffit donc de juger si l'on préfère garder son microcontrôleur à l'extérieur, sachant que, par exemple, les convertisseurs A/N demeurent encore exclus des PLD (et ne semblent pas arriver prochainement). Une approche synthétisable, utilisant les ressources en logique programmable du composant, a l'avantage d'être souvent configurable et donc de ne pas engendrer de coût lié à un périphérique inutilisé ou surdimensionné. Cependant, ce processeur devra compter sur l'intelligence des outils logiciels de configuration et de synthèse utilisés pour garantir ses performances. On découvre alors parfois, voire souvent, que l'optimisation ressources/coût silicium n'est pas forcément favorable au FPGA. En effet, il est fréquent, dans le cas d'une approche synthétisée, de devoir se rabattre sur un modèle plus dense que celui prévu initialement pour la seule implantation de la logique. Le coût du microcontrôleur externe se reporte donc sur le FPGA qui tire mal son épingle du jeu : l'opération est souvent dépourvue d'intérêt financier, même si le cœur implanté est parfois gratuit car propriété du fabricant de FPGA. Altera propose ainsi son cœur Risc 32 bits Nios, Xilinx a nommé le sien MicroBlaze. Pour les cœurs en dur, Altera propose un Arm 922T sur sa famille Excalibur, Xilinx a quant à lui doté ses Virtex-II Pro de cœurs PowerPC (jusqu'à quatre sur un seul composant !), et QuickLogic implante un processeur Mips32 dans ses QuickMips. Atmel avait ouvert l'ère du système sur une puce programmable fin 1999 en intégrant son cœur AVR dans ses FPSLIC. Plus modeste que ceux proposés aujourd'hui par la concurrence, ce processeur Risc 8 bits est dimensionné à la compacité des PLD Atmel.

Concernant les blocs plus « simples », comme une interface PCI, un chemin de mise en trame Sonet, ou un multiplieur pour le traitement du signal, les politiques des divers acteurs du marché sont très différentes. Pour certains, il est impensable de faire payer une fonction qui ne sera pas forcément utilisée. C'est un point de vue qui se respecte dans le cas d'une architecture reprogrammable déjà coûteuse en silicium. En revanche, pour le promoteur de l'OTP (One time programmable), QuickLogic, avec sa technologie de vias amorçables Vialink, l'équation serait toute faite. Le fabricant se positionne donc ouvertement en faveur des blocs standard embarqués dans un FPGA. Autre acteur de l'OTP, mais par antifusibles, Actel mise de son côté sur une architecture performante (l'OTP a toujours l'avantage de la vitesse) permettant de synthétiser n'importe quel bloc d'IP de façon optimale et économique, et donc de ne pas restreindre son marché aux seuls utilisateurs d'une fonction donnée. Arguant du fait qu'une solution en dur nécessite un flot de conception spécifique et présente un risque accru d'obsolescence, Actel semble tenir le même raisonnement quant à l'intégration de canaux SerDes gourmands en courant et en espace silicium dédié aux Fifo. Pour les architectures reprogrammables, Lattice présente des produits suffisamment ciblés vers le marché des télécoms pour justifier l'intégration en dur de machines d'état Xaui ou Sonet.

Un peu en marge du débat, les blocs dédiés au traitement du signal semblent faire l'unanimité chez les utilisateurs de circuits Stratix (Altera), Virtex-II (Xilinx) et Eclipse (QuickLogic). Ces unités multiplieur-accumulateur configurables sont intégrées à la matrice programmable, et renforcent donc la puissance de ces architectures dans la majorité des applications.

Pour éviter de faire payer des prestations ou performances inutilisées, Xilinx propose ses Virtex-II-E (EasyPath). Il s'agit en fait pour le fabricant de déterminer des critères de test en production moins draconiens, car se cantonnant aux exigences d'un design. Les composants livrés ne sont alors garantis que pour une utilisation spécifique chez un client donné. Les rendements de fabrication augmentent et le prix diminue. Cela n'est pas négligeable pour une commande en volume de ces composants haut de gamme. Toujours pour réduire les coûts lors du passage à la grande série, certains fabricants ou sociétés tierces proposent des services de passage à une architecture prédiffusée figée, plus ou moins optimisée selon la solution proposée. Ce service étant très différent d'une société à l'autre, il est important de se renseigner sur ce type de portage au préalable, surtout si l'on a choisi le FPGA pour entrer à moindre risque sur un marché au développement incertain. Tout cela donne l'impression que la relation entre un intégrateur et un fabricant de PLD tend à s'élargir vers un véritable partenariat à long terme, au risque de se retrouver esclave de son PLD ! Les cœurs intégrés et l'approche système sur une puce, développée pendant les années fastes, sont souvent jugés inadaptés au marché actuel pour des raisons économiques. L'approche synthétisable sur un produit faible coût est donc souvent recommandée par les fournisseurs. Il faut tout de même admettre que les considérations et stratégies des fabricants ne se répercutent pas toutes sur les prix, et diffèrent parfois de celles des utilisateurs. Ces derniers profiteront donc de l'offre variée générée par les différences de points de vue, pour trouver le composant le plus adapté à leur projet.

Enfin, au risque de faire sourire, on notera que les acteurs de l'OTP mettent en garde les utilisateurs de technologies Sram sur le problème des radiations cosmiques, qui peuvent faire basculer un point mémoire. Dans le cas d'un PLD, c'est toute la fonction logique du composant qui est susceptible d'être perturbée. Ce phénomène, connu de longue date dans le monde du spatial, aurait tendance à apparaître dans les produits plus « terrestres », notamment du fait de la densité croissante des puces et des quantités de mémoire intégrées. Les produits grand public embarqués dans un avion se trouveraient exposés à des aléas, car soumis à des doses importantes, au même titre que le personnel navigant ! Les « plantages » ne seraient donc pas tous imputables au logiciel ?

Copy link
Powered by Social Snap