Pole programovatelné brány - Field-programmable gate array

Spartánská FPGA od Xilinx

Programovatelné hradlové pole ( FPGA ) je integrovaný obvod navržen tak, aby být nakonfigurován zákazníkem nebo designéra po vyrobení - odtud termín pole programovatelné . Konfigurace FPGA je obecně specifikována pomocí hardwarového popisu jazyka (HDL), podobného tomu, který se používá pro integrovaný obvod specifický pro aplikaci (ASIC). Ke specifikaci konfigurace byly dříve použity obvodové diagramy , ale to je vzhledem k příchodu nástrojů pro automatizaci elektronického návrhu stále vzácnější .

FPGA obsahují řadu programovatelných logických bloků a hierarchii rekonfigurovatelných propojení, která umožňují vzájemné propojení bloků. Logické bloky lze konfigurovat tak, aby vykonávaly složité kombinační funkce , nebo fungovaly jako jednoduché logické brány jako AND a XOR . Ve většině FPGA logické bloky také obsahují paměťové prvky , což mohou být jednoduché klopné obvody nebo úplnější bloky paměti. Mnoho FPGA lze přeprogramovat tak, aby implementovaly různé logické funkce , což umožňuje flexibilní rekonfigurovatelné výpočty prováděné v počítačovém softwaru .

FPGA hrají významnou roli ve vývoji vestavěných systémů díky jejich schopnosti zahájit vývoj systémového softwaru (SW) současně s hardwarem (HW), umožnit simulace výkonu systému ve velmi rané fázi vývoje a umožnit různé rozdělení systému (SW a HW) ) zkoušky a iterace před konečným zmrazením architektury systému.

Technický design

Současná pole programovatelná hradla (FPGA) mají velké zdroje logických bran a bloků RAM k implementaci komplexních digitálních výpočtů. Jelikož návrhy FPGA využívají velmi rychlé I/O sazby a obousměrné datové sběrnice , je výzvou ověřit správné načasování platných dat během doby nastavení a doby zdržení.

Podlahové plánování umožňuje alokaci zdrojů v rámci FPGA ke splnění těchto časových omezení. FPGA lze použít k implementaci jakékoli logické funkce, kterou může ASIC provádět. Možnost aktualizovat funkčnost po odeslání, částečná opětovná konfigurace části návrhu a nízké neopakující se technické náklady vzhledem k návrhu ASIC (bez ohledu na obecně vyšší jednotkové náklady) nabízejí výhody pro mnoho aplikací.

Některé FPGA mají kromě digitálních funkcí také analogové funkce. Nejběžnější analog znakem je programovatelná rychlost přeběhu na každé výstupní pin, umožňuje technika pro nastavení nízké ceny na lehce zatížených čepy, které by jinak kruh nebo pár nepřijatelně, a nastavit vyšší rychlosti na silně zatížených kolíky na vysokorychlostních kanálů, které by jinak běžte příliš pomalu. Běžné jsou také oscilátory s křemenným krystalem , odporové kapacitní oscilátory na čipu a fázově uzamčené smyčky s vestavěnými napěťově řízenými oscilátory používanými pro generování a správu hodin, jakož i pro vysokorychlostní serializátor-deserializátor (SERDES) vysílací hodiny a přijímač zotavení hodin. Poměrně běžné jsou diferenciální komparátory na vstupních pinech určené k připojení k diferenciálním signalizačním kanálům. Několik „ FPGA se smíšeným signálem “ má integrované periferní převodníky analogově-digitální (ADC) a převodníky digitálně-analogových (DAC) s bloky pro úpravu analogového signálu, které jim umožňují pracovat jako systém na čipu (SoC) . Taková zařízení stírají linii mezi FPGA, který nese digitální jedničky a nuly na jeho interní programovatelné propojovací tkanině, a polním programovatelným analogovým polem (FPAA), které nese analogové hodnoty na své interní programovatelné propojovací tkanině.

Dějiny

Průmysl FPGA vyrostl z programovatelné paměti jen pro čtení (PROM) a programovatelných logických zařízení (PLD). PROM i PLD měly možnost programovat v dávkách v továrně nebo v terénu (programovatelné v terénu). Programovatelná logika však byla mezi logickými branami pevně propojena.

Společnost Altera byla založena v roce 1983 a v roce 1984 dodala první přeprogramovatelné logické zařízení v oboru-EP300-které v balení obsahovalo křemenné okénko, které uživatelům umožňovalo rozsvítit ultrafialovou lampu na matrici a vymazat buňky EPROM, které držely konfiguraci zařízení .

Spoluzakladatelé společnosti Xilinx Ross Freeman a Bernard Vonderschmitt vynalezli v roce 1985 první komerčně životaschopné pole programovatelné brány - XC2064. XC2064 měl programovatelné brány a programovatelná propojení mezi branami, počátky nové technologie a trhu. XC2064 měl 64 konfigurovatelných logických bloků (CLB) se dvěma vyhledávacími tabulkami se třemi vstupy (LUT). O více než 20 let později byl Freeman pro svůj vynález zapsán do Síně slávy národních vynálezců .

V roce 1987 centrum Naval Surface Warfare financovalo experiment navržený Stevem Casselmanem na vývoj počítače, který by implementoval 600 000 přeprogramovatelných bran. Casselman byl úspěšný a patent související se systémem byl vydán v roce 1992.

Altera a Xilinx pokračovaly nezpochybnitelně a rychle rostly od roku 1985 do poloviny devadesátých let, kdy vyrostla konkurence a narušila významnou část jejich tržního podílu. Do roku 1993 obsluhoval Actel (nyní Microsemi ) asi 18 procent trhu. Do roku 2013 představovaly Altera (31 procent), Actel (10 procent) a Xilinx (36 procent) dohromady přibližně 77 procent trhu s FPGA.

Devadesátá léta byla pro FPGA obdobím rychlého růstu, a to jak v propracovanosti okruhu, tak v objemu výroby. Na počátku devadesátých let se FPGA používaly především v telekomunikacích a sítích . Do konce tohoto desetiletí se FPGA dostaly do spotřebitelských, automobilových a průmyslových aplikací.

Společnosti jako Microsoft začaly používat FPGA k akceleraci vysoce výkonných, výpočetně náročných systémů (jako jsou datová centra, která provozují jejich vyhledávač Bing ), díky výhodě výkonu na watt, kterou FPGA poskytují. Společnost Microsoft začala používat FPGA k urychlení Bingu v roce 2014 a v roce 2018 začala nasazovat FPGA napříč jinými úlohami datových center pro svou cloudovou platformu Azure .

Integrace

V roce 2012 byl hrubozrnný architektonický přístup posunut ještě o krok dále kombinací logických bloků a propojení tradičních FPGA s vestavěnými mikroprocesory a souvisejícími periferiemi za vzniku kompletního „ systému na programovatelném čipu “. Tato práce odráží architekturu vytvořenou Ronem Perloffem a Hananem Potashem z Burroughs Advanced Systems Group v roce 1982, která kombinovala rekonfigurovatelnou architekturu CPU na jediném čipu s názvem SB24.

Příklady takových hybridních technologií lze nalézt v Xilinx Zynq-7000 all Programmable SoC , který obsahuje 1,0  GHz dvoujádrový procesor ARM Cortex-A9 MPCore zabudovaný v logické struktuře FPGA nebo v Altera Arria V FPGA, který zahrnuje 800 MHz dvoujádrový ARM Cortex-A9 MPCore. Atmel FPSLIC je další takové zařízení, které používá AVR procesor v kombinaci s programovatelným logickým architektury Atmel. Tyto Microsemi SmartFusion zařízení zabudovat tvrdé jádro procesoru ARM Cortex-M3 (s až 512 kb blesku a 64 kB RAM) a analogové periferie , jako je multi-kanál analogově-digitální převodníky a digitálně-analogové převodníky k jejich tkanina FPGA na bázi flash paměti .

Xilinx Zynq-7000 All programovatelný systém na čipu.

Měkké jádro

Alternativním přístupem k používání procesorů s tvrdými makry je využití IP jader měkkých procesorů, které jsou implementovány v logice FPGA. Nios II , MicroBlaze a Mico32 jsou příklady populárních softcore procesorů . Mnoho moderních FPGA je naprogramováno za „běhu“, což vedlo k myšlence rekonfigurovatelných počítačů nebo rekonfigurovatelných systémů - CPU, které se samy překonfigurují tak, aby vyhovovaly danému úkolu. Navíc začínají vznikat nové architektury bez FPGA. Softwarově konfigurovatelné mikroprocesory, jako je Stretch S5000, využívají hybridní přístup tím, že na stejném čipu poskytují řadu procesorových jader a programovatelných jader podobných FPGA.

Časové osy

Brány

  • 1987: 9 000 bran, Xilinx
  • 1992: 600 000, oddělení námořní povrchové války
  • Počátek roku 2000: miliony
  • 2013: 50 milionů, Xilinx

Velikost trhu

  • 1985: První komerční FPGA: Xilinx XC2064
  • 1987: 14 milionů dolarů
  • C.  1993 :> 385 milionů dolarů
  • 2005: 1,9 miliardy USD
  • Odhady na rok 2010: 2,75 miliardy USD
  • 2013: 5,4 miliardy USD
  • Odhad do roku 2020: 9,8 miliardy USD

Design začíná

Design Začít je nový vlastní návrh pro implementaci na FPGA.

  • 2005: 80 000
  • 2008: 90 000

Srovnání

K ASIC

Historicky byly FPGA pomalejší, méně energeticky účinné a obecně dosahovaly menší funkčnosti než jejich pevné protějšky ASIC . Starší studie ukázala, že návrhy implementované na FPGA potřebují v průměru 40krát větší plochu, čerpají 12krát větší dynamický výkon a běží třetinovou rychlostí než odpovídající implementace ASIC.

Nověji FPGA, jako je Xilinx Virtex-7 nebo Altera Stratix 5, začaly soupeřit s odpovídajícími řešeními ASIC a ASSP („Standardní část specifická pro aplikaci“, jako je samostatný čip s rozhraním USB) tím, že výrazně snížila spotřebu energie , zvýšila rychlost, nižší náklady na materiál, minimální implementace nemovitostí a zvýšené možnosti nové konfigurace „za běhu“. Design, který zahrnoval 6 až 10 ASIC, lze nyní dosáhnout pouze pomocí jednoho FPGA.

Mezi výhody FPGA patří schopnost přeprogramovat již nasazené (tj. „V terénu“) opravy chyb a často zahrnují kratší dobu uvedení na trh a nižší neopakující se náklady na inženýrství . Prodejci se mohou také vydat na střední cestu prostřednictvím prototypování FPGA : vyvíjet svůj prototypový hardware na FPGA, ale vyrábět jejich finální verzi jako ASIC, aby ji již nebylo možné upravovat poté, co byl návrh potvrzen. To je také často případ nových návrhů procesorů.

Trendy

Některé FPGA mají schopnost částečné nové konfigurace, která umožňuje přeprogramovat jednu část zařízení, zatímco ostatní části pokračují v provozu.

Komplexní programovatelná logická zařízení (CPLD)

Primární rozdíly mezi komplexními programovatelnými logickými zařízeními (CPLD) a FPGA jsou architektonické . CPLD má poměrně restriktivní strukturu skládající se z jednoho nebo více programovatelných logických polí se součtem produktů napájejících relativně malý počet taktovaných registrů . Výsledkem je, že CPLD jsou méně flexibilní, ale mají výhodu předvídatelnějších časových zpoždění a vyššího poměru logiky k propojení. Architekturám FPGA naopak dominuje propojení . Díky tomu jsou mnohem flexibilnější (pokud jde o rozsah návrhů, které jsou praktické pro implementaci na nich), ale také mnohem složitější pro návrh nebo přinejmenším vyžadující složitější software pro automatizaci elektronické konstrukce (EDA).

V praxi je rozdíl mezi FPGA a CPLD často velký, protože FPGA jsou obvykle mnohem větší z hlediska zdrojů než CPLD. Obvykle pouze FPGA obsahují složitější vložené funkce, jako jsou sčítačky , multiplikátory , paměť a serializátor/deserializátor . Dalším běžným rozlišením je, že CPLD obsahují vestavěnou flash paměť pro uložení jejich konfigurace, zatímco FPGA obvykle vyžadují externí energeticky nezávislou paměť (ale ne vždy).

Pokud návrh vyžaduje jednoduché okamžité zapnutí (logika je již nakonfigurována při zapnutí), jsou obecně preferovány CPLD. Pro většinu ostatních aplikací jsou obecně preferovány FPGA. Někdy jsou v jednom návrhu systému použity jak CPLD, tak FPGA. V těchto provedeních CPLD obecně vykonávají funkce logiky lepidla a jsou zodpovědné za " bootování " FPGA a také za řízení resetu a bootovací sekvence celé desky plošných spojů. V závislosti na aplikaci proto může být rozumné použít FPGA i CPLD v jednom návrhu.

Aspekty zabezpečení

Pokud jde o hardwarové zabezpečení, mají FPGA výhody i nevýhody ve srovnání s ASIC nebo zabezpečenými mikroprocesory . Flexibilita FPGA činí škodlivé úpravy během výroby nižší riziko. Dříve byl pro mnoho FPGA vystaven návrhový bitový proud, zatímco jej FPGA načítá z externí paměti (obvykle při každém zapnutí). Všichni hlavní prodejci FPGA nyní nabízejí návrhářům řadu bezpečnostních řešení, jako je šifrování a ověřování bitového toku . Například, Altera a Xilinx nabízí AES šifrování (až 256-bit) pro proudech uložených v externí paměti flash.

FPGA, které ukládají svou konfiguraci interně do energeticky nezávislé paměti flash, jako jsou programovatelná zařízení Microsemi ProAsic 3 nebo Lattice XP2, nevystavují bitový tok a nepotřebují šifrování . Flash paměť pro vyhledávací tabulku navíc poskytuje ochranu proti narušení jedné události pro vesmírné aplikace. Zákazníci, kteří chtějí vyšší záruku odolnosti proti neoprávněné manipulaci, mohou použít jednorázové, antifuzní FPGA od dodavatelů, jako je Microsemi .

Se svými Stratix 10 FPGA a SoC představila společnost Altera funkce Secure Device Manager a fyzické neclonovatelné funkce, které poskytují vysokou úroveň ochrany před fyzickými útoky.

V roce 2012 vědci Sergej Skorobogatov a Christopher Woods prokázali, že FPGA mohou být náchylné k nepřátelským záměrům. Zjistili, že kritická zranitelnost zadních dveří byla vyrobena z křemíku jako součást Actel/Microsemi ProAsic 3, což ji činí zranitelnou na mnoha úrovních, jako je přeprogramování krypto a přístupových klíčů , přístup k nešifrovanému bitovému toku, úprava nízkoúrovňových křemíkových funkcí a extrahování konfiguračních dat.

Aplikace

FPGA lze použít k vyřešení jakéhokoli vypočítatelného problému . To je triviálně prokázáno skutečností, že FPGA lze použít k implementaci měkkého mikroprocesoru , jako je Xilinx MicroBlaze nebo Altera Nios II . Jejich výhoda spočívá v tom, že jsou pro některé aplikace výrazně rychlejší kvůli jejich paralelní povaze a optimálnosti, pokud jde o počet bran použitých pro určité procesy.

FPGA původně začínaly jako konkurenti CPLD k implementaci logiky lepidla pro desky s plošnými spoji . Jak se jejich velikost, schopnosti a rychlost zvyšovaly, FPGA přebíraly další funkce do té míry, že některé jsou nyní prodávány jako plné systémy na čipech (SoC). Zejména se zavedením vyhrazených multiplikátorů do architektur FPGA na konci devadesátých let začaly aplikace, které byly tradičně jedinou rezervou hardwaru digitálního signálového procesoru (DSP), místo toho začleňovat FPGA.

Dalším trendem v používání FPGA je hardwarová akcelerace , kde lze pomocí FPGA zrychlit určité části algoritmu a sdílet část výpočtu mezi FPGA a generickým procesorem. Vyhledávač Bing je známý tím, že pro svůj vyhledávací algoritmus v roce 2014 přijal akceleraci FPGA. Od roku 2018 FPGA stále častěji využívají akcelerátory AI, včetně takzvaného „Project Catapult“ společnosti Microsoft, a pro akceleraci umělých neuronových sítí pro aplikace strojového učení .

FPGA byly tradičně vyhrazeny pro konkrétní vertikální aplikace, kde je objem výroby malý. U těchto maloobjemových aplikací je prémie, kterou společnosti platí za hardwarové náklady na jednotku za programovatelný čip, cenově dostupnější než vývojové prostředky vynaložené na vytvoření ASIC. Od roku 2017 rozšířila nová dynamika nákladů a výkonu řadu životaschopných aplikací.

Společnost Gigabyte Technology vytvořila kartu i-RAM, která používala Xilinx FPGA, i když čip vyrobený na zakázku by byl levnější, pokud by byl vyráběn ve velkém množství. FPGA byla vybrána tak, aby byla rychle uvedena na trh, a počáteční běh měl být pouze 1000 jednotek, což z FPGA učinilo nejlepší volbu. Toto zařízení umožňuje lidem používat RAM počítače jako pevný disk.

Běžné aplikace

Architektura

Logické bloky

Zjednodušená ukázková ukázka logické buňky (LUT- vyhledávací tabulka , FA- úplný sčítač , DFF -klopný obvod typu D )

Nejběžnější architektura FPGA se skládá z řady logických bloků , I/O padů a směrovacích kanálů. Obecně mají všechny směrovací kanály stejnou šířku (počet vodičů). Do výšky jednoho řádku nebo šířky jednoho sloupce v poli se vejde více I/O padů.

Aplikační obvod musí být mapován do FPGA s odpovídajícími zdroji. I když počet požadovaných CLB/LAB a I/O lze snadno určit z návrhu, počet potřebných směrovacích stop se může značně lišit i mezi návrhy se stejným množstvím logiky.

Například přepínač příčníku vyžaduje mnohem více směrování než systolické pole se stejným počtem bran. Vzhledem k tomu, nepoužité směrování tratí zvyšují výrobní náklady (a snížit výkon) ze strany, aniž by byl přínos, výrobci FPGA se snaží poskytovat jen dostatek stop, takže většina návrhů, které budou odpovídat, pokud jde o vyhledávacích tabulek (LUT) a I / O mohou být směrován . To je určeno odhady, jako jsou odhady odvozené z Rentova pravidla nebo experimenty s existujícími návrhy. Od roku 2018 se vyvíjejí architektury network-on-chip pro směrování a propojení.

Logický blok se obecně skládá z několika logických buněk (nazývaných ALM, LE, slice atd.). Typická buňka se skládá ze 4 vstupů LUT, úplného sčítače (FA) a klopného obvodu typu D , jak je uvedeno výše. LUT jsou na tomto obrázku rozděleny do dvou LUT se 3 vstupy. V normálním režimu jsou kombinovány do LUT se 4 vstupy přes levý multiplexor (mux). V aritmetickém režimu jsou jejich výstupy přiváděny do sčítače. Volba režimu je naprogramována do prostředního MUX. V příkladu obrázku může být výstup buď synchronní nebo asynchronní , v závislosti na programování multiplikátoru doprava. V praxi jsou celé nebo části sčítače uloženy jako funkce do LUT, aby se ušetřilo místo .

Tvrdé bloky

Moderní rodiny FPGA rozšiřují výše uvedené možnosti o funkce vyšší úrovně fixované v křemíku. Když jsou tyto běžné funkce vloženy do obvodu, zmenšuje se požadovaná oblast a dává těmto funkcím vyšší rychlost ve srovnání s jejich budováním z logických primitiv. Mezi jejich příklady patří multiplikátory , generické bloky DSP , vestavěné procesory , vysokorychlostní logika I/O a vestavěné paměti .

Vyšší třídy FPGA mohou obsahovat vysokorychlostní vícegigabitové transceivery a jádra s pevnou IP adresou, jako jsou procesorová jádra , jednotky pro řízení přístupu k médiu Ethernet , řadiče PCI / PCI Express a řadiče externí paměti. Tato jádra existují vedle programovatelné textilie, ale jsou postavena z tranzistorů místo LUT, takže mají výkon na úrovni ASIC a spotřebu energie, aniž by spotřebovávaly značné množství prostředků tkaniny, takže pro logiku specifickou pro danou aplikaci zůstává více látky volné. Vícegigabitové transceivery také obsahují vysoce výkonné analogové vstupní a výstupní obvody spolu s vysokorychlostními serializátory a deserializátory, komponenty, které nelze vybudovat z LUT. Funkce vyšší úrovně fyzické vrstvy (PHY), jako je řádkové kódování, může, ale nemusí být implementována vedle serializátorů a deserializátorů v pevné logice, v závislosti na FPGA.

Taktování

Většina obvodů zabudovaných uvnitř FPGA je synchronní obvod, který vyžaduje hodinový signál. FPGA obsahují vyhrazené globální a regionální směrovací sítě pro hodiny a reset, takže je lze dodávat s minimálním zkosením . Také FPGA obecně obsahují analogové komponenty smyčky s fázovým zámkem a/nebo zpožděnou smyčkou pro syntézu nových hodinových frekvencí a pro tlumení chvění . Komplexní návrhy mohou používat více hodin s různými frekvenčními a fázovými vztahy, z nichž každý tvoří samostatné hodinové domény . Tyto hodinové signály lze generovat lokálně oscilátorem nebo je lze obnovit z vysokorychlostního sériového datového proudu. Při budování obvodů křížení domén s hodinami je třeba postupovat opatrně, aby nedošlo k metastabilitě . FPGA obecně obsahují blokové RAM, které jsou schopné pracovat jako RAM s dvěma porty s různými takty, což pomáhá při stavbě FIFO a dvouportových vyrovnávacích pamětí, které spojují různé hodinové domény.

3D architektury

Aby se zmenšila velikost a spotřeba energie FPGA, prodejci jako Tabula a Xilinx zavedli 3D nebo skládané architektury . Po zavedení jeho 28 nm FPGA 7-série, Xilinx říká, že několik částí s nejvyšší hustotou v těchto produktových řad FPGA bude konstruována pomocí více matric v jednom balení, s použitím technologie vyvinuté pro 3D konstrukce a skládaný-lisovacích sestav.

Přístup společnosti Xilinx staví několik (tří nebo čtyř) aktivních matric FPGA vedle sebe na křemíkový interposer  - jeden kus křemíku, který nese pasivní propojení. Konstrukce multi-die také umožňuje vytvářet různé části FPGA pomocí různých technologických technologií, protože procesní požadavky se liší mezi samotnou tkaninou FPGA a velmi vysokorychlostními 28 Gbit/s sériovými transceivery. Takto postavený FPGA se nazývá heterogenní FPGA .

Heterogenní přístup společnosti Altera zahrnuje použití jediné monolitické FPGA matrice a připojení dalších matric/technologií k FPGA pomocí technologie Intel EMIB (Embedded Multi-Die Interconnect Bridge).

Návrh a programování

Chcete -li definovat chování FPGA, uživatel poskytne návrh v jazyce hardwarového popisu (HDL) nebo jako schematický návrh. Formulář HDL je vhodnější pro práci s velkými strukturami, protože je možné určit funkční chování na vysoké úrovni, než kreslit každý kus ručně. Schematický záznam však může umožnit snadnější vizualizaci návrhu a jeho komponentních modulů .

Pomocí nástroje pro automatizaci elektronického návrhu se vygeneruje netlist mapovaný na technologii . Síť netlist pak může být přizpůsobena skutečné architektuře FPGA pomocí procesu zvaného místo-a-trasa , obvykle prováděný proprietárním softwarem místa a trasy společnosti FPGA. Uživatel ověří výsledky mapy, místa a trasy pomocí časové analýzy , simulace a dalších metod ověřování a ověřování . Jakmile je proces návrhu a ověření dokončen, je k (re) konfiguraci FPGA použit generovaný binární soubor, obvykle pomocí proprietárního softwaru dodavatele FPGA. Tento soubor je přenesen do FPGA/CPLD přes sériové rozhraní ( JTAG ) nebo na externí paměťové zařízení, jako je EEPROM .

Nejběžnějšími HDL jsou VHDL a Verilog a také rozšíření jako SystemVerilog . Ve snaze snížit složitost navrhování v HDL, které byly srovnávány s ekvivalentem montážních jazyků , však existují kroky ke zvýšení úrovně abstrakce zavedením alternativních jazyků . National Instruments ' LabVIEW grafický programovací jazyk (někdy označované jako ‚G‘) má FPGA doplněk modul k dispozici na cíl a program, FPGA hardware. Verilog byl vytvořen za účelem zjednodušení procesu a zvýšení odolnosti a flexibility HDL. Verilog je v současné době nejoblíbenější. Verilog vytváří úroveň abstrakce, která skrývá podrobnosti o jeho implementaci. Verilog má syntaxi podobnou C, na rozdíl od VHDL.

Pro zjednodušení návrhu komplexních systémů v FPGA existují knihovny předdefinovaných komplexních funkcí a obvodů, které byly testovány a optimalizovány tak, aby urychlily proces návrhu. Tyto předdefinované obvody se běžně nazývají jádra duševního vlastnictví (IP) a jsou k dispozici od prodejců FPGA a dodavatelů IP třetích stran. Zřídka jsou zdarma a obvykle jsou vydávány pod proprietárními licencemi. Další předdefinované obvody jsou k dispozici od vývojářských komunit, jako jsou OpenCores (obvykle vydávané pod bezplatnými a open source licencemi, jako je GPL , BSD nebo podobná licence) a z dalších zdrojů. Takové návrhy jsou známé jako „ hardware s otevřeným zdrojovým kódem “.

V typickém průběhu návrhu bude vývojář aplikace FPGA simulovat návrh v několika fázích celého procesu návrhu. Zpočátku je popis RTL ve VHDL nebo Verilog simulován vytvořením testovacích lavic pro simulaci systému a sledování výsledků. Poté, co syntézní stroj namapoval návrh na netlist, je netlist přeložen do popisu na úrovni brány, kde se simulace opakuje, aby se potvrdilo, že syntéza proběhla bez chyb. Nakonec je v FPGA rozvržen návrh, ve kterém lze přidat zpoždění šíření bodů a simulace znovu spustit s těmito hodnotami zpětně anotovanými na netlist.

V poslední době programátoři využívají OpenCL (Open Computing Language), aby využili výhod výkonu a energetické účinnosti, které FPGA poskytují. OpenCL umožňuje programátorům vyvíjet kód v programovacím jazyce C a cílit na funkce FPGA jako jádra OpenCL pomocí konstrukcí OpenCL. Další informace najdete v tématu syntéza na vysoké úrovni a C to HDL .

Metody programování FPGA

Většina FPGA spoléhá na programovaný přístup založený na SRAM . Tyto FPGA jsou programovatelné a přeprogramovatelné v systému, ale vyžadují externí zaváděcí zařízení. Například flash paměť nebo zařízení EEPROM mohou často načítat obsah do interní paměti SRAM, která řídí směrování a logiku. Přístup SRAM je založen na CMOS .

Vzácnější alternativy přístupu SRAM zahrnují:

  • Pojistka -jednorázově programovatelná. Bipolární. Zastaralý.
  • Antifuse -jednorázově programovatelné. CMOS. Příklady: rodiny Actel SX a Axcelerator; Quicklogic Eclipse II rodina.
  • PROM -Technologie programovatelné paměti jen pro čtení. Jednorázově programovatelné díky plastovým obalům. Zastaralý.
  • EPROM -Vymazatelná programovatelná technologie jen pro čtení. Jednorázově programovatelné, ale s oknem, lze vymazat ultrafialovým (UV) světlem. CMOS. Zastaralý.
  • EEPROM -elektricky mazatelná programovatelná technologie pouze pro čtení. Lze vymazat, dokonce i v plastových obalech. Některá, ale ne všechna zařízení EEPROM lze naprogramovat v systému. CMOS.
  • Flash -Flash-vymazání technologie EPROM. Lze vymazat, dokonce i v plastových obalech. Některá, ale ne všechna flash zařízení lze naprogramovat v systému. Bleskový článek je obvykle menší než ekvivalentní článek EEPROM, a proto je výroba méně nákladná. CMOS. Příklad: řada Actel ProASIC.

Hlavní výrobci

V roce 2016 byli dlouholetými průmyslovými rivaly Xilinx (nyní AMD) a Altera (nyní dceřiná společnost Intel ) lídrem na trhu FPGA. V té době ovládali téměř 90 procent trhu.

Xilinx i Altera poskytují patentovaný software pro automatizaci elektronického návrhu pro Windows a Linux ( ISE / Vivado a Quartus ), který umožňuje technikům navrhovat , analyzovat, simulovat a syntetizovat ( kompilovat ) jejich návrhy.

Mezi další výrobce patří:

  • Mikročip :
    • Microsemi (dříve Actel ), vyrábějící antifuzní, bleskově založené, smíšené signály FPGA; získala společnost Microchip v roce 2018
    • Atmel , druhý zdroj některých zařízení kompatibilních s Alterou; také FPSLIC zmíněný výše; získala společnost Microchip v roce 2016
  • Lattice Semiconductor , která vyrábí nízkoenergetické FPGA na bázi SRAM s integrovaným konfiguračním bleskem, okamžitým zapnutím a živou rekonfigurací
  • QuickLogic, která vyrábí rozbočovače s ultra nízkým výkonem, extrémně nízko napájené FPGA na bázi SRAM s nízkou hustotou, se zobrazovacími můstky MIPI a RGB vstupy, výstupy MIPI, RGB a LVDS
  • Achronix , vyrábějící FPGAS na bázi SRAM s rychlostí 1,5 GHz

V březnu 2010 společnost Tabula oznámila svou technologii FPGA, která využívá časově multiplexovanou logiku a propojení, které tvrdí, že je možné dosáhnout úspor nákladů na aplikace s vysokou hustotou. 24. března 2015 se Tabula oficiálně vypnul.

1. června 2015 společnost Intel oznámila, že získá společnost Altera za přibližně 16,7 miliardy USD a akvizici dokončila 30. prosince 2015.

27. října 2020 AMD oznámila, že koupí Xilinx.

Viz také

Poznámky

Reference

Další čtení

  • Sadrozinski, Hartmut F.-W .; Wu, Jinyuan (2010). Aplikace polních programovatelných hradlových polí ve vědeckém výzkumu . Taylor & Francis. ISBN 978-1-4398-4133-4.
  • Wirth, Niklaus (1995). Digitální návrh obvodu Úvodní učebnice . Springer. ISBN 978-3-540-58577-0.
  • Mitra, Jubin (2018). „Fázový měřicí systém na bázi FPGA“. Transakce IEEE na systémech VLSI (Very Large Scale Integration) . IEEE. 26 : 133–142. doi : 10,1109/TVLSI.2017.2758807 . S2CID  4920719 .
  • Mencer, Oskar a kol. (2020). „Historie, stav a budoucnost FPGA“. Komunikace ACM. ACM. Sv. 63, č. 10. doi: 10,1145/3410669

externí odkazy