Implementeer Low-Power, High-Performance edgecomputing met behulp van Efinix's Quantum-Enabled FPGA's
Bijgedragen door De Noord-Amerikaanse redacteurs van DigiKey
2020-03-17
Klassieke cloudcomputing heeft te maken met problemen op het gebied van latentie, databeveiliging, privacy van de eindgebruiker, beschikbare bandbreedte en betrouwbare connectiviteit. Om deze aan te pakken, gaan ontwerpers en systeemarchitecten over op edgecomputing. Maar edgecomputing kent zijn eigen uitdagingen, variërend van kosten, omvang, prestaties en stroomverbruik tot kwesties als schaalbaarheid, flexibiliteit en opwaardeerbaarheid. Dit is met name het geval omdat ontwerpers meer beeldverwerking willen uitvoeren en algoritmen voor kunstmatige intelligentie (AI) en machine learning (ML) dichter bij de gegevensbron willen implementeren.
Als gevolg daarvan kijken ontwerpers verder dan de traditionele microcontrollers (MCU's) of applicatieprocessoren (AP's) en overwegen ze in het veld programmeerbare gate-arrays (FPGA's) met hun parallelle verwerkingsmogelijkheden. Gestage verbeteringen in het ontwerp en de implementatie van FPGA's betekent dat ze nu aan veel of al deze eisen kunnen voldoen - hetzij als zelfstandige apparaten, hetzij in combinatie met MCU's en AP's. Dat gezegd hebbende, veel ontwerpers zijn onbekend met FPGA's en maken zich zorgen over de leercurve.
Dit artikel gaat kort in op de migratie van cloud- naar edgecomputing en waarom traditionele verwerkingsarchitecturen tekortschieten als het gaat om zowel beeldverwerking als AI en ML. Het geeft vervolgens een snelle blik op FPGA's en waarom ze een architectonisch voordeel hebben voor deze data-intensieve randtoepassingen. Ten slotte introduceert het een nieuwe benadering van FPGA's - de Quantum-technologie van Efinix - en hoe deze toe te passen.
Waarom edgecomputing?
Bij traditionele cloudcomputing worden gegevens verzameld van talloze externe locaties en in een cloudgebaseerd systeem ingevoerd voor opslag en analyse. Er zijn echter veel nadelen aan deze aanpak verbonden. Het gaat onder meer om de kosten van het verzenden van grote hoeveelheden ruwe gegevens, het handhaven van de integriteit en veiligheid van die gegevens tijdens het transport, responslatenties, zorgen over de privacy van de eindgebruiker, en vaak onbetrouwbare verbindingen met het internet en een suboptimaal gebruik van de beschikbare bandbreedte.
Zoals de naam al suggereert, betekent edgecomputing het verplaatsen van de verwerkingscomputers en -analyses naar de rand van het internet, precies daar waar de gegevens worden gegenereerd, geanalyseerd, verzameld en toegepast. De term edgecomputing is niet applicatie- of apparaatspecifiek, en ontwerpers kunnen kiezen voor edge-only-verwerking of een balans tussen cloud en edge, al naar gelang het geval.
Randtoepassingen zijn onder andere slimme fabrieken, slimme steden, slimme huizen en slim transport, om er maar een paar te noemen. Ook kunnen edge-apparaten variëren van grote, high-end edge-servers tot relatief kleine sensor- en actuatorsystemen die zich aan de uiterste rand van het internet bevinden - op het punt van de datageneratie.
Het voordeel van FPGA's
Als het gaat om de berekening, zijn traditionele processors uiterst efficiënt als het gaat om besluitvorming en opeenvolgende taken, maar vreselijk inefficiënt met betrekking tot veel gegevensverwerkingsalgoritmen, zoals die welke worden gebruikt voor beeldverwerking, AI, en ML. Deze taken kunnen vaak worden opgesplitst in massaal parallelle (versus sequentiële) verwerkingspijpleidingen. Het zijn namelijk juist deze toepassingen die naar de rand en de uiterste rand migreren.
Het feit dat FPGA's kunnen worden geprogrammeerd (geconfigureerd) om een willekeurige combinatie van functies te implementeren, stelt hen in staat om beeldverwerking, AI- en ML-algoritmen op een massaal parallelle manier uit te voeren, waardoor de latentie wordt geminimaliseerd en tegelijkertijd het stroomverbruik wordt verminderd. Naast hun hoofdprogrammeerbare stof zijn FPGA's uitgerust met DSP-blokken (on-chip digital signal processing) die speciale multipliers bevatten die DSP-intensieve toepassingen drastisch versnellen. FPGA's zijn ook voorzien van on-chip geheugenblokken die de on-chip verwerking vergemakkelijken, wat veel sneller gaat dan het afgaan van de chip.
Er zijn een aantal FPGA-leveranciers, elk met hun eigen unieke aanbod. Een van deze leveranciers, Efinix, heeft een speciale FPGA-architectuur ontwikkeld, Quantum genaamd, die uniek is voor edgecomputing in het algemeen en beeldverwerking in het bijzonder. Rond die technologie heeft het zijn serie Trion FPGA's (en Quantum ASIC's) ontwikkeld om een 4x vermogen-prestatievoordeel te bieden ten opzichte van traditionele FPGA-technologieën (Afbeelding 1). Het overbruggen van de FPGA- en ASIC-domeinen is de Efinity Integrated Development Environment (IDE).
Afbeeldin 1: Met hun voordeel op het gebied van power-performance-area pakken Trion FPGA's toepassingen aan zoals aangepaste logica, rekenversnelling, ML, deeplearning en beeldverwerking. Met de Efinity IDE kunnen gebruikers naadloos migreren van een Trion FPGA naar een Quantum ASIC voor ultrahoge volumeproductie. (Bron afbeelding: Efinix)
Wat is Quantum-technologie?
Net als traditionele FPGA's bevatten Trion FPGA's ook geheugen- en DSP-blokken. Het verschil zit hem in de programmeerbare stof (Afbeelding 2). De kern van de programmeerbare logica is het logische element (LE). Elke LE bevat een opzoektabel (LUT), een multiplexer en een register, die allemaal naar wens kunnen worden geconfigureerd. In het geval van traditionele FPGA's kan hun programmeerbare stof worden omschreven als "grofkorrelig".
Afbeelding 2: Een traditionele FPGA-architectuur (a) is grofkorrelig, en hoewel de logica en de interconnecteerbaarheid programmeerbaar zijn, zijn het nog steeds vaste middelen. Ter vergelijking, Trion FPGA's (b) op basis van Quantum-architectuur zijn fijnkorrelig, en hun logica- en routingmiddelen zijn uitwisselbaar (bron afbeelding: Max Maxfield)
In grofkorrelige stoffen worden meerdere LE's samengevoegd tot een groter geclusterd logisch blok (CLB). Merk op dat sommige leveranciers de term configurable logic block (CLB) gebruiken, terwijl anderen logic array block (LAB) gebruiken, maar ze betekenen allemaal hetzelfde.
Het is belangrijk op te merken dat deze illustratie een abstractie is. De CLB's en routingschakelaars (programmeerbare interconnect) in traditionele FPGA's worden niet echt gepresenteerd in een checkerboardpatroon zoals hier getoond. Ze zijn echter vast en onveranderlijk omdat programmeerbare logica altijd programmeerbare logica zal zijn en programmeerbare interconnectie altijd programmeerbare interconnectie zal zijn.
Vergeleken met traditionele architecturen zijn Trion FPGA's veel verfijnder, tot aan de resolutie van één enkel logisch element. Bovendien kan elke uitwisselbare logica en routing (XLR)-cel geconfigureerd worden als een LE of als onderdeel van de routingmatrix.
De configuratiecellen die in de Quantum-architectuur worden gebruikt zijn gebaseerd op SRAM, wat betekent dat deze technologie "silicone-agnostisch" is. Ze kunnen worden vervaardigd met behulp van elk standaard CMOS-proces zonder dat er speciale verwerkingsstappen nodig zijn die worden vereist door alternatieve configuratietechnologieën, zoals flash en antifuse, die worden gebruikt in sommige FPGA's uit het middensegment.
Het is deze software-configureerbare logica en routing en high-performance adaptieve interconnect die de Quantum-gebaseerde aanpak een 4x verbetering geeft in termen van power-performance-area (PPA) in vergelijking met de traditionele SRAM-gebaseerde FPGA's die op dezelfde procestechnische node zijn gemaakt.
Ook hebben FPGA's die zijn gemaakt met behulp van de Quantum-architectuur slechts zeven metallisatielagen nodig, in tegenstelling tot de 12+ die door de traditionele FPGA's worden geëist. Aangezien elke extra laag metaal meerdere masker- en processtappen vereist, vermindert het gebruik van slechts zeven lagen de ontwerp- en fabricagekosten en verhoogt het rendement.
Al deze kenmerken en functies zijn zeer nuttig voor ontwerpers die op zoek zijn naar kosten, grootte, prestaties en flexibiliteitsvoordelen voor edgecomputing en beeldverwerking. Als zodanig zijn Trion FPGA's bij uitstek geschikt voor zowel traditionele FPGA-toepassingen als voor opkomende edgecomputing- en beeldverwerkingstoepassingen. Deze laatste omvatten mobiel, Internet of Things (IoT), automatisering, robotica, sensorfusie, computervisie, AI en ML.
De structuur van Trion FPGA's
Trion FPGA's worden vervaardigd op een 40 nanometer (nm) laagvermogen siliciumproces met tussen de vierduizend (K) en 200K LE's, hoewel het proces schaalbaar is naar veel grotere apparaten. Alle Trion FPGA's bevatten geheugen- en DSP-blokken, maar hun capaciteit en aantal variëren afhankelijk van de grootte van het apparaat. Kleinere apparaten zoals de T4F81C2 zijn minimalistischer in hun functies (d.w.z. 3.888 LE's, 78.848 geheugenbits, 59 GPIO's) en zijn gericht op handheld, control plane-functies.
Hogere eindapparaten zoals de T20F256C3 bevatten navenant meer bronnen (d.w.z. 19.728 LE's, 1.069.548 geheugenbits, 195 GPIO's). De T13F256C3 is vergelijkbaar met de T20F256C3, maar heeft 12.828 LEs. Ook apparaten zoals de T13/T20 zijn er in verschillende uitvoeringen (Afbeelding 3).
Afbeelding 3: De Efinix T13/T20 BGA256s (a) zijn een generieke FPGA die een goede keuze zijn voor ontwerpen met I/O-intensieve behoeften; de T13/T20 BGA169s (b) bevatten twee MIPI D-PHY/CSI-2 harde kernblokken voor ontwerpen die de MIPI-camera-interface moeten ondersteunen; en de T13/T20 BGA324s (c) versterken de MIPI-interfaces met een harde kern x16-bit dubbele datasnelheid (DDR) DRAM-interface en controller voor ontwerpen met geheugenbandbreedte-intensieve behoeften. (Bron afbeelding: Max Maxfield)
MIPI CSI-2 is de meest gebruikte camera-interface in mobiele en andere markten vanwege het lage vermogen, de lage latentie en de goedkope chip-to-chip-connectiviteit. Het ondersteunt ook een breed scala aan hoogwaardige formaten, waaronder 1080p, 4K, 8K (en hoger) video, evenals hoge-resolutie beeldvorming. Van bijzonder belang hierbij is het feit dat MIPI CSI-2 de belangrijkste interface is die wordt gebruikt voor vision-sensors in randtoepassingen. Om ontwerpen voor deze toepassingen te ondersteunen, bevatten de T13/T20 BGA169's FPGA's twee MIPI D-PHY/CSI-2 harde kernblokken (Afbeelding 3, opnieuw).
DDR-geheugen ondersteunt de overdracht van gegevens met een hoge bandbreedte, maar vereist ook de naleving van een strikt timingprotocol. Naast de geharde MIPI D-PHY/CSI-2-interfaces bevatten de Trion T13/T20 BGA324's (Afbeelding 3) ook een geharde x16-bits DDR DRAM-interface en controller voor ontwerpen die veel geheugen nodig hebben.
Quantum ASIC's
Zoals eerder opgemerkt, zijn de configuratiecellen die in Trion FPGA's worden gebruikt, gebaseerd op SRAM. Als gevolg hiervan moeten Trion FPGA's, wanneer het systeem voor het eerst wordt opgestart, hun configuratiegegevens laten laden, hetzij vanaf een extern geheugenapparaat, hetzij door "bit-banging" via de hostprocessor. Om dit te doen in ultra-hoog volume productie, biedt Efinix ook Quantum Accelerated embedded FPGA (eFPGA)-oplossingen in de vorm van Quantum ASICs. In dit geval kan Efinix T4, T8, T13 of T20 ontwerpen en masker geprogrammeerde Quantum ASIC-versies maken die intern opstarten zonder dat er een extern configuratieapparaat nodig is.
Ontwerp en ontwikkeling met Trion FPGA's
Efinix biedt een verscheidenheid aan evaluatieborden en ontwikkelingssets om gebruikers vertrouwd te maken met Trion FPGA's. Deze omvatten de Trion T8F81C-DK T8 Trion FPGA-ontwikkelingskit, de Trion T20F256C-DK T20 Trion FPGA-evaluatiekaart en de Trion T20MIPI-DK T20 MIPI D-PHY/CSI-2-ontwikkelingskit.
Een van de meest gebruikte technieken om met FPGA's te ontwikkelen wordt taalgedreven ontwerp (LDD) genoemd. Dit houdt in dat de ontwerpintentie wordt vastgelegd op een abstractieniveau dat bekend staat als registeroverdrachtsniveau (RTL) met behulp van een hardwarebeschrijvingstaal (HDL) zoals Verilog of VHDL. Na verificatie via logica-simulatie wordt deze representatie vervolgens in een synthese-engine ingevoerd, samen met aanvullende informatie zoals het doel-FPGA-type, pintoewijzingen en tijdsbeperkingen, zoals maximale invoer-outputvertragingen. De output van de synthese-engine is een configuratiebestand dat rechtstreeks in de FPGA of in een extern geheugenapparaat wordt geladen (Afbeelding 4).
Afbeelding 4: Na verificatie via logica-simulatie wordt de RTL-ontwerpbeschrijving in een synthese-engine ingevoerd, samen met aanvullende ontwerpdetails zoals het FPGA-type, pintoewijzingen en timingbeperkingen. De output van de synthese-engine is een configuratiebestand dat in de FPGA wordt geladen. (Bron afbeelding: Max Maxfield)
Efinix's Efinity IDE valt in deze klasse. Deze software biedt een complete RTL-to-bitstream-flow met een eenvoudige, gemakkelijk te gebruiken grafische gebruikersinterface (GUI) en ondersteuning voor commandoregel-scripting. Een intuïtief dashboard leidt de ontwikkelaar door de flow (d.w.z. synthese, plaatsing, routing, bitstroomgeneratie), waarbij elke fase automatisch of handmatig kan worden aangestuurd. Ontwikkelaars kunnen de synthese-engine van Efinity gebruiken om ten volle te profiteren van de Quantum-architectuur in Trion FPGA's om apparaten te genereren met de beloofde 4x PPA-verbeteringen.
Naast de ondersteuning van simulatiestromen met behulp van de ModelSim, NCSim of vrije IVerilog-simulators, beschikt de Efinity IDE ook over een Interface Designer om de logica te beperken en pinnen toe te wijzen aan blokken in de periferie van het apparaat, een Floorplan Editor om door de logica van een ontwerp en de plaatsing van de routing te bladeren, een Timing Browser en statische timinganalyse om de prestaties van een ontwerp te meten, en een geïntegreerde hardware Debugger met Logic Analyzer en Virtuele I/O debugkernen.
Conclusie
Aangezien ontwerpers meer beeld-, AI- en ML-verwerking aan de rand uitvoeren, in plaats van, of om een cloudgebaseerde aanpak aan te vullen, moeten ze FPGA's overwegen als onderdeel van hun verwerkingsarchitectuur om kwesties als kosten, prestaties, stroomverbruik, grootte, schaalbaarheid, flexibiliteit en opwaardeerbaarheid beter aan te pakken.
Voor sommige ontwerpers kan dit een leercurve met zich meebrengen; maar zoals aangetoond kan de vooruitgang in FPGA's zoals Efinix's Quantum technologie de investering snel de moeite waard maken door lagere kosten, kleinere vormfactoren, hogere prestaties en grotere flexibiliteit.
Als gevolg daarvan zijn FPGA's nu bij uitstek geschikt voor zowel traditionele FPGA-toepassingen als voor opkomende edgecomputing voor mobiele, IoT-, automatisering-, robotica-, sensorfusie-, computervisie-, AI- en ML-toepassingen.
Aanvullende bronnen
- Grondbeginselen: Het IoT, IIoT, AIoT en waarom ze de toekomst van de industriële automatisering zijn
- Grondbeginselen van de FPGA's: Wat zijn FPGA's en waarom zijn ze nodig?
- Grondbeginselen van de FPGA's - Deel 2: Aan de slag met de FPGA's van Lattice Semiconductor
- Grondbeginselen van de FPGA's - Deel 3: Aan de slag met de FPGA's van Microchip Technology
Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.




