
FPGA'er er gået fra at være kuriositeter til prototypefremstilling til at blive nøglekomponenter i computeren i datacentre, indlejrede systemer og højtydende løsninger. Deres forslag er unikt: digital logik, som du kan rekonfigurere så mange gange, du vil, og som kombinerer softwarens fleksibilitet med specialiseret hardwares hastighed.
Hvis du nogensinde har kæmpet med en Arduino og en masse ledninger, så forestil dig et breadboard på størrelse med en basketballbane, uden jumpers og forbundet virtuelt. Det er, kort sagt, hvad en FPGA tilbyder: et programmerbart lærred af logiske blokke, hukommelse og sammenkoblingsstier, hvorpå alt fra simple tællere til komplette processorer kan trækkes.
Fra LDP'er til FPGA'er: en tidslinje, der ændrede alt
Historien begynder i 1984, da Ross Freeman, Bernard Vonderschmitt og James V. Barnett II grundlagde Xilinx på højdepunktet af mikroelektronikboomet. Deres idé krystalliserede sig i 1985 med XC2064, den første kommercielle FPGA, som overtog fra PLD'er (PROM, PAL og derivater) med en langt mere detaljeret og rekonfigurerbar tilgang. I mellemtiden fortsatte ASIC-verdenen med standardceller og forslag som Ferrantis ULA, men noget manglede. en virkelig fleksibel bro mellem logikdesign og silicium.
De første Xilinx FPGA'er var baseret på Logic Cell Array (LCA)-arkitekturen: input/output-blokke (IOB'er), logikblokke og en programmerbar forbindelsesmatrix. Med denne triade kunne en designer definere pins, bygge logikfunktioner og forbinde dem virtuelt, som om det var et breadboard uden ledninger. Denne vision gav anledning til familier som f.eks. XC2000, allerede en blændende udvikling i tæthed og ydeevne.
Tallene illustrerer springet: 8.192 døre i 1982 (Burroughs Advanced Systems Group), 9.000 i 1987 (Xilinx), 600.000 i 1992 (Naval Surface Warfare Department) og millioner mere i begyndelsen af 2000'erne. Markedet holdt trit: fra 14 millioner dollars i 1987 til 385 millioner dollars i 1993, 1.900 milliarder dollars i 2005, næsten 2.750 milliarder dollars i 2010, 5.400 milliarder dollars i 2013 og omkring 9.800 milliarder dollars i 2020. Efterspørgslen steg voldsomt, da FPGA'er viste sig at være ... nyttig og profitabel uden for ren prototyping.
Med hensyn til konfiguration indlæste tidlige enheder deres bitstrøm fra EPROM/EEPROM/ROM eller fra en pc via en seriel port ved opstart. Da denne teknologi var SRAM-baseret, gik indholdet tabt uden strøm, så rekonfiguration var nødvendig ved hver opstart. I dag er det almindeligt at indlæse fra flashhukommelse (f.eks. via SD-kort) og programmere via USB eller JTAG, hvorved man opretholder det samme princip: en konfigurationsproces, der definerer logik og sammenkoblinger. deterministisk og repeterbar.
Arkitektur og funktion: dele, flow og rekonfiguration
En FPGA er i bund og grund et gitter af logiske blokke (LUT'er, flip-flops, carry paths osv.), hukommelsesblokke (BRAM), DSP-ressourcer og input/output-pins, alle forbundet af et hierarkisk netværk af forbindelser. Med dette fundament kan du implementere alt fra basale gates (AND, OR, XOR) og D-type flip-flops til komplekse addere, multiplikatorer eller pipelines, alle forbundet af programmerbar routing, der fungerer som en ... den "virtuelle ledningsføring" af dit design.
Konfigurationen eksporteres som en bitstrøm, der definerer både funktionen af hver LUT og tilstanden af de sammenkoblede multipleksere. De fleste moderne enheder er flygtige (RAM) og kræver genopladning, selvom der findes ikke-flygtige (flash, sikringer og antisikringer), omprogrammerbare eller enkeltprogrammerbare muligheder. Omprogrammerbare varianter understøtter typisk omkring 10.000 cykler skriv/slet.
Et kendetegn er delvis rekonfiguration: du kan omprogrammere en region, mens resten af systemet fortsætter med at køre. Dette muliggør rekonfigurerbare computerscenarier, hot-swapping af acceleratorer eller dynamiske opgraderinger uden at lukke enheden ned. Parallelt integrerer mange FPGA'er funktioner på højt niveau direkte i chipen (højtydende multiplikatorer, DSP-blokke, dual-port RAM) og i stigende grad, specialudstyr.
Denne vej førte til "programmerbare systemer på en chip": Virtex-II Pro og Virtex-4 integrerede PowerPC-kerner med programmerbar logik; Atmel FPSLIC kombinerede en AVR med en FPGA; og senere fusionerede Xilinx Zynq Arm CPU'er med rekonfigurerbar logik. På den "bløde" side tillader MicroBlaze- og PicoBlaze-kernerne (Xilinx), Nios/Nios II (Altera) eller LatticeMicro32 og LatticeMicro8 (Lattice) at processorer instantieres som IP inden for FPGA'en for at bygge ... Brugerdefinerede SoC'er og udforske RISC-V platforme som f.eks. RISC-V strøm i et minimodul.
Fra "ledninger og C" til virtuel hardware: en sammenligning med mikrocontrollere
Dem, der kommer fra Arduino-verdenen, samler normalt kredsløbet på et breadboard, programmerer i C og forbinder med jumpers. Med FPGA'er ændrer dynamikken sig: man beskriver hardwaren i en HDL (Hardware Definition Language), og routeren bestemmer "ledningsføringen", hvilket eliminerer besværet med kabler. Hvis man tænker på det som et uendeligt board uden fysiske begrænsninger, er man meget tæt på virkeligheden: man kan endda "placere" forskellige processorer og periferiudstyr i designet efter behov. I praksis er det ligesom at have en FPGA. virtuel modulær platform til hurtig iteration og uden loddekolbe.
Sprog og værktøjer? Fundamentet er HDL'er: VHDL og Verilog er standarderne, men der findes også ABEL og grafiske miljøer som LabVIEW FPGA for at hæve abstraktionsniveauet og gennemgå værktøjer til CAD til elektronisk designI open source-økosystemet omfatter bemærkelsesværdige eksempler Yosys (syntese), Arachne-pnr og IceStorm (placering og rute og bitstrøm til Lattice), Icarus Verilog (simulering) og GTKWave (visualisering). Derudover tilbyder IceStudio en visuel tilgang rettet mod skabere og studerende, og der er initiativer som f.eks. SBA (Simpel busarkitektur) med bærbare VHDL-biblioteker til at bygge SoC'er i forskellige familier.
I branchen har producenterne fremmet højniveausyntese (HLS), hvilket bringer hardwaredesign tættere på softwareudviklere med platforme som Vivado, Vitis eller Altera/Intel-miljøer. Dette, kombineret med modne biblioteker og IP'er, har forkortet time-to-market og åbnet døren for hybride teams. software/hardware samarbejde problemfrit.
Fordele og ulemper sammenlignet med ASIC og CPLD
Historisk set blev FPGA'er sagt at være langsommere, mere strømkrævende og uegnede til meget komplekse systemer. Selvom disse påstande havde et vist grundlag i virkeligheden, er de i dag mere understøttet af inerti end af fakta: Moderne FPGA'er er i stand til at understøtte ekstremt komplekse designs med høje frekvenser og optimeret strømforbrug, især i familier rettet mod lavt strømforbrug og edge-applikationer. Deres største styrke forbliver omprogrammerbarhed og udviklingsomkostninger langt ringere end en ASIC.
Sammenlignet med CPLD'er ligger forskellen i tæthed og arkitektur. En CPLD bruger typisk titusindvis af ækvivalente logiske gates og har en mere rigid "sum-of-products"-arkitektur, mens en FPGA bruger hundredtusindvis eller millioner af gates og er baseret på mindre, mere frit sammenkoblede blokke. Mange FPGA'er inkluderer blokke af hukommelse og DSP indlejret, noget mindre almindeligt i CPLD'er, som skinner mere i limlogik og simple kontrolopgaver.
Omvendt er FPGA-designarbejdsgangen mere krævende: du skal overveje timing, routingbegrænsninger og ressourceallokering; men til gengæld får du massiv parallelisme og evnen til at iterere og rekonfigurere uden at røre en silikonemaske.
Emulering, prototyping og "skiftet til venstre" i udvikling
I mange siliciumvirksomheder bliver tidlige SoC-prototyper mappet på FPGA'er for at begynde softwareintegrationen måneder før den faktiske chip er tilgængelig. Denne emulering kører størrelsesordener hurtigere end simulering og muliggør validering af hardware/software-interaktioner i virkelige scenarier. Selvom FPGA'en opererer med en brøkdel af den endelige frekvens, er den tid, der spares på integration og fejlfinding, betydelig. rørende storslået.
Inden for uddannelses- og maker-områderne er FPGA'er fantastiske til at lære moderne digital logik gennem praktiske projekter. Du kan genskabe alt fra arkademaskiner, som en komplet Pac-Man med dens spillogik, til softwaredefinerede radioer eller computer vision-pipelines. Alt sammen med fordelen af uploade og downloade designs uden frygt for at "ødelægge" noget.
Datacentre er blevet endnu en naturlig bastion for FPGA'er. Microsoft annoncerede implementeringen af FPGA'er i Bings datacentre efter et pilotprogram med slående resultater: en stigning på 95 % i gennemløbshastighed, med kun en stigning på 10 % i strømforbruget og en reduktion på 30 % i omkostningerne. Baidu accelererer på sin side dybe neurale netværk til søgning, tale- og billedbehandling. Inden for finans integrerer banker som Deutsche Bank og JP Morgan FPGA'er til risikoanalyse og højfrekvent handel, hvilket reducerer latenstid betydeligt. drastisk og målbar.
Branchen stod ikke passivt til: Altera sluttede sig til OpenPOWER for at kombinere POWER CPU'er med FPGA-acceleratorer med det formål at opnå højtydende databehandling med lavt strømforbrug. På nationalt plan har centre som Gradiant et forspring på grund af deres erfaring inden for cloud computing og FPGA-baseret kommunikationsprototyping, hvilket positionerer sig til... udfordringer forude.
I kritiske sektorer som luftfart og forsvar har FPGA'er bevist deres værd i årevis. For eksempel er det almindeligt at bruge triple modular redundans (to ud af tre stemmer) for at afbøde strålingsfejl. Deres evne til at blive opgraderet eksternt og tilpasset nye operationelle krav har cementeret deres plads i områder, hvor hardware er udsat, og fejlmarginen er kritisk. mindste.
Økosystem, fællesskab og åbne værktøjer
Bevægelsen for åbne FPGA'er er vokset takket være mange aktive personer. Tim "Mithro" Ansell har været en drivkraft bag fællesskabsinitiativer; Clifford "oe1cxw" Wolf stod i spidsen for IceStorm og SymbiFlow; Juan "Obijuan_cube" González lancerede en række visuelt fokuserede tutorials på IceStudio; David "fpga_dave" Shah dokumenterede grundigt Lattice ECP5 til SymbiFlow-værktøjskæden; og Piotr "esden" Esden-Tempski finansierede med succes IceBreaker-boardet. Navne som Luke Valenty er også et referencepunkt for dem, der er nye og ønsker at lære mere. overkommelige indkørsler.
Med hensyn til værktøjer, udover de allerede nævnte, omfatter det professionelle katalog Altium Designer (elektronisk design med understøttelse af flere familier), Quartus (Altera/Intel), ISE og Vivado (Xilinx), ispLEVER (Lattice), ModelSim (HDL/Verilog-simulering), Synplify (syntese), LogicSim (simulering) og platforme på højt niveau som Vitis. Blandt fællesskabets ressourcer er OpenCores Den hoster gratis IP-adresser; der er fora og portaler som FPGA Central; og værktøjer som SBA System Creator accelererer genereringen af SoC'er baseret på SBA-arkitekturen.
Der er også arkiver, ofte stillede spørgsmål, vejledninger og universitetsdokumentation (f.eks. om "Avancerede FPGA-arkitekturer"), der dækker alt fra grundlæggende elementer (CPLD, GAL, PLA, PAL, PLD) til VLSI, gate arrays og designworkflows med LabVIEW. Der er endda skelsættende foredrag, såsom professor Bob Brodersens om generel supercomputing med rekonfiguration, der hjælper med at forklare hvorfor Denne teknologi skalerer så godt i ydelse pr. watt.
Producenter, familier og markedstendenser
Det kommercielle økosystem ledes af Xilinx (nu en del af AMD) og Intel (efter at have opkøbt Altera i 2015). Lattice Semiconductor presser hårdt på inden for lavenergi- og ikke-flygtig (flash) teknologi med noder som 90 nm og 130 nm, og har siden 2014 tilbudt RAM-enheder kombineret med ikke-reprogrammerbar ikke-flygtig hukommelse. Microsemi (tidligere Actel) satser på reprogrammerbar flash; QuickLogic vedligeholder linjer baseret på programmerbare antifuses; Atmel udforskede kombinationer med AVR MCU'er og FPGA'er; Achronix fokuserer på FPGA'er. meget hurtigtMathStar eksperimenterede med FPOA; og Tabula foreslog tidsmultiplekset logik.
Xilinx' rejse illustrerer tydeligt produktudviklingen: XC2064 som den første kommercielle FPGA; XC4000- og Virtex-familierne, der inkorporerer RAM og DSP til trådløs infrastruktur; Spartan-linjen (siden 1999), der åbner op for omkostningseffektive alternativer; 2001 bragte de første integrerede SerDes; og i 2011 bragte Virtex-7 2000T CoWoS (2,5D)-pakning til produktion, som nu er fundamental i HPC og bølgen af GPU'er til AI. I 2012 kom Zynq (adaptive SoC'er med Arm) og Vivado Design Suite for at lette designet af softwareprofiler.
I 2019 var Versal pionerer inden for adaptive SoC'er med AI-motorer og et on-chip-interconnect-netværk (NoC), ledsaget af Vitis som en samlet softwareplatform med præoptimerede AI-værktøjer. I 2024 fokuserede Versal AI Edge Gen 2-serien derefter på at integrere programmerbar logik, CPU'er, DSP'er og AI-motorer for at accelerere end-to-end AI på en enkelt chip, mens Spartan UltraScale+-familien udvidede porteføljen af omkostningseffektive, energieffektive løsninger til I/O-intensive edge-applikationer. Alt dette afspejler en klar tendens: at kombinere heterogenitet og effektivitet på en enkelt rekonfigurerbar siliciumchip.
Almindelige anvendelser og anvendelsesområder
FPGA'er optræder i DSP, softwaredefineret radio, luftfarts- og forsvarssystemer, ASIC-prototyping, medicinsk billeddannelse, computervision, talegenkendelse, bioinformatik og hardwareemulering. De udmærker sig også inden for AI-acceleration (optimeret inferens), netværk (pakkeaflastning, dybdegående inspektion), kryptering og komprimering samt i den industrielle verden (kontrol, sensorer, realtid). Når du har brug for massiv parallelisme, lav latenstid og kapaciteten til at ... tilpas hardwaren Til den aktuelle opgave er en FPGA normalt en god kandidat.
For dem, der starter helt fra bunden, findes der spansktalende fællesskaber og arbejdsgrupper, specialiserede fora, wikier og enhedsdatabaser, samt samlinger af open source-kerner (inklusive GPL), der spænder fra mikroprocessorer og filtre til kommunikationsmoduler og hukommelse. Denne tilgængelighed accelererer prototyping, reducerer omkostninger og fremmer innovation. praktisk læring.
Relaterede begreber og nyttig terminologi
Når man udforsker denne verden, er det almindeligt at støde på termer som gate array, VLSI, ASIC, CPLD, GAL, PLA, PAL, PLD, integrerede kredsløb og hardware generelt. Du finder også referencer til metoder, der bruger LabVIEW, GSD eller dokumentation om "hvordan programmerbar logik fungerer". Alle disse udgør en del af det nyttige ordforråd. have i din rygsæk når man arbejder med rekonfigurerbar.
Beskrivelsesstandarden er selvfølgelig nøglen: VHDL og Verilog dominerer landskabet med arbejdsgange, der inkluderer simulering (ModelSim, Icarus Verilog), syntese (Synplify, Yosys), placering og rute (ved hjælp af leverandørværktøjer og open source-alternativer som Arachne-pnr), tidsanalyse og visualisering med GTKWave. Parallelt hermed er grafiske miljøer som LabVIEW FPGA og uddannelsesinitiativer som f.eks. IsStudio De letter indgangskurven.
Når man ser tilbage, er det tydeligt, at FPGA'er er gået fra at være "programmerbare prototyper" til en søjle i moderne databehandling: de sameksisterer med CPU'er og GPU'er, accelererer kritiske arbejdsbelastninger, tillader hardwareopdateringer ligesom software og tilbyder en spilleplads, hvor producenter, studerende og professionelle kan bygge alt fra et Pac-Man-spil til et datacenter. Med AI, edge computing og sikkerhed i fuld gang, og med familier som Versal, Zynq og Spartan UltraScale+ i topform, peger alt på fremtiden for FPGA'er. Evolutionen vil fortsat være meget levende. i de næste år.