FPGA - technológia, ktorá sa opäť vracia do módy?

FPGA - technológia, ktorá sa opäť vracia do módy?
Elektrolab Pridal  Elektrolab
  319 zobrazení
3
 0
Komponenty

Z revolúcie zákazníckych integovaných obvodov ASIC (Application Specific Integrated Circuit) v 70. rokoch 20. storočia logicky vyplynula ďalšia revolúcia tentoraz v podobe  MCU (Microcontroller), MPU (Memory protection unit a FPGA (Field programmable gate array), kde boli hostiteľské radiče zabudované do jedného čipu plného logických blokov a mnohých integrovaných funkcií. V roku 2021 niektorí predstavitelia odvetvia vyhlásili, že FPGA sú teraz platformou voľby pre pokročilé aplikácie.

Pozrime sa, čo hovoria vývojári ak by sa  malii rozhodnúť pre FPGA vo svojom návrhu. Ja osobne nie som dosť starý na to, aby som si pamätal 70. roky minulého storočia, teda obdobie, keď si ASICy razili cestu na trh a napokon napomáhali väčšej miere integrácie a zmenšovaniu rozmerov. Dedičstvo ASIC pretrváva dodnes a známi výrobcovia komponentov stále ponúkajú širokú škálu čipov, ktoré vykonávajú špecializované funkcie s malými rozmermi. Niektoré úlohy, ktoré by bolo veľmi ťažké realizovať vo všeobecne použiteľnej programovateľnej logike, sa zrazu dali ľahko realizovať, keď sa tieto funkcie zabudovali do ASIC so špecializovanou logikou alebo špecializovanými funkciami. Začiatkom toho istého desaťročia spoločnosť Intel predstavila mikrokontroléry, ktoré konštruktérom poskytli všetko, čo potrebovali na vytvorenie integrovanejších systémov, namiesto toho, aby sa spoliehali na diskrétne logické obvody.-

Po technológiách ASIC a MCU prišli v roku 1984 programovateľné hradlové polia (Programmable logic array), pričom prvý takýto komponent predstavila vo svojom portfóliu spoločnosť Xilinx. Konštruktéri ASIC používali FPGA na emuláciu logiky, ktorú chceli implementovať do svojich návrhov ASIC, ako testovaciu platformu. Postupom času sa FPGA implementovali do väčšieho množstva výrobného hardvéru, buď ako doplnok k typickým ASIC, alebo na implementáciu špeciálnych logických funkcií, ktoré neboli dostupné v iných procesoroch alebo ASIC. Počet rozhraní dostupných na platformách FPGA sa tiež rozšíril do takej miery, že FPGA možno použiť ako hostiteľský radič pre akýkoľvek embeded systém.

V súčasnosti je návrh FPGA naďalej populárny medzi skúsenými embeded vývojármi a predpokladaná miera jeho rastu na globálneho trhu s FPGA sa pohybuje od 6,4 % do 10 % CAGR počas nasledujúcich 6-7 rokov. Len pre porovnanie, najvyšší odhad je na úrovni 10,1 % predpokladaného CAGR na globálnom trhu s MCU. Dosť podstatná otázka pre konštruktérov embeded systémov teda znie: čo je hnacou silou popularity FPGA v porovnaní s inými platformami a mal by byť FPGA východiskovým bodom pre nový návrh? Na tieto otázky sa pozrieme bližšie a zároveň porovnáme niektoré možnosti systémovej architektúry pre nový embeded systém.

Typ procesora FPGA ASIC MCU / MPU
Možnosť programovania

Možnosť okamžitého preprogramovania z viacerých obrazov v zariadení

Riadi sa výlučne procesorom zariadenia

Vyžaduje ručnú implementáciu novej aplikácie do pamäte

Možnosť aktualizácie

Funkcie nie sú pevne pripojené a je možné ich rozšíriť, ak to umožňuje konštrukcia dosky

Nemožnosť aktualizácie: logika funkcie je pevne zabudovaná a nedá sa upraviť

Aktualizovať možno len aplikácie, hardvérom definované funkcie sú pevne pripojené a nemožno ich aktualizovať

Hodinová frekvencia Frekvencie GHz

Závisí od externého hostiteľského radiča alebo referenčných hodín

Vysoká frekvencia MHz až GHz
Pamäť v čipe Môže byť vysoká Nie Niekoľko MB (CPU) alebo viac (MPU)
Počet vstupov a výstupov (IO) Môže dosiahnúť až 1000

Závisí od funkcie komponentu, hoci vo všeobecnosti je ich počet malý

Môže dosiahnúť počet 100
Nízkorýchlostné rozhrania

Môžu mať akékoľvek integrované nízkorýchlostné rozhranie alebo môžu byť implementované v logických blokoch

Typicky len jeden typ rozhrania (zvyčajne I2C alebo SPI)

Najbežnejšie sú I2C a SPI, ďalšie sú UART, CAN atď.

Vysokorýchlostné rozhrania Vysokorýchlostné rozhrania sú dostupné

Zvyčajne nedostupné, pokiaľ ASIC nie je mostík rozhrania

Zvyčajne iba USB, alebo Ethernet
Cena Vysoká, alebo veľmi vysoká Široký sortiment, väčšina komponentov je lacná Nízka, alebo stredná

 

Čo je hnacou silou nových návrhov FPGA?

FPGA boli vždy populárne v niekoľkých širokých prípadoch vďaka svojej prispôsobivosti. Medzi vysokoúrovňové oblasti, v ktorých boli FPGA tradične úspešné preto patria:

  • Implementácia špeciálnej logiky v kompaktných platformách, ktoré by sa za normálnych okolností museli implementovať pomocou pomalej sekvenčnej logiky v MCU
  • Oblasti použitia alebo produkty, kde je čas uvedenia na trh kritický kvôli dlhému času vývoja ASIC
  • Akékoľvek aplikácie vyžadujúce hardvérovú virtualizáciu alebo emuláciu
  • Akýkoľvek produkt, ktorý môže vyžadovať rýchle preprogramovanie bez pripojenia k externému systému

Ak nie ste oboznámení s návrhom a programovaním FPGA, ale poznáte niektoré základné myšlienky, ktorými sa riadi činnosť FPGA, potom by vás uvedený zoznam nemal prekvapiť. Ide o pomerne široké oblasti, ktoré treba zvážiť, ale premietajú sa do reálnych aplikácií vo viacerých odvetviach.

FPGA vs. MPU/MCU a ASIC

Všimnite si, že vyššie som veľa času venoval ASIC ako hlavnému :konkurentovi" FPGA. Obrovská ponuka komponentov skutočne umožňuje vývojárom embeded systémov kombinovať svoje MCU splu so špeciálnymi funkciami s ASIC a nízkorýchlostné periférie alebo rozhrania. FPGA prinášajú niekoľko výhod v rôznych oblastiach a stojí za to porovnať všetky tieto možnosti, pretože sa týkajú embeded systému.

Z uvedeného zoznamu by malo byť jasné, akú úlohu môžu FPGA zohrávať: prispôsobiteľné hostiteľské radiče pre embeded systémy, ktoré sú agnostické voči aplikáciám a operačným systémom. Konštrukcia FPGA poskytuje ďalšiu výhodu v podobe možnosti aktualizácie, pokiaľ sa návrh dosky a systému dokáže prispôsobiť týmto zmenám. Keď sa pozrieme na niektoré novšie aplikácie v priemysle, malo by nám byť jasné, prečo sú dnes FPGA populárnejšie, pričom sa očakáva, že ich popularita v blízkej budúcnosti len porastie.

Hlavní používatelia sú najmä v priemysle

Neexistuje jediná kategória produktov, ktorá by bola tradične zodpovedná za spotrebu FPGA. Od prvého uvedenia FPGA na trh patria medzi hlavných priemyselných spotrebiteľov njmä telekomunikačné systémy, vojenské letectvo, automobilový priemysel, ľahké spotrebné výrobky a dokonca aj ropný a plynárenský priemysel. Niektoré z pôvodných technológií, ktoré sa stali FPGA, boli pôvodne vyvinuté v rámci spoločnosti Zilog, dcérskej spoločnosti Exxonu, ktorej IP neskôr získala spoločnosť Xilinx.

Keďže FPGA získali pomerne rýchlo na popularite, pozornosť sa tým pádom presunula aj do iných priemyselných odvetví, ktoré si vyžadujú špeciálnu logiku implementovanú priamo na jednom procesore, a to aj napriek obrovskému počtu ASIC od mnohých dodávateľov, ktoré by mohli pokrývať rovnaké návrhy. Ako príklad možno uviesť mnohé produkty typu "mezzanine card" alebo "daughtercard" čo sú rozširujúce a špecializované karty na trhu pre vojenský a letecký sektor, ktoré využívajú FPGA ako prispôsobiteľnú embeded výpočtovú platformu, ktorá poskytuje extrémne vysoké rýchlosti prenosu dát s prístupom k viacerým periférnym zariadeniam a kartám prostredníctvom backplane.  Telekomunikácie a siete zostávajú jednou z oblastí použitia s rozšíreným návrhom a vývojom FPGA z dôvodu rýchlejšieho potrebného času na uvedenie na trh a relatívne jednoduchej aktualizácie na prispôsobenie sa zmenám v normách a zavádzaniu technológií.

Návrh a vývoj FPGA dnes

Vo vyššie uvedených oblastiach nedošlo k poklesu používania FPGA, ale naopak k ich nárastu . Jednou z oblastí, ktorú treba vyzdvihnúť, sú telekomunikácie; ako príklad tu možno uviesť čínsku telekomunikačnú spoločnosť Huawei, ktorá je jedným z najväčších spotrebiteľov FPGA na svete a dokonca ponúka platformu "FPGA cloud", ktorá ponúka zrýchlené cloudové výpočty ako službu. Existuje dokonca repozitár Huawei Cloud GitHub, ktorý používateľom pomáha začať s vývojom aplikácií. Využívanie FPGA v ich infraštruktúre prispelo aj k tomu, že dokázali zaviesť služby 5G skôr ako iné telekomunikačné spoločnosti. Rovnaké výhody, ktoré boli uvedené vyššie, dnes posúvajú návrh a vývoj FPGA do dvoch ďalších oblastí: robotiky a umelej inteligencie. Hoci sú tieto dve oblasti úzko prepojené, AI je pravdepodobne oveľa väčšou hnacou silou návrhu a vývoja nových FPGA.

Umelá inteligencia je hnacou silou pri návrhu a použítí FPGA

Vedúci predstavitelia v oblasti FPGA predpokladajú, že implementácia umelej inteligencie vo viacerých hardvérových systémoch bude hnacou silou veľkých zmien vo využívaní kremíka v týchto komponentoch. To neznamená, že v robotike alebo ľahkej AI nemožno použiť MCU; rozšírenie modulov akcelerátorov AI, ktoré sa pripájajú cez USB alebo mostík PCIe, ilustruje snahu prispôsobiť sa vývojárom MCU / MPU pre inteligentné embeded systémy. FPGA sú však oveľa prispôsobivejšou platformou, na ktorej sa dajú veľmi rýchlo vykonávať inferenčné výpočty paralelizáciou výpočtov; štruktúra FPGA sa dá prispôsobiť algoritmu, zatiaľ čo sekvenčná logika v GPU / MCU / MPU nie.

Jedným z novších komponentov, ktoré sa používajú v embeded systémoch s vysokým výpočtovým výkonom vrátane systémov implementujúcich inferenciu umelej inteligencie, je rad Zynq-7000 All Programmable SoC od spoločnosti Xilinx. Tento komponent pracuje na frekvencii až 866 MHz s aplikačným procesorom založeným na jadre ARM Cortex-A9. Ďalšie rozhrania, ako napríklad gigabitový Ethernet, DDR, Flash, PCIe a vysoký počet GPIO, uľahčujú integráciu tohto komponentu do okrajových výpočtových systémov. Nízkorýchlostné rozhrania ako I2C a SPI tiež umožňujú Zynq pracovať s ASIC, ktoré zachytávajú údaje z analógových senzorov alebo iných štandardných rozhraní (CANBus, RS-485 atď.).

Spoločnosť Xilinx je jedným z lídrov v oblasti AI na FPGA a poskytuje množstvo zdrojov pre vývojárov. Jedným zo zaujímavých vývojových krokov v súvislosti s procesorom Zynq je implementácia jazyka Python na Zynq alebo PYNQ, ako ho nazýva spoločnosť Xilinx. Ostatní výrobcovia FPGA budujú svoje produktové rady, aby konkurovali Zynq, takže vývojári embeded AI budú mať veľa možností pre výpočty AI v zariadení pomocou návrhu FPGA.

Výzvy pri používaní FPGA

FPGA sú skvelé platformy najmä pre skúsených vývojárov, ktorí pracujú v pokročilejších oblastiach aplikácií. Keď chýba prostredie štandardov, prostredie riešení ASIC a možnosti MCU / MPU alebo sa rýchlo menia, FPGA je pravdepodobne lepšou voľbou pre nový systém. Hoci FPGA umožnili úspech v celom rade oblastí, nesú so sebou vlastný súbor hardvérových a vývojových výziev:

  • Riadenie odvodu tepla: Podobne ako ich príbuzní MCU / MPU, aj FPGA môžu byť v závislosti od veľkosti komponentu významným zdrojom tepla. Nie je to nová výzva, hoci ju ešte zhoršujú požiadavky na konštrukciu v kompaktných systémoch s vysokým výkonom, ako je edge computing, alebo vo vysokovýkonných zariadeniach 5G. Niektoré klientské riešenia sa v týchto systémoch zaoberali stratégiami odvádzania tepla, ktoré zahŕňajú jedinečné chladiče alebo lepenie na kryt.
  • Umiestnenie a smerovanie: V aplikáciách s vysokým výkonom je stále problém s úlohami umiestnenia a smerovania, kde sa na štruktúru FPGA mapuje proprietárny softvér dodávateľa. To si vyžaduje čas, pretože softvér kompilátora musí použiť algoritmus na nájdenie mapovania, ktoré podporuje všetky logické funkcie v aplikáciách. Oblasti aplikácií, v ktorých je to problém, sú napríklad vysokovýkonné výpočty a dátové centrá. Problematické by to mohlo byť aj v oblasti umelej inteligencie, keď sa FPGA okrem inferencie / trénovania používa aj na úlohy na úrovni systému.
  • Vývojárske zázemie: Komunita vývojárov FPGA nie je ani zďaleka taká veľká ako komunita vývojárov ASIC + MCU alebo komunita vývojárov softvéru s otvoreným zdrojovým kódom ako celok. MCU je pre neskúsených vývojárov jednoduchšie začať používať vďaka nesmierne populárnym platformám ako Arduino či ESP32. Dodávatelia FPGA sa však výrazne zlepšili v poskytovaní zdrojov vývojárom, aby mohli rýchlo implementovať riešenia na FPGA. Počet  projektov FPGA na GitHube tiež drží krok s projektmi MCU, ako ukazuje nasledujúca tabuľka.
  1.1.2018 až 31.12.2019 1.1.2020 až 1.8.2021
Nový repozitár označený tagom "FPGA" 14087 6860
Nový repozitár označený tagom "MCU" 9033 4602
Nový repozitár označený tagom "microcontroller" 11163 6064
Priemer 69.75% nových FPGA 64.32% nových FPGA

 

Ako budú FPGA vyzerať v budúcnosti?

Súčasné FPGA prideľujú približne 50 % alebo viac plochy kremíka na IO, pretože staršie produkty založené na FPGA vyžadovali prepojenie s obrovským množstvom periférií prostredníctvom viacerých rozhraní. Keďže sa pozornosť presúva viac na aplikácie s vysokým výkonom, ako je AI, nebuďte prekvapení, keď sa väčšia plocha kremíka vyhradí pre bloky s výpočtovou technológiou AI, prípadne s vyvíjajúcimi sa prepojeniami a flexibilným pohybom údajov počas behu. Heterogénna integrácia sa presadí aj do FPGA SoC, kde sa bloky AI, GPU / TPU, pamäte s vysokou šírkou pásma a RF front-endy skombinujú do jedného kompaktného púzdra.

Aj keď FPGA môžu mať funkcie ASIC implementované a preprogramované do štruktúr FPGA podľa potreby, stále sú vynikajúcim doplnkom systémov založených na ASIC. Jednou z architektúr návrhu, ktorá má zmysel, je umiestniť všetky funkcie, ktoré si môžu vyžadovať aktualizáciu, do FPGA a zároveň využiť štandardizáciu ASIC na prepojenie s jednoduchšími perifériami, ako sú rôzne snímače a dátové zbernice. Tým sa určite skráti čas návrhu FPGA, pretože vývojári sa môžu sústrediť na zdokonaľovanie funkcií s vysokým výkonom, ktoré sú potrebné v konečnom produkte. Ak chcete tento typ architektúry použiť v inteligentných embeded systémoch, budete pravdepodobne potrebovať niekoľko ďalších komponentov.

Zdroje : Wikipedia Octopart Internet Vlastné

Máte aj vy zaujímavú konštrukciu, alebo článok?

Máte aj vy zaujímavú konštrukciu, alebo článok a chceli by ste sa o to podeliť s viac ako 250.000 čitateľmi? Tak neváhajte a dajte nám vedieť, radi ju uverejníme a to vrátane obrazových a video príloh. Rovnako uvítame aj autorov teoretických článkov, či autorov zaujímavých videí z oblasti elektroniky / elektrotechniky.

Kontaktujte nás!


Páčil sa Vám článok? Pridajte k nemu hodnotenie, alebo podporte jeho autora.
 

       

Komentáre k článku

Zatiaľ nebol pridaný žiadny komentár k článku. Pridáte prvý? Berte prosím na vedomie, že za obsah komentára je zodpovedný užívateľ, nie prevádzkovateľ týchto stránok.
Pre komentovanie sa musíte prihlásiť.

Vaša reklama na tomto mieste

Vyhľadajte niečo na našom blogu

PCBWay Promo

ourpcb Promo

PCBWay Promo

ourpcb Promo

PCBWay Promo

ourpcb Promo


Webwiki Button