Les systèmes électroniques les plus avancés au monde, comme les routeurs Internet, les stations de base sans fil, les scanners d’imagerie médicale et certains outils d’intelligence artificielle, reposent sur une technologie méconnue mais révolutionnaire : les Field-Programmable Gate Arrays (FPGA). Ces puces, dont les circuits internes peuvent être reconfigurés après leur fabrication, offrent une flexibilité sans précédent dans le domaine des semi-conducteurs.

Le 12 mars, l’IEEE Milestone a officiellement reconnu la première puce FPGA. Une plaque commémorative a été dévoilée sur le campus d’Advanced Micro Devices (AMD) à San José, en Californie, ancien siège de Xilinx, où cette technologie a vu le jour. Cette distinction souligne l’impact majeur des FPGA : ils ont introduit une nouvelle ère dans la conception des semi-conducteurs en permettant aux ingénieurs de modifier le matériel sans avoir à fabriquer une nouvelle puce.

Cette innovation a réduit les risques de développement et accéléré l’innovation, à une époque où les coûts des semi-conducteurs augmentaient rapidement. La cérémonie, organisée par la section IEEE de la vallée de Santa Clara, a réuni des professionnels du secteur et des dirigeants de l’IEEE. Parmi les intervenants figuraient Stephen Trimberger, membre de l’IEEE et de l’ACM, dont les contributions techniques ont façonné l’architecture moderne des FPGA. Il a souligné comment cette invention a permis de rendre le matériel programmable comme un logiciel.

Résoudre le compromis flexibilité-performance

Les FPGA sont apparus dans les années 1980 pour répondre à une limitation majeure de l’informatique. Un microprocesseur exécute les instructions logicielles de manière séquentielle, ce qui le rend flexible mais parfois trop lent pour les tâches nécessitant des calculs parallèles. À l’autre extrémité, les ASIC (Application-Specific Integrated Circuits) sont conçus pour une seule tâche. Bien qu’ils offrent une performance optimale, leur développement est long et coûteux, avec des investissements initiaux importants pour la conception, la fabrication des masques et la mise en place des lignes de production.

« Les ASIC offrent les meilleures performances, mais leur cycle de développement est long et les coûts d’ingénierie non récurrents peuvent être très élevés », explique Jason Cong, membre de l’IEEE et professeur d’informatique à l’Université de Californie à Los Angeles. « Les FPGA offrent un compromis idéal entre les processeurs et les puces sur mesure. »

Les travaux de Cong en matière d’automatisation de la conception des FPGA et de synthèse de haut niveau ont transformé la programmation des systèmes reconfigurables. Il a notamment développé des outils de synthèse capables de traduire des langages comme le C ou le C++ en conceptions matérielles.

Au cœur de cette innovation se trouve un principe énoncé par l’ingénieur électricien Ross Freeman, cofondateur de Xilinx et premier directeur technique de l’entreprise : en utilisant une mémoire programmable intégrée dans la puce, les FPGA combinent la vitesse du matériel avec l’adaptabilité du logiciel.

Les origines des FPGA dans la Silicon Valley

L’architecture des FPGA a été développée au milieu des années 1980 chez Xilinx, une entreprise de la Silicon Valley fondée en 1984. L’invention est largement attribuée à Freeman, qui a imaginé une puce dont les circuits pourraient être reconfigurés après fabrication, contrairement aux puces traditionnelles dont les fonctions sont figées dès leur création.

À l’époque, les ingénieurs en semi-conducteurs considéraient les transistors comme une ressource rare. Les puces personnalisées étaient optimisées de manière à ce que chaque transistor ait une fonction précise. Freeman a proposé une approche radicalement différente. Il anticipait que la loi de Moore, selon laquelle le nombre de transistors double environ tous les deux ans, rendrait les transistors de plus en plus accessibles et économiques. Il a imaginé que cette abondance permettrait de concevoir des puces reprogrammables, réduisant ainsi les coûts et les délais de développement.