FPGA: de chip die na productie nog van vorm kan veranderen
De meeste computerchips krijgen tijdens de fabricage een vaste, onveranderlijke bedrading mee. Een FPGA (Field-Programmable Gate Array) is anders: het is een chip vol losse, generieke bouwblokjes die je ná productie zelf mag "herbedraden" tot vrijwel elk digitaal circuit dat je wilt. Vergelijk het met een doos LEGO-technic: dezelfde blokjes kun je vandaag tot een auto bouwen en morgen tot een brug, terwijl een gewone chip meer lijkt op een speelgoedautootje dat in één mal is gegoten en nooit meer van vorm verandert.
Die herprogrammeerbaarheid maakt FPGA's onmisbaar op plekken waar snelheid, korte reactietijd of flexibiliteit belangrijker zijn dan lage kosten per stuk. Ze zitten verstopt in 5G-basisstations, medische scanapparatuur, radartoepassingen, ruimtevaartelektronica en de datacenters van grote clouddiensten, meestal onzichtbaar voor de eindgebruiker maar cruciaal voor de snelheid waarmee data wordt verwerkt.
Wat is het precies?
Het hart van een FPGA bestaat uit duizenden tot miljoenen identieke bouwblokjes, LUT's genoemd (look-up tables). Een LUT is een piepklein geheugenblokje dat voor elke mogelijke combinatie van invoerbits meteen het juiste antwoord klaar heeft staan, en kan zo elke eenvoudige logische functie nabootsen, zoals een AND-, OR- of XOR-poort.
Al die LUT's zijn met elkaar verbonden via programmeerbare interconnects: een soort reusachtig, elektronisch schakelbord waarmee je zelf bepaalt welk blokje met welk ander blokje praat. Daarnaast bevat de chip flip-flops (kleine geheugenelementen die één bit vasthouden, gesynchroniseerd op een kloksignaal) om tussenresultaten op te slaan en het geheel in de pas te laten lopen.
Een ingenieur beschrijft het gewenste circuit niet in gewone programmeercode, maar in een HDL (hardware description language) zoals VHDL of Verilog. Dit is geen taal voor stap-voor-stap-instructies zoals Python, maar een taal die beschrijft welke onderdelen tegelijk, parallel, met elkaar verbonden moeten zijn. Speciale software (synthese- en place-and-route-tools) vertaalt die beschrijving vervolgens naar een bitstream: een configuratiebestand dat, eenmaal in de FPGA geladen, elke LUT en elke schakelaar in de juiste stand zet.
Dat is meteen het verschil met een CPU of GPU: die hebben vaste hardware en voeren software-instructies na elkaar (of in beperkte parallelle stromen) uit. Een FPGA daarentegen wordt zelf, tijdelijk, het circuit dat de taak uitvoert. Het verschil met een ASIC (Application-Specific Integrated Circuit, een chip die eenmalig en custom wordt gefabriceerd voor precies één taak) is dat een ASIC na productie nooit meer aangepast kan worden, terwijl je een FPGA simpelweg met een nieuwe bitstream herprogrammeert.
Wat wil men ermee bereiken?
Het belangrijkste doel is flexibiliteit zonder de kosten en doorlooptijd van een ASIC-productieproces, dat al snel tientallen miljoenen euro's en meer dan een jaar ontwikkeltijd kost. Met een FPGA test en gebruik je een ontwerp direct, en kun je fouten of nieuwe eisen later gewoon herprogrammeren.
Daarnaast bieden FPGA's lage latency (vertraging tussen invoer en uitvoer) en echte parallelle verwerking, omdat het circuit letterlijk voor de taak is gebouwd in plaats van instructies één voor één te doorlopen. Voor herhalende, gespecialiseerde taken zijn ze vaak energiezuiniger dan een CPU of GPU, al blijven ze minder zuinig dan een ASIC die exact hetzelfde doet.
Een andere reden is dat een FPGA als prototype dient vóór een dure ASIC-productierun, en dat de functie van een chip ná uitrol nog aangepast kan worden. Denk aan een satelliet die al in een baan om de aarde draait, of apparatuur die van de ene naar de andere netwerkstandaard moet overstappen zonder dat de hardware fysiek vervangen wordt.
Voorbeelden uit de praktijk
Microsoft plaatste vanaf 2014 met Project Catapult FPGA-kaarten in de servers achter zoekmachine Bing om zoekresultaten sneller te rangschikken. Het vervolg, Project Brainwave (vanaf 2017), gebruikte diezelfde FPGA-infrastructuur in Azure-datacenters voor real-time AI-inferentie (het toepassen van een al getraind AI-model op nieuwe data).
Amazon opende zijn cloudplatform AWS rond 2016-2017 met de EC2 F1-instances: klanten konden voortaan zelf FPGA-hardware in de cloud huren, onder meer voor genoomonderzoek, financiële simulaties en videocompressie.
Bij CERN gebruiken de ATLAS- en CMS-experimenten aan de Large Hadron Collider FPGA's in hun zogeheten trigger-systemen: binnen microseconden moet worden beslist welke van de miljoenen deeltjesbotsingen per seconde de moeite waard zijn om op te slaan, iets waarvoor software op een gewone processor te traag zou zijn.
Het internationale radiotelescoopproject Square Kilometre Array (SKA), waarvan de bouw rond 2021 begon in Australië en Zuid-Afrika, gebruikt FPGA's om enorme stromen ruwe radiosignalen van duizenden antennes in real time te combineren (correlatie), voordat een gewone computer de data verder kan verwerken.
In de financiële sector zetten handelshuizen die aan high-frequency trading doen FPGA's in om orders binnen nanoseconden te verwerken, omdat elke microseconde vertraging in de praktijk geld kan kosten.
Hoe ver is de techniek?
FPGA-technologie is verre van nieuw: Xilinx bracht in 1985 met de XC2064 de eerste commerciële FPGA op de markt. De techniek is dus volwassen, maar blijft evolueren, onder meer door integratie met vaste processorkernen. AMD's Versal-familie, sinds 2020 op de markt, combineert bijvoorbeeld herprogrammeerbare FPGA-logica met vaste ARM-processorkernen en aparte AI-rekeneenheden op één chip, een zogeheten adaptive SoC (system-on-chip).
Een blijvend obstakel is dat programmeren in VHDL of Verilog specialistisch werk blijft: ingenieurs moeten in parallelle circuits leren denken in plaats van in opeenvolgende softwarestappen. High-Level Synthesis (HLS)-tools proberen die drempel te verlagen door code in C of C++ automatisch naar een hardwarecircuit te vertalen, maar het resultaat is doorgaans minder efficiënt dan met de hand geschreven HDL-code.
Ook blijven FPGA's per stuk duurder en minder energiezuinig dan een ASIC die bij grote volumes wordt geproduceerd. Daardoor worden ze vooral ingezet bij lagere productievolumes, prototypes en toepassingen die snel kunnen veranderen, niet in massaconsumentenproducten zoals smartphones. Bij AI ondervinden FPGA's bovendien concurrentie van GPU's, die dominant zijn bij het trainen van AI-modellen, en van gespecialiseerde AI-ASIC's bij grootschalige inferentie.
Wie werken eraan?
De markt is de afgelopen jaren sterk geconsolideerd rond twee grote spelers. AMD nam branchepionier Xilinx over in een deal die in februari 2022 werd afgerond, ter waarde van ongeveer 35 miljard dollar. Intel nam in 2015 al concurrent Altera over voor circa 16 tot 17 miljard dollar; in 2023-2024 kondigde Intel echter aan Altera weer als apart bedrijf te willen verzelfstandigen, met een externe investering van kapitaalverstrekker Silver Lake. De exacte details van die verzelfstandiging waren op het moment van schrijven nog volop in ontwikkeling.
Kleinere, gespecialiseerde spelers zijn onder meer Lattice Semiconductor (bekend om energiezuinige FPGA's), Microchip Technology (actief via de eerdere overname van Microsemi/Actel), en nichespelers als Achronix en Efinix. Onderzoeksinstellingen zoals CERN en universiteiten als TU Delft, MIT en Stanford ontwikkelen nieuwe toepassingen en architecturen. Ook spelen FPGA's een rol in de bredere geopolitieke discussie rond chipketens tussen de Verenigde Staten, China en Europa, waarbij landen proberen minder afhankelijk te worden van een klein aantal buitenlandse leveranciers.