Terepen programozható kapu tömb - Field-programmable gate array

Spartan FPGA a Xilinx -től

A terepi programozható kapu tömb ( FPGA ) egy integrált áramkör , amelyet a megrendelő vagy a tervező konfigurálhat a gyártás után-innen származik a terepi programozható kifejezés . Az FPGA konfigurációt általában hardverleíró nyelv (HDL) segítségével határozzák meg, hasonlóan az alkalmazásspecifikus integrált áramkörhöz (ASIC) használthoz. A konfiguráció megadására korábban áramköri diagramokat használtak, de ez egyre ritkább az elektronikus tervezési automatizálási eszközök megjelenése miatt .

Az FPGA -k programozható logikai blokkok tömbjét és újrakonfigurálható összeköttetések hierarchiáját tartalmazzák, amelyek lehetővé teszik a blokkok összekötését. A logikai blokkok összetett kombinációs funkciók végrehajtására konfigurálhatók , vagy egyszerű logikai kapuként működhetnek, mint például az AND és a XOR . A legtöbb FPGA-ban a logikai blokkok memóriaelemeket is tartalmaznak , amelyek egyszerű flip-flopok vagy teljesebb memóriablokkok lehetnek. Sok FPGA -t át lehet programozni különböző logikai funkciók megvalósítására , lehetővé téve a számítógépes szoftverben végrehajtott rugalmas újrakonfigurálható számítást .

Az FPGA -k figyelemre méltó szerepet játszanak a beágyazott rendszerek fejlesztésében, mivel képesek elindítani a rendszerszoftverek (SW) fejlesztését a hardverrel (HW) egyidejűleg, lehetővé teszik a rendszer teljesítményszimulációit a fejlesztés nagyon korai szakaszában, és lehetővé teszik a különböző rendszerpartíciókat (SW és HW) ) próbák és iterációk a rendszer architektúra végleges lefagyasztása előtt.

Műszaki tervezés

A korszerű terepi programozható kaputömbök (FPGA-k) nagy erőforrásokkal rendelkeznek a logikai kapuk és a RAM-blokkok számára a komplex digitális számítások megvalósításához. Mivel az FPGA tervek nagyon gyors I/O sebességet és kétirányú adatbuszokat alkalmaznak , kihívássá válik az érvényes adatok helyes időzítésének ellenőrzése a beállítási és tartási időn belül.

Az alaptervezés lehetővé teszi az erőforrás -allokációt az FPGA -n belül, hogy megfeleljen ezeknek az időkorlátoknak. Az FPGA -k bármely logikai funkció megvalósítására használhatók, amelyet egy ASIC képes végrehajtani. A funkcionalitás szállítás utáni frissítése , a terv egy részének részleges újrakonfigurálása és az ASIC kivitelhez viszonyított alacsony, nem ismétlődő műszaki költségek (az általában magasabb egységköltség ellenére) számos alkalmazás számára előnyösek.

Egyes FPGA -k a digitális funkciók mellett analóg funkciókkal is rendelkeznek. A leggyakoribb analóg szolgáltatás a programozható fordulatszám minden kimeneti tüskén, amely lehetővé teszi a mérnök számára, hogy alacsony arányokat állítson be az enyhén megterhelt csapokra, amelyek egyébként elfogadhatatlanul csengenek vagy összekapcsolódnának , és magasabb sebességeket állítson be a nagy sebességű csatornákon lévő erősen terhelt csapokra. különben túl lassan fut. Szintén gyakoriak a kvarckristályos oszcillátorok , a chipen lévő ellenállás-kapacitású oszcillátorok és a fáziszárolt hurkok beágyazott feszültségvezérelt oszcillátorokkal, amelyeket az óra generálásához és kezeléséhez, valamint a nagy sebességű sorosító-desializátorhoz (SERDES) küldő órákhoz és vevőkészülékekhez használnak óra helyreállítása. Elég gyakoriak a differenciál -összehasonlítók a bemeneti csapokon, amelyeket differenciális jelzőcsatornákhoz való csatlakoztatásra terveztek . Néhány " vegyes jelű FPGA" integrált perifériás analóg-digitális konverterrel (ADC) és digitális-analóg átalakítóval (DAC) rendelkezik analóg jelfeldolgozó blokkokkal, amelyek lehetővé teszik számukra a rendszer-a-chip (SoC) működését . Az ilyen eszközök elmosják a határvonalat az FPGA-n, amely digitális programokat és nullákat hordoz a belső programozható összekapcsolási szöveten, és a terepi programozható analóg tömbön (FPAA), amely analóg értékeket hordoz a belső programozható összekapcsolási szöveten.

Történelem

Az FPGA iparág programozható írásvédett memóriából (PROM) és programozható logikai eszközökből (PLD) fakadt. Mind a PROM-ok, mind a PLD-k lehetősége volt arra, hogy gyárban vagy terepen (téren programozható) tételekben programozzák őket. A programozható logika azonban keményen be volt kötve a logikai kapuk közé.

Altera 1983-ban alakult, és szállított az iparág első újraprogramozható logikai eszköz 1984 - az EP300 - amely szerepelt kvarcüveggel a csomag, amely lehetővé tette a felhasználók, hogy világítsanak egy ultra-ibolya lámpa a kocka, hogy törölje a EPROM sejtek tartotta a készüléket konfiguráció .

A Xilinx társalapítói, Ross Freeman és Bernard Vonderschmitt 1985-ben feltalálták az első kereskedelmi szempontból életképes, terepen programozható kapu tömböt -az XC2064-et. Az XC2064 programozható kapukkal és programozható összeköttetésekkel rendelkezett a kapuk között, egy új technológia és piac kezdetei. Az XC2064 64 konfigurálható logikai blokkkal (CLB) rendelkezett, két három bemeneti keresési táblával (LUT). Több mint 20 évvel később Freemant feltalálásáért bevették a National Inventors Hall of Fame -be .

1987 -ben a Naval Surface Warfare Center finanszírozott egy kísérletet, amelyet Steve Casselman javasolt egy olyan számítógép kifejlesztésére, amely 600 000 újraprogramozható kaput valósít meg. Casselman sikeres volt, és a rendszerhez kapcsolódó szabadalmat 1992 -ben adtak ki.

Az Altera és a Xilinx továbbra is vitathatatlanul folytatta tevékenységét, és gyorsan nőtt 1985-től a kilencvenes évek közepéig, amikor a versenytársak kibontakoztak, és ezzel rontották piaci részesedésük jelentős részét. 1993 -ra az Actel (ma Microsemi ) a piac mintegy 18 százalékát szolgálta ki. 2013 -ra az Altera (31 százalék), az Actel (10 százalék) és a Xilinx (36 százalék) együttesen az FPGA piac körülbelül 77 százalékát képviselte.

A kilencvenes évek az FPGA -k gyors növekedésének időszakát jelentették, mind az áramkörök kifinomultságában, mind a gyártási volumenben. A kilencvenes évek elején az FPGA -kat elsősorban a távközlésben és a hálózatépítésben használták . Az évtized végére az FPGA -k eljutottak a fogyasztói, autóipari és ipari alkalmazásokhoz.

Az olyan vállalatok, mint a Microsoft, elkezdtek FPGA-kat használni a nagy teljesítményű, számításigényes rendszerek (például a Bing keresőmotorját működtető adatközpontok) felgyorsítására , az FPGA-k által nyújtott teljesítmény / watt teljesítmény miatt . A Microsoft 2014 -ben kezdte el használni az FPGA -kat a Bing felgyorsításához , és 2018 -ban megkezdte az FPGA -k telepítését más adatközponti munkaterheléseken az Azure cloud computing platformjára.

Integráció

2012-ben a durva szemcséjű építészeti megközelítés egy lépéssel tovább lépett azáltal, hogy a hagyományos FPGA-k logikai blokkjait és összeköttetéseit kombinálta a beágyazott mikroprocesszorokkal és a kapcsolódó perifériákkal, hogy egy komplett " rendszert hozzon létre egy programozható chipen ". Ez a munka tükrözi Ron Perloff és Hanan Potash, a Burroughs Advanced Systems Group 1982 -ben létrehozott architektúráját , amely egy SB24 nevű chipen egyesítette az újrakonfigurálható CPU architektúrát .

Az ilyen hibrid technológiákra példák találhatók a Xilinx Zynq-7000 minden programozható SoC-ban , amely 1,0  GHz - es kétmagos ARM Cortex-A9 MPCore processzort tartalmaz az FPGA logikai szövetébe ágyazva , vagy az Altera Arria V FPGA-ban, amely 800 MHz kétmagos ARM Cortex-A9 MPCore. Az Atmel FPSLIC egy másik ilyen eszköz, amely AVR processzort használ az Atmel programozható logikai architektúrájával kombinálva. A Microsemi SmartFusion eszköz tartalmaz egy ARM Cortex-M3 kemény processzor mag (legfeljebb 512 kB a flash- és 64 kB RAM) és analóg perifériák , például egy többcsatornás analóg-digitális átalakítók és digitális-analóg átalakítók , hogy azok flash memória alapú FPGA.

A Xilinx Zynq-7000 Minden programozható rendszer a chipen.

Puha mag

A hard makró processzorok használatának alternatív módja az, hogy az FPGA logikán belül megvalósított lágy processzor IP magokat használják . A Nios II , a MicroBlaze és a Mico32 példák a népszerű softcore processzorokra . Sok modern FPGA -t "futási időben" programoznak, ami az újrakonfigurálható számítástechnika vagy az újrakonfigurálható rendszerek ötletéhez vezetett - olyan CPU -khoz, amelyek újrakonfigurálják magukat az adott feladatnak megfelelően. Ezenkívül új, nem FPGA architektúrák kezdenek megjelenni. A szoftverrel konfigurálható mikroprocesszorok, mint például a Stretch S5000, hibrid megközelítést alkalmaznak azáltal, hogy ugyanazon a chipen számos processzormagot és FPGA-szerű programozható magot biztosítanak.

Idővonalak

Gates

  • 1987: 9000 kapu, Xilinx
  • 1992: 600 000, haditengerészeti felszíni hadviselési osztály
  • A 2000 -es évek eleje: milliók
  • 2013: 50 millió, Xilinx

Piac mérete

  • 1985: Első kereskedelmi FPGA: Xilinx XC2064
  • 1987: 14 millió dollár
  • c.  1993 :> 385 millió dollár
  • 2005: 1,9 milliárd dollár
  • 2010 -es becslések: 2,75 milliárd dollár
  • 2013: 5,4 milliárd dollár
  • 2020 becslése: 9,8 milliárd dollár

Kezdődik a tervezés

A tervezés kezdete egy új egyedi tervezés az FPGA -n való megvalósításhoz.

  • 2005: 80 000
  • 2008: 90 000

Összehasonlítások

Az ASIC -ekhez

Történelmileg az FPGA lassabb, kevésbé energiahatékony és általában kevesebb funkcionalitást ért el, mint a rögzített ASIC társaik. Egy régebbi tanulmány kimutatta, hogy az FPGA -n megvalósított terveknek átlagosan 40 -szer annyi területre van szükségük, 12 -szer annyi dinamikus teljesítményre van szükségük, és a megfelelő ASIC -implementációk sebességének harmadával futnak.

Újabban, FPGA-k, mint például a Xilinx Virtex-7 vagy a Altera Stratix 5 jöttek rivális megfelelő ASIC és ASSP ( „alkalmazás-specifikus szabványos alkatrész”, mint például egy önálló USB interfész chip) megoldások biztosításával jelentősen csökkent energiafelhasználás , megnövekedett gyorsaság, alacsonyabb anyagköltség, minimális ingatlan-megvalósítás és nagyobb lehetőségek a „menet közbeni” újrakonfigurálásra. A tervezés, amely 6-10 ASIC -t tartalmazott, most csak egy FPGA használatával érhető el.

Az FPGA-k előnyei közé tartozik a programozás lehetősége, amikor már telepítve van (azaz "terepen") a hibák kijavítására , és gyakran rövidebb piacra kerülési idő és alacsonyabb, nem ismétlődő műszaki költségek. A szállítók középutat is tehetnek az FPGA prototípuson keresztül : prototípus hardverüket FPGA -n fejlesztik, de végső változatukat ASIC -ként gyártják le, hogy a tervezés után már ne lehessen módosítani. Ez gyakran előfordul az új processzortervek esetében is.

Trendek

Egyes FPGA-k részleges újrakonfigurálásra képesek, amely lehetővé teszi az eszköz egy részének újraprogramozását, míg más részek tovább futnak.

Komplex programozható logikai eszközök (CPLD)

Az összetett programozható logikai eszközök (CPLD -k) és az FPGA -k közötti elsődleges különbségek építészeti jellegűek . A CPLD-nek viszonylag korlátozó szerkezete van, amely egy vagy több programozható termékösszeg- logikai tömbből áll, amelyek viszonylag kis számú időzített regisztert táplálnak . Ennek eredményeként a CPLD-k kevésbé rugalmasak, de előnyük az előre láthatóbb időzítési késleltetés és a magasabb logikai-összekapcsolási arány. Az FPGA architektúrákat viszont az interconnect uralja . Ez sokkal rugalmasabbá teszi őket (a rajtuk megvalósítható praktikus tervek körét tekintve), de sokkal bonyolultabb is a tervezéshez, vagy legalábbis összetettebb elektronikus tervezési automatizálási (EDA) szoftvereket igényel .

A gyakorlatban az FPGA -k és a CPLD -k közötti különbség gyakran nagy méretű, mivel az FPGA -k általában sokkal nagyobbak az erőforrások tekintetében, mint a CPLD -k. Jellemzően csak FPGA-k összetettebb beágyazott funkciók , mint kiegészítőt , szorzók , memória , és párhuzamos-soros / deserializers . Egy másik gyakori különbség az, hogy a CPLD-k beépített flash memóriát tartalmaznak a konfiguráció tárolásához, míg az FPGA-k általában külső, nem felejtő memóriát igényelnek (de nem mindig).

Ha a tervezés egyszerű azonnali bekapcsolást igényel (a logika már bekapcsoláskor be van állítva), általában a CPLD-ket részesítik előnyben. A legtöbb más alkalmazásban általában az FPGA -kat részesítik előnyben. Néha a CPLD -ket és az FPGA -kat is egyetlen rendszerben használják. Ezekben a tervekben a CPLD -k általában ragasztási logikai funkciókat látnak el, és felelősek az FPGA " indításáért ", valamint a teljes áramköri alaphelyzetbe állítás és indítási sorrend vezérléséért . Ezért az alkalmazástól függően ésszerű lehet az FPGA -k és a CPLD -k egyetlen kivitelben történő használata.

Biztonsági megfontolások

Az FPGA -k előnyei és hátrányai is vannak az ASIC -hez vagy a biztonságos mikroprocesszorokhoz képest, a hardver biztonságát illetően . Az FPGA -k rugalmassága miatt a rosszindulatú módosítások a gyártás során kisebb kockázatot jelentenek. Korábban sok FPGA esetében a tervezési bitfolyam ki volt téve, míg az FPGA külső memóriából tölti be (általában minden bekapcsoláskor). Az összes nagyobb FPGA -gyártó most számos biztonsági megoldást kínál a tervezőknek, például a bitfolyam -titkosítást és a hitelesítést . Például az Altera és a Xilinx AES titkosítást kínál (legfeljebb 256 bites) a külső flash memóriában tárolt bitfolyamokhoz.

Azok az FPGA -k , amelyek a konfigurációjukat belsőleg tárolják a nem felejtő flash memóriában, mint például a Microsemi ProAsic 3 vagy a Lattice XP2 programozható eszközei, nem teszik ki a bitfolyamot, és nincs szükségük titkosításra . Ezen túlmenően, flash memória egy keresési táblázat nyújt egyetlen eseményt ideges védelem helyet alkalmazásokhoz. Azok az ügyfelek, akik nagyobb garanciát kívánnak a szabotázs ellenállásra, használhatnak egyszer írható, olvadásgátló FPGA-kat olyan gyártóktól, mint a Microsemi .

Stratix 10 FPGA -jaival és SoC -jaival az Altera bemutatta a biztonságos eszközkezelőt és a fizikai nem klónozható funkciókat , amelyek magas szintű védelmet nyújtanak a fizikai támadások ellen.

2012 -ben Sergei Skorobogatov és Christopher Woods kutatók bebizonyították, hogy az FPGA -k sebezhetőek az ellenséges szándékkal szemben. Felfedezték a kritikus backdoor biztonsági rést már gyártott szilícium részeként Actel / Microsemi ProAsic 3 így téve több szinten, mint átprogramozásával kripto és hozzáférési kulcsokat , betekintés titkosítatlan bitfolyam módosító alacsony szintű szilícium funkciók, és kitermelése konfigurációs adatokat.

Alkalmazások

Az FPGA bármilyen számítható probléma megoldására használható . Ezt triviálisan bizonyítja az a tény, hogy az FPGA -k alkalmazhatók egy lágy mikroprocesszor , például a Xilinx MicroBlaze vagy az Altera Nios II megvalósítására . Előnyük abban rejlik, hogy egyes alkalmazásoknál lényegesen gyorsabbak, mivel párhuzamos jellegük és bizonyos folyamatokhoz használt kapuk száma szempontjából optimálisak .

Az FPGA-k eredetileg indult versenytársak CPLD végrehajtásához illesztés logika a nyomtatott áramköri lapok . Méretük, képességeik és sebességük növekedésével az FPGA -k további funkciókat vehettek át arra a pontra, ahol néhányat már teljes rendszeren forgalmaznak chipeken (SoC). Különösen az 1990 -es évek végén dedikált szorzók bevezetésével az FPGA architektúrákba azok az alkalmazások, amelyek hagyományosan a digitális jelfeldolgozó hardverek (DSP -k) egyedüli tartalékai voltak, kezdték beépíteni az FPGA -kat.

Az FPGA -k használatának másik tendenciája a hardveres gyorsítás , ahol az FPGA segítségével felgyorsítható egy algoritmus bizonyos része, és a számítás egy része megosztható az FPGA és egy általános processzor között. A Bing keresőmotorról ismert, hogy 2014-ben alkalmazta az FPGA gyorsítást a keresési algoritmusához. 2018-tól kezdve az FPGA-k egyre nagyobb mértékben használják AI-gyorsítóként, beleértve a Microsoft úgynevezett "Project Catapult" -át, és a gépi tanulási alkalmazások mesterséges neurális hálózatainak gyorsítását .

Hagyományosan az FPGA -kat olyan függőleges alkalmazásokhoz tartották fenn, ahol a gyártási mennyiség kicsi. Ezeknél az alacsony volumenű alkalmazásoknál a prémium, amelyet a vállalatok hardverköltségenként fizetnek egy programozható chipért, megfizethetőbb, mint az ASIC létrehozására fordított fejlesztési források. 2017 -től az új költség- és teljesítménydinamika szélesítette az életképes alkalmazások körét.

A Gigabyte Technology cég létrehozott egy i-RAM kártyát, amely Xilinx FPGA-t használt, bár az egyedi gyártású chip olcsóbb lenne, ha nagy mennyiségben gyártanák. Az FPGA -t azért választották, hogy gyorsan piacra vigye, és az első futam csak 1000 darab volt, így az FPGA a legjobb választás. Ez az eszköz lehetővé teszi az emberek számára, hogy számítógépes merevlemezt használjanak.

Gyakori alkalmazások

Építészet

Logikai blokkok

A logikai cella egyszerűsített példája (LUT- keresési táblázat , FA- teljes összeadó , DFF- D-típusú flip-flop )

A leggyakoribb FPGA architektúra egy sor logikai blokkot , I/O padot és útválasztó csatornát tartalmaz. Általában minden útválasztó csatorna azonos szélességű (vezetékek száma). A tömb egy sorának magasságába vagy egy oszlopának szélességébe több I/O párna illeszkedhet.

Egy alkalmazás áramkört megfelelő erőforrásokkal kell leképezni egy FPGA -ba. Míg a szükséges CLB -k/LAB -ok és I/O -k számát könnyen meg lehet határozni a tervezésből, a szükséges útvonalak száma jelentősen eltérhet még az azonos logikájú tervek között is.

Például egy keresztléc kapcsoló sokkal több irányítást igényel, mint az azonos kapuszámú szisztolés tömb . Mivel a fel nem használt útválasztó sávok növelik az alkatrész költségeit (és csökkentik a teljesítményt) anélkül, hogy előnyt jelentenének, az FPGA gyártók éppen annyi sávot próbálnak biztosítani, hogy a legtöbb terv, amely megfelel a keresési táblázatoknak (LUT) és az I/O -nak, irányította . Ezt olyan becslések határozzák meg, mint például a Rent szabályából származó becslések, vagy a meglévő tervekkel végzett kísérletek. 2018 -tól kezdve fejlesztik az útválasztáshoz és összekapcsoláshoz szükséges hálózaton alapuló architektúrákat.

Általában egy logikai blokk néhány logikai cellából áll (ALM, LE, szelet stb.). Egy tipikus cella egy 4 bemenetű LUT-ból, egy teljes összeadóból (FA) és egy D-típusú flip-flopból áll , amint az fent látható. Ezen az ábrán a LUT-ok két 3 bemenetű LUT-ra vannak felosztva. A normál üzemmódban ezeket együtt egy 4 bemeneti LUT keresztül a bal multiplexer (MUX). A számtani módban a kimenet tápláljuk összeadó. Az üzemmód kiválasztása a középső MUX -ba van programozva. A kimenet lehet szinkron vagy aszinkron , a jobb oldalon lévő mux programozásától függően, az ábra példában. A gyakorlatban az összeadó egészét vagy annak egy részét funkcióként tárolják a LUT -okban a helytakarékosság érdekében .

Kemény blokkok

A modern FPGA családok kiterjesztik a fenti képességeket, és magasabb szintű, szilíciumba rögzített funkciókat is tartalmaznak. Ha ezeket a közös funkciókat beágyazjuk az áramkörbe, akkor csökkentjük a szükséges területet, és gyorsabbá tesszük ezeket a funkciókat ahhoz képest, hogy logikai primitívekből építjük őket. Ilyen például a szorzók , az általános DSP blokkok , a beágyazott processzorok , a nagy sebességű I/O logika és a beágyazott memóriák .

A magasabb kategóriájú FPGA-k tartalmazhatnak nagysebességű, több gigabites adó-vevőket és kemény IP-magokat , például processzormagokat , Ethernet- hozzáférés-vezérlőegységeket , PCI / PCI Express- vezérlőket és külső memóriavezérlőket. Ezek a magok a programozható szövet mellett léteznek, de LUT-ok helyett tranzisztorokból épülnek fel, így ASIC szintű teljesítményük és energiafogyasztásuk van anélkül, hogy jelentős mennyiségű szöveti erőforrást fogyasztanának, így a szövet nagyobb része szabad marad az alkalmazás-specifikus logika számára. A több gigabites adó-vevők nagy teljesítményű analóg bemeneti és kimeneti áramköröket is tartalmaznak, valamint nagysebességű sorosító és desializáló berendezéseket, amelyek nem építhetők ki LUT-okból. A magasabb szintű fizikai réteg (PHY) funkciók, mint például a vonalkódolás , az FPGA-tól függően megvalósíthatók vagy nem valósíthatók meg a sorosítók és deserializátorok mellett.

Órajelzés

Az FPGA -ba épített áramkörök többsége szinkron áramkör, amely órajelet igényel. Az FPGA -k dedikált globális és regionális útválasztó hálózatokat tartalmaznak az óra és a visszaállítás érdekében, így minimális torzítással szállíthatók . Ezenkívül az FPGA-k általában analóg fáziszárolt hurok és/vagy késleltetett ciklus komponenseket tartalmaznak az új órajel frekvenciák szintetizálására , valamint a rezgések csillapítására . A komplex tervek több órát is használhatnak, különböző frekvencia- és fázisviszonyokkal, amelyek mindegyike külön óratartományt képez . Ezeket az órajeleket helyileg generálhatja egy oszcillátor, vagy vissza lehet állítani egy nagy sebességű soros adatfolyamból. Óvatosan kell eljárni, ha az épület óra domén átkelés áramkört, hogy elkerülje metastabilitás . Az FPGA -k általában blokk -RAM -okat tartalmaznak, amelyek különböző órájú kettős portos RAM -ként működhetnek , elősegítve az FIFO -k építését és a különböző porttartományokat összekötő kétportos puffereket.

3D architektúrák

Az FPGA -k méretének és energiafogyasztásának csökkentése érdekében az olyan gyártók, mint a Tabula és a Xilinx , 3D vagy egymásra épített architektúrákat vezettek be . A 28 nm - es, 7-es sorozatú FPGA-k bevezetését követően a Xilinx elmondta, hogy ezekben az FPGA-termékcsaládokban a legnagyobb sűrűségű alkatrészek több szerszám felhasználásával készülnek egy csomagban, 3D-s konstrukcióhoz és halmozott szerszámszerelvényekhez kifejlesztett technológiát alkalmazva.

A Xilinx megközelítése több (három vagy négy) aktív FPGA -t halmoz egymás mellé egy szilícium közbeiktatón  - egyetlen szilíciumdarabon, amely passzív összeköttetést hordoz. A több szerszámból álló konstrukció lehetővé teszi az FPGA különböző részeinek létrehozását is különböző folyamattechnológiákkal, mivel az eljárási követelmények eltérőek az FPGA szövet és a nagyon nagy sebességű 28 Gbit/s soros adó-vevők között. Az így felépített FPGA -t heterogén FPGA -nak nevezzük .

Az Altera heterogén megközelítése magában foglalja egyetlen monolitikus FPGA szerszám használatát és más szerszámok/technológiák csatlakoztatását az FPGA-hoz az Intel beágyazott multi-die interconnect bridge (EMIB) technológiája segítségével.

Tervezés és programozás

Az FPGA viselkedésének meghatározásához a felhasználó hardverleírási nyelven (HDL) vagy sematikus kivitelben nyújt be egy tervet. A HDL forma jobban megfelel nagyméretű szerkezetekkel való munkavégzéshez, mivel lehetséges a magas szintű funkcionális viselkedés megadása ahelyett, hogy minden darabot kézzel rajzolna meg. Mindazonáltal a sematikus bejegyzés lehetővé teszi a tervezés és az összetevő modulok könnyebb megjelenítését .

Egy elektronikus tervezési automatizálási eszköz segítségével egy technológiailag leképezett netlistát állítanak elő. A netlistát ezután illeszteni lehet a tényleges FPGA architektúrához a hely és útvonal elnevezésű folyamat segítségével , amelyet általában az FPGA vállalat saját hely- és útvonal-szoftvere hajt végre. A felhasználó időzítés -elemzéssel , szimulációval , valamint egyéb ellenőrzési és érvényesítési módszerekkel érvényesíti a térkép, a hely és az útvonal eredményeit . Miután a tervezési és érvényesítési folyamat befejeződött, a rendszerint az FPGA gyártó saját szoftverével létrehozott bináris fájl az FPGA (újra) konfigurálására szolgál. Ez a fájl soros interfészen ( JTAG ) keresztül kerül át az FPGA/CPLD -re vagy egy külső memóriaeszközre, például egy EEPROM -ra .

A leggyakoribb HDL -k a VHDL és a Verilog , valamint a kiterjesztések, például a SystemVerilog . Azonban annak érdekében, hogy csökkentsük a HDL -ek tervezésének összetettségét, amelyet az összeszerelési nyelvek megfelelőjével hasonlítottak össze , vannak lépések az absztrakciós szint emelésére alternatív nyelvek bevezetésével . National Instruments ' LabVIEW grafikus programozási nyelv (néha a »G«) van egy FPGA add-in modul elérhető cél, és a program FPGA hardver. A Verilogot azért hozták létre, hogy egyszerűsítse a folyamatot, hogy a HDL robusztusabbá és rugalmasabbá váljon. A Verilog jelenleg a legnépszerűbb. A Verilog olyan szintű absztrakciót hoz létre, hogy elrejtse megvalósításának részleteit. A Verilog C-szerű szintaxissal rendelkezik, ellentétben a VHDL-lel.

Az FPGA -k komplex rendszereinek tervezésének egyszerűsítése érdekében léteznek előre definiált komplex függvények és áramkörök könyvtárai, amelyeket teszteltek és optimalizáltak a tervezési folyamat felgyorsítása érdekében. Ezeket az előre meghatározott áramköröket általában szellemi tulajdon (IP) magoknak nevezik , és az FPGA forgalmazóitól és külső IP-szállítóktól kaphatók. Ritkán ingyenesek, és jellemzően saját licencek alapján kerülnek forgalomba. Más előre meghatározott áramkörök elérhetők a fejlesztői közösségektől, például az OpenCores -tól (általában ingyenes és nyílt forráskódú licencek, például GPL , BSD vagy hasonló licenc alapján), és más forrásokból. Az ilyen terveket " nyílt forráskódú hardvernek " nevezik .

Egy tipikus tervezési folyamat során az FPGA alkalmazásfejlesztő a tervezési folyamat több szakaszában szimulálja a tervezést. Kezdetben a VHDL vagy a Verilog RTL leírását szimulálják tesztpadok létrehozásával, amelyek szimulálják a rendszert és megfigyelik az eredményeket. Ezután, miután a szintézismotor leképezte a tervezést netlistára, a netlistát kapu szintű leírássá alakítják le, ahol a szimulációt megismétlik, hogy megerősítsék, hogy a szintézis hiba nélkül lezajlott. Végül az FPGA-ban le van írva a terv, amelyen a terjedési késleltetések hozzáadhatók, és a szimuláció újra futtatható, és ezeket az értékeket visszajegyzik a netlistára.

Újabban az OpenCL -t (Open Computing Language) használják a programozók, hogy kihasználják az FPGA -k által nyújtott teljesítmény és energiahatékonyság előnyeit. Az OpenCL lehetővé teszi a programozók számára, hogy kódot dolgozzanak ki a C programozási nyelven, és OpenCL -konstrukciókat használva az FPGA -funkciókat OpenCL -kernelként célozzák meg. További információkért lásd a magas szintű szintézist és a C-HDL-t .

Az FPGA programozásának módszerei

A legtöbb FPGA programozása SRAM -alapú megközelítésen alapul. Ezek az FPGA-k a rendszeren belül programozhatók és újraprogramozhatók, de külső indítóeszközöket igényelnek. Például a flash memória vagy az EEPROM eszközök gyakran tölthetnek be tartalmat az útválasztást és logikát vezérlő belső SRAM -ba. Az SRAM megközelítés a CMOS -on alapul .

Az SRAM megközelítés ritkább alternatívái a következők:

  • Biztosíték -egyszer programozható. Kétpólusú. Elavult.
  • Antifuse -egyszer programozható. CMOS. Példák: Actel SX és Axcelerator családok; Quicklogic Eclipse II család.
  • PROM- Programozható, csak olvasható memória technológia. Egyszer programozható a műanyag csomagolás miatt. Elavult.
  • EPROM- Törölhető, programozható, csak olvasható memória technológia. Egyszer programozható, de ablakos, ultraibolya (UV) fénnyel törölhető. CMOS. Elavult.
  • EEPROM- Elektromosan törölhető, programozható, csak olvasható memória technológia. Törölhető, még műanyag csomagolásban is. Néhány, de nem minden EEPROM-eszköz programozható a rendszeren belül. CMOS.
  • Flash- Flash-erase EPROM technológia. Törölhető, még műanyag csomagolásban is. Néhány, de nem minden flash-eszköz programozható a rendszerben. Általában a flash cella kisebb, mint az egyenértékű EEPROM cella, ezért olcsóbb a gyártása. CMOS. Példa: Actel ProASIC család.

Főbb gyártók

2016-ban a hosszú távú ipari riválisok, a Xilinx (ma AMD) és az Altera (ma Intel leányvállalata ) voltak az FPGA piacvezetői. Abban az időben ők irányították a piac közel 90 százalékát.

Mind a Xilinx, mind az Altera saját fejlesztésű elektronikus tervezési automatizálási szoftvert biztosít a Windows és a Linux számára ( ISE / Vivado és Quartus ), amely lehetővé teszi a mérnökök számára, hogy megtervezzék , elemezzék, szimulálják és szintetizálják ( összeállítsák ) terveiket.

Más gyártók közé tartozik:

  • Mikrochip :
    • Microsemi (korábban Actel ), amely biztosítékot biztosít, vaku alapú, vegyes jelű FPGA - kat; a Microchip vásárolta meg 2018 -ban
    • Atmel , néhány Altera-kompatibilis eszköz második forrása; szintén a fent említett FPSLIC; a Microchip 2016 -ban vásárolta meg
  • A Lattice Semiconductor , amely alacsony fogyasztású SRAM-alapú FPGA-kat gyárt integrált konfigurációs vakuval, azonnali bekapcsolással és élő újrakonfigurációval
    • SiliconBlue Technologies , amely rendkívül kis teljesítményű SRAM-alapú FPGA-kat biztosít opcionális integrált nem felejtő konfigurációs memóriával; 2011 -ben szerezte meg a Lattice
  • A QuickLogic ultra alacsony fogyasztású érzékelő hubokat, rendkívül alacsony teljesítményű, kis sűrűségű SRAM-alapú FPGA-kat gyárt, kijelzőhídokkal, MIPI és RGB bemenetekkel, MIPI, RGB és LVDS kimenetekkel
  • Achronix , SRAM alapú FPGAS -t gyárt 1,5 GHz -es szövetsebességgel

2010 márciusában, a Tabula bejelentették FPGA technológia felhasználása időmultiplexelést logika és az összekapcsolási hogy állítások esetleges költségmegtakarítást nagy sűrűségű alkalmazásokat. 2015. március 24 -én a Tabula hivatalosan leállt.

2015. június 1 -jén az Intel bejelentette, hogy körülbelül 16,7 milliárd dollárért megvásárolja az Alterat, és 2015. december 30 -án befejezte az akvizíciót.

2020. október 27 -én az AMD bejelentette, hogy felvásárolja a Xilinx -et.

Lásd még

Megjegyzések

Hivatkozások

További irodalom

  • Sadrozinski, Hartmut F.-W .; Wu, Jinyuan (2010). A terepi programozható kapusorozatok alkalmazása a tudományos kutatásban . Taylor és Francis. ISBN 978-1-4398-4133-4.
  • Wirth, Niklaus (1995). Digitális áramkör tervezése Bevezető tankönyv . Springer. ISBN 978-3-540-58577-0.
  • Mitra, Jubin (2018). "FPGA-alapú fázismérő rendszer". IEEE Transactions on Very Large Scale Integration (VLSI) rendszerek . IEEE. 26 : 133–142. doi : 10.1109/TVLSI.2017.2758807 . S2CID  4920719 .
  • Mencer, Oskar és mtsai. (2020). "Az FPGA -k története, állapota és jövője". Az ACM kommunikációja. ACM. Kt. 63., 10. sz. Doi: 10.1145/3410669

Külső linkek