
Les FPGAs han passat de ser curiositats per prototipat a convertir-se en peces clau de còmput a centres de dades, sistemes encastats i solucions d'alt rendiment. La seva proposta és única: lògica digital que pots reconfigurar tantes vegades com vulguis, combinant la flexibilitat del programari amb la velocitat del maquinari especialitzat.
Si mai t'has barallat amb un Arduino i un grapat de cables, imagina una protoboard de la mida d'una pista de bàsquet, sense jumpers i connectada de forma virtual. Això és, a l'estil bèstia, el que t'ofereix una FPGA: un llenç programable de blocs lògics, memòria i rutes d'interconnexió on dibuixar des de comptadors senzills fins a processadors complets.
Dels PLD a les FPGAs: una línia temporal que ho va canviar tot
La història arrenca el 1984, quan Ross Freeman, Bernard Vonderschmitt i James V. Barnett II funden Xilinx en ple apogeu de la microelectrònica. La seva idea cristal·litza el 1985 amb la XC2064, la primera FPGA comercial, que pren el relleu dels PLD (PROM, PAL i derivats) amb un enfocament molt més granular i reconfigurable. En paral·lel, el món ASIC seguia amb cel·les estàndard i propostes com la ULA de Ferranti, però hi faltava un pont veritablement flexible entre el disseny lògic i el silici.
Aquelles primeres FPGAs de Xilinx es basaven en l'arquitectura Logic Cell Array (LCA): blocs d'entrada/sortida (IOB), blocs lògics i matriu d'interconnexió programable. Amb aquesta tríada, un dissenyador podia definir pins, construir funcions lògiques i cablejar-les de manera virtual, com si fos una protoboard sense cables. Aquesta visió va donar pas a famílies com les XC2000, ia una evolució fulgurant en densitat i prestacions.
Les xifres il·lustren el salt: 8.192 portes el 1982 (Burroughs Advanced Systems Group), 9.000 el 1987 (Xilinx), 600.000 el 1992 (Naval Surface Warfare Department) i milions a principis dels 14 milions: 2000 a 1987 milions. 385 milions el 1993, 1.900 milions el 2005, prop de 2.750 milions el 2010, 5.400 milions el 2013 i al voltant de 9.800 milions el 2020. La demanda es va disparar conforme les FPGAs van demostrar ser útils i rendibles fora del pur prototipat.
Quant a configuració, els primers dispositius carregaven el bitstream des d'EPROM/EEPROM/ROM o des d'un PC per port sèrie en encendre. Com que és tecnologia basada en SRAM, el contingut es perd sense alimentació, així que cal reconfigurar en cada arrencada. Avui és habitual carregar des de memòria flaix (per exemple, via targeta SD) i programar per USB o JTAG, mantenint el mateix principi: un flux de configuració que defineix lògica i interconnexions de forma determinista i repetible.
Arquitectura i funcionament: peces, flux i reconfiguració
En essència, una FPGA és una quadrícula de blocs lògics (LUTs, biestables, rutes de carry, etc.), blocs de memòria (BRAM), recursos de DSP i entrades/sortides, tot plegat unit per una xarxa d'interconnexions jeràrquica. Amb aquesta base, implementes des de portes bàsiques (AND, OR, XOR) i flip-flops tipus D fins a sumadors, multiplicadors o pipelins complexos, tot enllaçat amb un enrutat programable que actua com el “cablejat virtual” del teu disseny.
La configuració s'aboca com un bitstream que defineix tant la funció de cada LUT com l'estat dels multiplexors d'interconnexió. La majoria de dispositius moderns són volàtils (RAM) i necessiten recàrrega, encara que hi ha opcions no volàtils (flash, fusibles i antifusibles), reprogramables o d'única programació. Les variants reprogramables solen admetre al voltant de 10.000 cicles d'escriptura/esborrat.
Un tret diferenciador és la reconfiguració parcial: podeu reprogramar una regió mentre la resta del sistema segueix funcionant. Això habilita escenaris de computació reconfigurable, swaps dacceleradors en calent o actualitzacions dinàmiques sense parar el dispositiu. En paral·lel, moltes FPGAs integren funcions d'alt nivell directament a la matriu (multiplicadors d'alt rendiment, blocs de DSP, RAM dual-port) i, cada cop més, perifèrics de propòsit específic.
Aquest camí va portar als “sistemes programables en xip”: Virtex-II Pro i Virtex-4 van integrar nuclis PowerPC amb la lògica programable; Atmel FPSLIC va combinar un AVR amb FPGA; i, més endavant, Xilinx Zynq va fusionar CPUs Arm amb lògica reconfigurable. Al costat “tou”, els nuclis MicroBlaze i PicoBlaze (Xilinx), Nios/Nios II (Altera), o LatticeMicro32 i LatticeMicro8 (Lattice) permeten instanciar processadors com a IP dins de la FPGA per construir SoCs a mida i explorar plataformes RISC‑V com potència RISC‑V en un mini mòdul.
De “cables i C” a maquinari virtual: comparació amb microcontroladors
Qui ve del món Arduino sol muntar el circuit en protoboard, programar a C i connectar amb jumpers. Amb FPGAs, la dinàmica canvia: descrius el maquinari en un HDL i el “cablejat” ho decideix l'encaminador, sense embolic de cables. Si ho penses com una placa infinita sense limitacions físiques, ets molt a prop de la realitat: fins i tot pots “col·locar” diferents processadors i perifèrics en el disseny segons et convingui. A la pràctica, és com disposar d'una plataforma modular virtual per iterar ràpid i sense soldador.
Llenguatges i eines? La base són els HDL: VHDL i Verilog són els estàndards, però també hi ha ABEL i entorns gràfics com LabVIEW FPGA per pujar el nivell d'abstracció i revisar eines de CAD per a disseny electrònic. A l'ecosistema lliure, destaquen Yosys (síntesi), Arachne-pnr i IceStorm (place & route i bitstream per a Lattice), Icarus Verilog (simulació) i GTKWave (visualització). A més, IceStudio ofereix un enfocament visual orientat a makers i alumnes, i hi ha iniciatives com SBA (Simple Bus Architecture) amb llibreries VHDL portables per armar SoCs en diferents famílies.
A la indústria, els fabricants han empès la síntesi d'alt nivell (HLS), apropant el disseny maquinari a desenvolupadors de programari amb plataformes com Vivat, Vitis o entorns d'Altera/Intel. Això, combinat amb llibreries i IPs madures, ha retallat temps d'arribada a mercat i ha obert la porta a equips mixtos programari/maquinari col·laborin amb fluïdesa.
Avantatges i inconvenients davant ASIC i CPLD
Històricament es deia que les FPGAs eren més lentes, consumien més i no servien per a sistemes molt complexos. Tot i que aquestes afirmacions van tenir base al seu dia, avui se sostenen més per inèrcia que per realitat: les FPGAs contemporànies són capaces d'albergar dissenys de complexitat enorme, amb freqüències altes i consums optimitzats, sobretot en famílies orientades a baix consum i edge. La seva gran carta continua sent la reprogramabilitat i el cost de desenvolupament molt inferior al dun ASIC.
Davant dels CPLD, la diferència es nota en densitat i arquitectura. Un CPLD sol moure's en desenes de milers de portes lògiques equivalents i presenta una estructura de “suma de productes” més rígida, mentre una FPGA arriba a centenars de milers o milions i es basa en petits blocs interconnectables amb més llibertat. Moltes FPGAs inclouen blocs de memòria i DSP encastats, una mica menys habitual a CPLD, que brillen més en gluològic i tasques de control senzilles.
Com a contrapartida, el flux de disseny a FPGA és més exigent: cal pensar en temporització, restriccions d'enrutat i recursos de col·locació; però a canvi obtens paral·lelisme massiu i capacitat de iterar i reconfigurar sense tocar una màscara de silici.
Emulació, prototipat i el “shift-left” en el desenvolupament
En moltes empreses de silici, els primers prototips de SoC es mapegen a FPGAs per arrencar la integració de programari mesos abans de tenir el xip real. Aquesta emulació corre ordres de magnitud més ràpid que la simulació, i permet validar interaccions de maquinari/programari amb escenaris del món real. Tot i que la FPGA treballa a una fracció de la freqüència final, el temps estalviat en integració i depuració és commovedorament gran.
Al terreny educatiu i maker, les FPGAs són fantàstiques per aprendre lògica digital moderna amb projectes pràctics. Pots recrear des de màquines arcade, com un Pac-Man complet amb la seva lògica de joc, fins a ràdios definides per programari o pipelins de visió per ordinador. Tot amb l'avantatge de pujar i baixar dissenys sense por de “trencar” res.
Els centres de dades han esdevingut un altre feu natural de les FPGAs. Microsoft va anunciar el desplegament de FPGAs als data centers de Bing després d'un pilot amb resultats cridaners: +95% de throughput, amb només un +10% de consum i +30% de cost addicional. Baidu, per part seva, accelera xarxes neuronals profundes per a recerca, veu i imatge. En finances, bancs com Deutsche Bank o JP Morgan integren FPGAs per anàlisi de riscos i negociació d'alta freqüència, retallant latències de forma dràstica i mesurable.
La indústria no es va quedar mirant: Altera es va sumar a OpenPOWER per combinar CPUs POWER amb acceleradors a FPGA, buscant còmput d'altes prestacions amb baix consum. A nivell nacional, centres com Gradiant arriben amb avantatge per la seva experiència en núvol i en prototipat de comunicacions sobre FPGA, posicionant-se per als reptes que vénen.
En sectors crítics com aeroespacial i defensa, les FPGAs fa anys que demostren la seva vàlua. Per exemple, és habitual fer servir redundància modular triple (votació “dos de tres”) per mitigar errors per radiació. La capacitat d'actualització remota i adaptació a nous requisits operacionals les ha consolidat en àmbits on el maquinari està exposat i el marge d'error és mínim.
Ecosistema, comunitat i eines obertes
El moviment de FPGA obert ha crescut gràcies a figures molt actives. Tim “Mithro” Ansell ha estat un motor d'iniciatives comunitàries; Clifford “oe1cxw” Wolf va impulsar IceStorm i SymbiFlow; Juan “Obijuan_cube” González va llançar una sèrie de tutorials amb enfocament visual a IceStudio; David “fpga_dave” Shah va documentar a fons la Lattice ECP5 per a la toolchain SymbiFlow; i Piotr “esden” Esden-Tempski va finançar amb èxit la placa IceBreaker. Noms com Luke Valenty també són referència per als que comencen i desitgen camins d'entrada assequibles.
En eines, a més de les ja esmentades, el catàleg professional inclou Altium Designer (disseny electrònic amb suport per a múltiples famílies), Quartus (Altera/Intel), ISE i Vivat (Xilinx), ispLEVER (Lattice), ModelSim (simulació HDL/Verilog), Synplify (síntesi), LogicSim. Entre els recursos comunitaris, OpenCores allotja IPs lliures; hi ha fòrums i portals com FPGA Central; i utilitats com SBA System Creator acceleren la generació de SoCs basats en larquitectura SBA.
També hi ha repositoris, FAQs, tutorials i documentació universitària (per exemple, sobre “Arquitectures de FPGAs avançades”) que cobreixen des de fonaments (CPLD, GAL, PLA, PAL, PLD) fins a VLSI, gat arrays o fluxos de disseny amb LabVIEW. Fins i tot hi ha xerrades emblemàtiques, com la del professor Bob Brodersen sobre supercomputació de propòsit general amb reconfiguració, que ajuden a entendre per què aquesta tecnologia escala tan bé en rendiment per watt.
Fabricants, famílies i tendències del mercat
L'ecosistema comercial el lideren Xilinx (ara part d'AMD) i Intel (després d'adquirir Altera el 2015). Lattice Semiconductor empeny fort en baix consum i tecnologia no volàtil (flash) amb nodes com 90 nm i 130 nm, i des de 2014 ofereix dispositius RAM combinats amb memòria no volàtil no reprogramable. Microsemi (abans Actel) aposta per flaix reprogramable; QuickLogic manté línies basades en antifusibles de programació única; Atmel va explorar combos amb MCU AVR + FPGA; Achronix se centra en FPGAs molt ràpides; MathStar va experimentar amb FPOA; i Tabula va proposar lògica multiplexada en el temps.
El recorregut de Xilinx il·lustra bé l'evolució del producte: XC2064 com a primera FPGA comercial; famílies XC4000 i Virtex incorporant RAM i DSP per a infraestructura sense fil; la línia Spartan (des de 1999) obrint alternatives de cost contingut; 2001 va portar els primers SerDes integrats; i el 2011, Virtex‑7 2000T va portar a producció l'empaquetat CoWoS (2,5D) avui fonamental a HPC ia l'onada de GPUs per a IA. El 2012 van arribar Zynq (SoC adaptatius amb Arm) i Vivat Design Suite per facilitar el disseny a perfils de programari.
El 2019, els Versal van inaugurar els SoC adaptatius amb AI Engines i una xarxa d'interconnexió amb xip (NoC), acompanyats per Vitis com a plataforma de programari unificada amb eines d'IA preoptimitzades. Ja el 2024, la sèrie Versal AI Edge Gen 2 va apostar per integrar lògica programable, CPUs, DSPs i AI Engines per accelerar IA extrem a extrem en un sol xip, i la família Spartan UltraScale+ va ampliar el catàleg de solucions de cost i consum ajustat per a aplicacions amb E/S intensives. Tot això reflecteix una tendència clara: combinar heterogeneïtat i eficiència en un sol silici reconfigurable.
Aplicacions freqüents i dominis dús
Les FPGAs apareixen a DSP, ràdio definida per programari, sistemes aeroespacials i de defensa, prototipat d'ASIC, imatge mèdica, visió per computador, reconeixement de veu, bioinformàtica i emulació de maquinari. També brillen en acceleració d'IA (inferència optimitzada), xarxes (offload de paquets, inspecció profunda), xifrat i compressió, i al món industrial (control, sensòrica, temps real). Quan necessites paral·lelisme massiu, latència baixa i capacitat de adaptar el maquinari a la càrrega, una FPGA sol ser bona candidata.
Per als que parteixen de zero, hi ha comunitats i grups de treball en espanyol, fòrums especialitzats, wikis i bases de dades de dispositius, a més de col·leccions de “cores lliures” amb llicències obertes (inclosa GPL) que abasten des de microprocessadors i filtres fins a mòduls de comunicacions i memòries. Aquesta disponibilitat accelera prototipat, redueix costos i fomenta el aprenentatge pràctic.
Conceptes relacionats i terminologia útil
En explorar aquest món és comú creuar-se amb termes com gat array, VLSI, ASIC, CPLD, GAL, PLA, PAL, PLD, circuits integrats i maquinari en general. També apareixen referències a metodologies amb LabVIEW, GSD o documentació sobre “com funciona la lògica programable”. Tots formen part del vocabulari que convé tenir a la motxilla quan es treballa amb reconfigurable.
Per descomptat, l'estàndard de descripció és clau: VHDL i Verilog dominen el panorama, amb fluxos que inclouen simulació (ModelSim, Icarus Verilog), síntesi (Synplify, Yosys), place & route (eines de cada fabricant i alternatives lliures com Arachne‑pnr), anàlisi temporal i visualització amb . En paral·lel, entorns gràfics com LabVIEW FPGA o iniciatives educatives com IceStudio faciliten la corba dentrada.
Mirant enrere, queda clar que les FPGAs han passat de ser “prototips programables” a un pilar del còmput modern: conviuen amb CPUs i GPUs, acceleren càrregues crítiques, permeten actualitzar maquinari com si fos programari i ofereixen un camp de joc on makers, estudiants i professionals poden construir des d'un Pac‑Man fins a un centre de dades. Amb IA, edge i seguretat empenyent fort, i amb famílies com Versal, Zynq o Spartan UltraScale+ en plena forma, tot apunta que la evolució seguirà molt viva en els propers anys.