Un FPGA est un processeur entièrement programmable : on ne dispose pas d'instructions que l'on peut assembler les unes à la suite des autres pour former un programme, comme sur un processeur classique ; au contraire, sur un FPGA, on assemble des portes logiques pour réaliser la fonction que l'on souhaite (par exemple, un prototype de processeur). Ce niveau de programmabilité permet de gagner en efficacité de calcul pour une série d'applications, par exemple l'inférence dans les réseaux neuronaux.
Xilinx est la plus grande société du domaine des FPGA (la seconde étant Altera, maintenant une division d'Intel). Leur dernier produit, répondant au doux et poétique nom de Virtex UltraScale+ VU19P, est vendu comme le plus grand FPGA au monde : ses trente-cinq milliards de transistors offrent un total de neuf millions de cellules logiques, avec un assemblage de quatre puces sur un interposeur. Ce FPGA dispose également d'un contrôleur mémoire DDR4 (pour une bande passante d'un térabit et demi par seconde), de deux mille broches d'entrée-sortie programmables, pour une bande passante totale de quatre térabits et demi par seconde ! Le précédent plus grand FPGA au monde émanait aussi de Xilinx, le Virtex UltraScale 440 disposant de cinq millions et demi de cellules logiques. La nouvelle génération change en même temps de processus de fabrication, en passant du vingt au seize nanomètres.
![]()
Cette puce est surtout prévue pour aider à la création de processeurs, en tant que plateforme de simulation : lors du développement d'un processeur, on veut tester en conditions plus ou moins réelles la puce avant de lancer la fabrication, notamment pour vérifier qu'elle fonctionne bien comme prévu. Le nombre de cellules logiques très élevé permet de tester des puces de plus grande taille que précédemment : sur un tel FPGA, on peut tester jusqu'à seize cœurs ARM Cortex A9 (dix sur la génération précédente de FPGA). De plus, Xilinx fournit une série d'outils pour déboguer l'exécution d'un programme sur ses FPGA, pour analyser finement tout problème que l'on peut rencontrer sur son prototype. Outre la validation, un FPGA permet de commencer à développer la pile logicielle nécessaire aux processeurs en cours de développement, puisque le FPGA peut répondre exactement comme le processeur une fois fabriqué (mais en plus lent).
Pour viser d'autres applications que la simulation, ce FPGA dispose aussi de bascules (huit millions, chacune pouvant stocker un bit), quatre millions de tables de correspondance (des mémoires "mortes"), nonante mégaoctets d'UltraRAM et presque quatre mille DSP. Ces chiffres ne sont pas aussi élevés que sur la génération précédente, pour faire de la place à plus de cellules logiques
Ce FPGA devrait être disponible à l'automne 2020, certains clients y auront cependant accès plus tôt. Il existera sous la forme d'une carte PCIe (3.0 en x16 ou 4.0 en x8) ou d'un processeur indépendant (soudable sur un circuit imprimé).
Sources : Xilinx Introduces World’s Largest FPGA With 35 Billion Transistors, Xilinx Announces World Largest FPGA: Virtex Ultrascale+ VU19P with 9m Cells.
Partager