Vývoj FPGA: od prototypovania k adaptívnemu počítaniu

  • Od PLD a skorých LCA až po adaptívne SoC s AI Engines a NoC.
  • Rekonfigurovateľná architektúra: LUT, BRAM, DSP, I/O a čiastočná rekonfigurácia.
  • Príklady z reálneho sveta: skorá emulácia, dátové centrá, umelá inteligencia, letecký priemysel a financie.
  • Robustný ekosystém: otvorené nástroje, bezplatné IP a poprední výrobcovia.

Vývoj FPGA

FPGA sa z kurioziet na prototypovanie stali kľúčové výpočtové komponenty v dátových centrách, vstavaných systémoch a vysokovýkonných riešeniach. Ich ponuka je jedinečná: digitálna logika, ktorú môžete prekonfigurovať toľkokrát, koľkokrát chcete, kombinujúca flexibilitu softvéru s rýchlosťou špecializovaného hardvéru.

Ak ste sa niekedy trápili s Arduinom a kopou káblov, predstavte si nepájivú dosku veľkosti basketbalového ihriska, bez prepojok a virtuálne zapojenú. To je v skratke to, čo FPGA ponúka: programovateľné plátno logických blokov, pamäte a prepojovacích ciest, na ktorých sa dá kresliť všetko od jednoduchých počítadiel až po kompletné procesory.

Od LDP po FPGA: časová os, ktorá zmenila všetko

Príbeh sa začína v roku 1984, keď Ross Freeman, Bernard Vonderschmitt a James V. Barnett II založili spoločnosť Xilinx na vrchole boomu mikroelektroniky. Ich myšlienka sa zhmotnila v roku 1985 s XC2064, prvým komerčným FPGA, ktoré nahradilo PLD (PROM, PAL a deriváty) oveľa granulárnejším a rekonfigurovateľnejším prístupom. Medzitým svet ASIC pokračoval so štandardnými bunkami a návrhmi, ako napríklad Ferrantiho ULA, ale niečo chýbalo. skutočne flexibilný most medzi návrhom logiky a kremíkom.

Tieto prvé FPGA od spoločnosti Xilinx boli založené na architektúre Logic Cell Array (LCA): vstupno-výstupné bloky (IOB), logické bloky a programovateľná prepojovacia matica. S touto triádou mohol návrhár definovať piny, vytvárať logické funkcie a virtuálne ich zapájať, akoby to bola nepájivá doska bez vodičov. Táto vízia viedla k vzniku rodín čipov, ako napríklad XC2000, čo už predstavuje oslnivý vývoj v oblasti hustoty a výkonu.

Čísla ilustrujú tento skok: 8 192 dverí v roku 1982 (Burroughs Advanced Systems Group), 9 000 v roku 1987 (Xilinx), 600 000 v roku 1992 (Naval Surface Warfare Department) a ďalšie milióny na začiatku 21. storočia. Trh držal krok: zo 14 miliónov dolárov v roku 1987 na 385 miliónov dolárov v roku 1993, 1,9 miliardy dolárov v roku 2005, takmer 2,75 miliardy dolárov v roku 2010, 5,4 miliardy dolárov v roku 2013 a približne 9,8 miliardy dolárov v roku 2020. Dopyt prudko vzrástol, keďže sa FPGA ukázali ako... užitočné a ziskové mimo čistého prototypovania.

Čo sa týka konfigurácie, skoré zariadenia načítavali svoj bitový tok z EPROM/EEPROM/ROM alebo z počítača cez sériový port po zapnutí. Keďže táto technológia bola založená na SRAM, obsah sa bez napájania strácal, takže pri každom spustení bola potrebná rekonfigurácia. Dnes je bežné načítavať z flash pamäte (napríklad cez SD kartu) a programovať cez USB alebo JTAG, pričom sa zachováva rovnaký princíp: konfiguračný tok, ktorý definuje logiku a prepojenia. deterministický a opakovateľný.

Architektúra a funkcia: časti, tok a rekonfigurácia

V podstate je FPGA mriežka logických blokov (LUT, klopné obvody, prenosové cesty atď.), pamäťových blokov (BRAM), zdrojov DSP a vstupno-výstupných pinov, všetky prepojené hierarchickou sieťou prepojení. S týmto základom môžete implementovať všetko od základných hradiel (AND, OR, XOR) a klopných obvodov typu D až po komplexné sčítačky, násobičky alebo kanály, všetky prepojené programovateľným smerovaním, ktoré funguje ako... „virtuálne zapojenie“ vášho návrhu.

Konfigurácia sa exportuje ako bitový tok, ktorý definuje funkciu každej LUT aj stav prepojených multiplexorov. Väčšina moderných zariadení je volatilná (RAM) a vyžaduje dobíjanie, hoci existujú aj energeticky nezávislé (flash, poistky a antipoistky), preprogramovateľné alebo jednorazovo programovateľné možnosti. Preprogramovateľné varianty zvyčajne podporujú približne 10.000 cyklov zapisovať/mazať.

Charakteristickým znakom je čiastočná rekonfigurácia: môžete preprogramovať oblasť, zatiaľ čo zvyšok systému pokračuje v prevádzke. To umožňuje rekonfigurovateľné výpočtové scenáre, výmenu akcelerátorov za chodu alebo dynamické aktualizácie bez vypnutia zariadenia. Súbežne mnoho FPGA integruje funkcie vysokej úrovne priamo do čipu (vysokovýkonné multiplikátory, bloky DSP, dvojportovú RAM) a čoraz častejšie, periférie na špeciálne účely.

Táto cesta viedla k „programovateľným systémom na čipe“: Virtex-II Pro a Virtex-4 integrovali jadrá PowerPC s programovateľnou logikou; Atmel FPSLIC kombinoval AVR s FPGA; a neskôr Xilinx Zynq spojil CPU Arm s rekonfigurovateľnou logikou. Na „mäkkej“ strane jadrá MicroBlaze a PicoBlaze (Xilinx), Nios/Nios II (Altera) alebo LatticeMicro32 a LatticeMicro8 (Lattice) umožňujú inicializáciu procesorov ako IP v rámci FPGA na zostavenie... Vlastné SoC a preskúmať platformy RISC-V, ako napríklad Napájanie RISC-V v mini module.

Od „vodičov a C“ k virtuálnemu hardvéru: porovnanie s mikrokontrolérmi

Tí, ktorí prichádzajú zo sveta Arduina, zvyčajne zostavia obvod na nepájivej doske, naprogramujú ho v jazyku C a prepoja ho pomocou prepojok. Pri FPGA sa dynamika mení: hardvér popíšete v jazyku HDL (Hardware Definition Language) a router rozhodne o „zapojení“, čím sa eliminuje zložitosť s káblami. Ak si to predstavíte ako nekonečnú dosku bez fyzických obmedzení, ste veľmi blízko realite: do návrhu môžete podľa potreby „umiestniť“ rôzne procesory a periférie. V praxi je to ako mať FPGA. virtuálna modulárna platforma pre rýchlu iteráciu a bez spájkovačky.

Jazyky a nástroje? Základom sú HDL: štandardmi sú VHDL a Verilog, ale existujú aj ABEL a grafické prostredia ako LabVIEW FPGA na zvýšenie úrovne abstrakcie a nástrojov na kontrolu. CAD pre elektronický návrhV ekosystéme s otvoreným zdrojovým kódom patria medzi významné príklady Yosys (syntéza), Arachne-pnr a IceStorm (place & route a bitstream pre Lattice), Icarus Verilog (simulácia) a GTKWave (vizualizácia). Okrem toho IceStudio ponúka vizuálny prístup zameraný na tvorcov a študentov a existujú iniciatívy ako napríklad SBA (jednoduchá architektúra zbernice) s prenosnými knižnicami VHDL na zostavenie SoC v rôznych rodinách.

V tomto odvetví výrobcovia presadzujú syntézu na vysokej úrovni (HLS), čím približujú návrh hardvéru vývojárom softvéru pomocou platforiem ako Vivado, Vitis alebo prostredia Altera/Intel. Toto v kombinácii so zrelými knižnicami a IP skrátilo čas uvedenia na trh a otvorilo dvere hybridným tímom. softvér/hardvér hladko spolupracovať.

Výhody a nevýhody v porovnaní s ASIC a CPLD

Historicky sa o FPGA hovorilo, že sú pomalšie, energeticky náročnejšie a nevhodné pre vysoko zložité systémy. Hoci tieto tvrdenia mali určitý základ v realite, dnes sú skôr podložené zotrvačnosťou než faktami: súčasné FPGA sú schopné podporovať extrémne zložité návrhy s vysokými frekvenciami a optimalizovanou spotrebou energie, najmä v rodinách zameraných na nízkopríkonové a okrajové aplikácie. Ich najväčšou silnou stránkou zostáva... preprogramovateľnosť a náklady na vývoj oveľa horšie ako u ASIC.

V porovnaní s CPLD spočíva rozdiel v hustote a architektúre. CPLD zvyčajne používa desiatky tisíc ekvivalentných logických hradiel a má rigidnejšiu architektúru „súčtu produktov“, zatiaľ čo FPGA používa stovky tisíc alebo milióny hradiel a je založená na menších, voľnejšie prepojiteľných blokoch. Mnohé FPGA obsahujú bloky pamäť a DSP vstavané, čo je menej bežné v CPLD, ktoré viac vynikajú v logike lepenia a jednoduchých úlohách riadenia.

Naopak, pracovný postup návrhu FPGA je náročnejší: musíte zvážiť časovanie, obmedzenia smerovania a alokáciu zdrojov; na oplátku však získate masívny paralelizmus a schopnosť iterovať a prekonfigurovať bez dotyku silikónovej masky.

Emulácia, prototypovanie a „shift doľava“ vo vývoji

V mnohých kremíkových spoločnostiach sa skoré prototypy SoC mapujú na FPGA, aby sa začala softvérová integrácia mesiace predtým, ako je skutočný čip dostupný. Táto emulácia beží rádovo rýchlejšie ako simulácia a umožňuje overenie interakcií hardvéru a softvéru v reálnych scenároch. Hoci FPGA pracuje na zlomku konečnej frekvencie, čas ušetrený pri integrácii a ladení je značný. dojímavo veľkolepý.

Vo vzdelávacej a tvorcovskej oblasti sú FPGA fantastické na učenie sa modernej digitálnej logiky prostredníctvom praktických projektov. Môžete si s nimi vytvoriť všetko od arkádových automatov, ako napríklad kompletný Pac-Man s hernou logikou, až po softvérovo definované rádiá alebo počítačové videnie. To všetko s výhodou... nahrávanie a sťahovanie návrhov bez strachu, že niečo „rozbijem“.

Dátové centrá sa stali ďalšou prirodzenou baštou pre FPGA. Spoločnosť Microsoft oznámila nasadenie FPGA v dátových centrách spoločnosti Bing po pilotnom programe s pozoruhodnými výsledkami: 95 % nárast priepustnosti, s iba 10 % nárastom spotreby energie a 30 % znížením nákladov. Baidu zas zrýchľuje hlboké neurónové siete pre vyhľadávanie, spracovanie hlasu a obrazu. Vo finančníctve banky ako Deutsche Bank a JP Morgan integrujú FPGA pre analýzu rizík a vysokofrekvenčné obchodovanie, čím výrazne znižujú latenciu. drastické a merateľné.

Priemysel sa nedržal nečinne: Altera sa pripojila k OpenPOWER, aby skombinovala procesory POWER s akcelerátormi FPGA s cieľom dosiahnuť vysokovýkonné výpočty s nízkou spotrebou energie. Na domácom trhu majú centrá ako Gradiant náskok vďaka svojim skúsenostiam v oblasti cloud computingu a prototypovania komunikácií založených na FPGA, čím sa pozicionujú pre... výzvy, ktoré nás čakajú.

V kritických odvetviach, ako je letecký a kozmický priemysel a obrana, sa FPGA už roky osvedčujú. Napríklad je bežné používať trojitú modulárnu redundanciu (hlasovanie dvoch z troch) na zmiernenie radiačných porúch. Ich schopnosť diaľkovo aktualizovať a prispôsobovať sa novým prevádzkovým požiadavkám upevnila ich miesto v oblastiach, kde je hardvér vystavený riziku a kde je priestor pre chyby kritický. minimum.

Ekosystém, komunita a otvorené nástroje

Hnutie otvorených FPGA sa rozrástlo vďaka mnohým aktívnym osobnostiam. Tim „Mithro“ Ansell bol hnacou silou komunitných iniciatív; Clifford „oe1cxw“ Wolf stál na čele IceStorm a SymbiFlow; Juan „Obijuan_cube“ González spustil sériu vizuálne zameraných tutoriálov o IceStudio; David „fpga_dave“ Shah dôkladne zdokumentoval Lattice ECP5 pre nástrojovú sadu SymbiFlow; a Piotr „esden“ Esden-Tempski úspešne financoval dosku IceBreaker. Mená ako Luke Valenty sú tiež referenčným bodom pre tých, ktorí začínajú a chcú sa dozvedieť viac. cenovo dostupné príjazdové cesty.

Pokiaľ ide o nástroje, okrem už spomínaných nástrojov obsahuje profesionálny katalóg aj Altium Designer (elektronický návrh s podporou viacerých skupín procesorov), Quartus (Altera/Intel), ISE a Vivado (Xilinx), ispLEVER (Lattice), ModelSim (simulácia HDL/Verilog), Synplify (syntéza), LogicSim (simulácia) a platformy na vysokej úrovni, ako napríklad Vitis. Medzi komunitné zdroje patria: OpenCores Hostuje bezplatné IP adresy; existujú fóra a portály ako FPGA Central; a nástroje ako SBA System Creator urýchľujú generovanie SoC na základe architektúry SBA.

K dispozícii sú aj repozitáre, často kladené otázky, návody a univerzitná dokumentácia (napríklad na tému „Pokročilé architektúry FPGA“), ktoré pokrývajú všetko od základov (CPLD, GAL, PLA, PAL, PLD) až po VLSI, hradlové polia a návrhové pracovné postupy s LabVIEW. Existujú dokonca aj prelomové prednášky, ako napríklad prednáška profesora Boba Brodersena o univerzálnych superpočítačoch s rekonfiguráciou, ktoré pomáhajú vysvetliť, prečo Táto technológia sa tak dobre škáluje vo výkone na watt.

Výrobcovia, rodiny a trendy na trhu

Komerčný ekosystém vedú spoločnosti Xilinx (teraz súčasť AMD) a Intel (po akvizícii spoločnosti Altera v roku 2015). Spoločnosť Lattice Semiconductor intenzívne presadzuje nízkoenergetickú a energeticky nezávislú (flash) technológiu s uzlami ako 90 nm a 130 nm a od roku 2014 ponúka zariadenia RAM kombinované s neprogramovateľnou energeticky nezávislou pamäťou. Microsemi (predtým Actel) vsádza na programovateľnú flash pamäť; QuickLogic udržiava rady založené na programovateľných antifuse; Atmel skúmal kombinácie s AVR MCU a FPGA; Achronix sa zameriava na FPGA. veľmi rýchloMathStar experimentoval s FPOA a Tabula navrhol časovo multiplexovanú logiku.

Cesta spoločnosti Xilinx jasne ilustruje vývoj produktov: XC2064 ako prvá komerčná FPGA; rodiny XC4000 a Virtex obsahujúce RAM a DSP pre bezdrôtovú infraštruktúru; rad Spartan (od roku 1999) otvárajúci cenovo dostupné alternatívy; rok 2001 priniesol prvý integrovaný SerDes; a v roku 2011 Virtex-7 2000T priniesol do výroby puzdro CoWoS (2,5D), ktoré je dnes základom pre HPC a vlnu GPU pre AI. V roku 2012 prišli Zynq (adaptívne SoC s Arm) a Dizajnová suita Vivado na uľahčenie návrhu softvérových profilov.

V roku 2019 spoločnosť Versal priekopnícky predstavila adaptívne SoC s AI Engines a prepojovacími sieťami na čipe (NoC), spolu s Vitis ako jednotnou softvérovou platformou s predoptimalizovanými nástrojmi AI. V roku 2024 sa séria Versal AI Edge Gen 2 zamerala na integráciu programovateľnej logiky, CPU, DSP a AI Engines s cieľom urýchliť komplexnú AI na jednom čipe, zatiaľ čo rodina Spartan UltraScale+ rozšírila portfólio nákladovo efektívnych a energeticky úsporných riešení pre edge aplikácie s vysokými I/O. To všetko odráža jasný trend: kombinovanie... heterogenita a efektívnosť na jednom rekonfigurovateľnom kremíkovom čipe.

Bežné aplikácie a oblasti použitia

FPGA sa vyskytujú v DSP, softvérovo definovanom rádiu, leteckých a obranných systémoch, prototypovaní ASIC, lekárskom zobrazovaní, počítačovom videní, rozpoznávaní reči, bioinformatike a emulácii hardvéru. Vynikajú tiež v akcelerácii umelej inteligencie (optimalizovaná inferencia), sieťovaní (odľahčenie paketov, hĺbková inšpekcia), šifrovaní a kompresii a v priemyselnom svete (riadenie, senzory, reálny čas). Keď potrebujete masívny paralelizmus, nízku latenciu a schopnosť... prispôsobiť hardvér Pre danú úlohu je zvyčajne dobrým kandidátom FPGA.

Pre tých, ktorí začínajú od nuly, sú k dispozícii španielsky hovoriace komunity a pracovné skupiny, špecializované fóra, wiki a databázy zariadení, ako aj kolekcie jadier s otvoreným zdrojovým kódom (vrátane GPL) od mikroprocesorov a filtrov až po komunikačné moduly a pamäte. Táto dostupnosť urýchľuje prototypovanie, znižuje náklady a podporuje inovácie. praktické učenie.

Súvisiace pojmy a užitočná terminológia

Pri skúmaní tohto sveta sa bežne stretávame s pojmami ako hradlové pole, VLSI, ASIC, CPLD, GAL, PLA, PAL, PLD, integrované obvody a hardvér vo všeobecnosti. Nájdete tu aj odkazy na metodiky používajúce LabVIEW, GSD alebo dokumentáciu o tom, „ako funguje programovateľná logika“. Všetky tieto pojmy tvoria súčasť užitočnej slovnej zásoby. mať v batohu pri práci s rekonfigurovateľnými.

Samozrejme, kľúčový je štandard popisu: VHDL a Verilog dominujú v tejto oblasti s pracovnými postupmi, ktoré zahŕňajú simuláciu (ModelSim, Icarus Verilog), syntézu (Symplify, Yosys), umiestnenie a trasu (s využitím nástrojov dodávateľov a alternatív s otvoreným zdrojovým kódom, ako je Arachne-pnr), časovú analýzu a vizualizáciu pomocou GTKWave. Súbežne s tým sa rozvíjajú grafické prostredia ako LabVIEW FPGA a vzdelávacie iniciatívy, ako napríklad IceStudio Uľahčujú vstupnú krivku.

Pri spätnom pohľade je jasné, že FPGA sa z „programovateľných prototypov“ stali pilierom modernej výpočtovej techniky: koexistujú s CPU a GPU, urýchľujú kritické pracovné zaťaženia, umožňujú aktualizáciu hardvéru rovnako ako softvéru a ponúkajú priestor, kde môžu tvorcovia, študenti a profesionáli stavať všetko od hry Pac-Man až po dátové centrum. S umelou inteligenciou, edge computingom a bezpečnosťou, ktoré sa intenzívne rozvíjajú, a s rodinami ako Versal, Zynq a Spartan UltraScale+ vo vrcholnej forme, všetko poukazuje na budúcnosť FPGA. Evolúcia bude naďalej veľmi živá. v nasledujúcich rokoch.

banánový pí BPI cm6
Súvisiaci článok:
Všetky technické špecifikácie Banana Pi BPI-CM6: Napájanie RISC-V v mini module