Il design FPGA sta tornando di moda?

Creato: novembre 1, 2021
Aggiornato: luglio 1, 2024

Dalla rivoluzione degli ASIC degli anni '70 è nata la rivoluzione degli MCU, MPU e FPGA, dove i controller ospiti venivano costruiti su un singolo chip riempito di blocchi logici e molte funzionalità integrate. Nel 2021, alcuni nel settore hanno dichiarato che gli FPGA sono ora la piattaforma di scelta per applicazioni avanzate. Scopri cosa dicono le persone e dove potresti optare per un FPGA nel tuo progetto.

Non sono abbastanza vecchio per ricordare gli anni '70, un periodo in cui gli ASIC stavano facendo strada nel mercato e in definitiva aiutavano a ottenere livelli di integrazione e riduzione del fattore di forma maggiori. L'eredità degli ASIC continua ancora oggi, e i produttori popolari offrono ancora una vasta gamma di chip che eseguono funzioni specializzate con un piccolo ingombro. Alcuni dei compiti che sarebbero stati molto difficili da implementare in una logica programmabile generica diventavano improvvisamente facili da implementare quando quelle funzioni erano integrate in un ASIC con logica specializzata o funzionalità dedicate. All'inizio dello stesso decennio, i microcontrollori furono introdotti da Intel, dando ai progettisti tutto ciò di cui avevano bisogno per costruire sistemi più integrati piuttosto che fare affidamento su circuiti logici discreti.

Dopo gli ASIC e gli MCU sono arrivati i field-programmable gate arrays nel 1984, con il primo componente introdotto da Xilinx. All'inizio, i progettisti di ASIC utilizzavano gli FPGA per emulare la logica che intendevano implementare nei loro progetti ASIC come una sorta di piattaforma di test. Con il passare del tempo, gli FPGA sono stati implementati in più hardware di produzione, sia come complemento agli ASIC tipici sia per implementare funzioni logiche speciali che non erano disponibili in altri processori o ASIC. Anche il numero di interfacce disponibili sulle piattaforme FPGA è espanso al punto che un FPGA può essere utilizzato come controller ospite per qualsiasi sistema embedded.

Oggi, il progetto FPGA continua ad essere popolare tra gli sviluppatori embedded esperti, e i tassi di crescita previsti nel mercato globale degli FPGA variano dal 6,4% al 10% CAGR nei prossimi 6-7 anni. Solo per riferimento, la stima più alta è in linea con il CAGR previsto del 10,1% nel mercato globale degli MCU. La domanda per il progettista embedded è, cosa sta guidando la popolarità degli FPGA rispetto ad altre piattaforme, e un FPGA dovrebbe essere il tuo punto di partenza per un nuovo progetto? Esamineremo più da vicino queste domande confrontando alcune opzioni di architettura di sistema per un nuovo sistema embedded.

Cosa sta guidando i nuovi progetti FPGA?

Gli FPGA sono sempre stati popolari in alcuni casi specifici grazie alla loro adattabilità, come è stato discusso in un articolo precedente su questo blog. Alcune delle aree principali in cui gli FPGA hanno tradizionalmente avuto successo includono:

  • Implementazione di logica specializzata in piattaforme compatte, che normalmente dovrebbero essere implementate utilizzando logica sequenziale lenta negli MCU

  • Aree di applicazione o prodotti in cui il tempo di immissione sul mercato è critico a causa del lungo tempo di sviluppo per gli ASIC

  • Qualsiasi applicazione che richieda virtualizzazione o emulazione hardware

  • Qualsiasi prodotto che possa richiedere una rapida riprogrammazione senza connettersi a un sistema esterno

Se non sei familiare con la progettazione e la programmazione FPGA, ma conosci alcune delle idee di base che governano il funzionamento degli FPGA, allora la lista sopra non dovrebbe sorprenderti. Queste sono aree piuttosto ampie da considerare, ma si traducono in applicazioni reali in diverse industrie.

FPGA vs. MPU/MCU e ASIC

Noterai sopra che ho dedicato molto tempo a fare riferimento agli ASIC come principale concorrente degli FPGA. Infatti, l'ampia gamma di componenti consente agli sviluppatori embedded di mescolare e abbinare il loro MCU, funzioni speciali con ASIC e periferiche o interfacce a bassa velocità. Gli FPGA offrono diversi vantaggi in diverse aree, ed è utile confrontare tutte queste opzioni per quanto riguarda un sistema embedded.

Dalla lista sopra, dovrebbe essere chiaro il ruolo che gli FPGA possono giocare: controller host adattabili per sistemi embedded che sono agnostici rispetto all'applicazione e al sistema operativo. Un design FPGA offre il vantaggio aggiuntivo dell'aggiornabilità, purché il design della scheda e del sistema possano accomodare questi cambiamenti. Una volta che guardiamo ad alcune nuove applicazioni nell'industria, dovrebbe essere chiaro perché gli FPGA sono oggi più popolari, con la loro popolarità che si prevede crescerà nel prossimo futuro.

Principali Utenti nell'Industria

Non esiste una singola categoria di prodotto che sia stata tradizionalmente responsabile del consumo di FPGA. Da quando sono stati introdotti, i principali consumatori industriali di FPGA includono sistemi di telecomunicazioni, mil-aero, automotive, prodotti di consumo leggeri e persino l'industria del petrolio e del gas. Infatti, alcune delle tecnologie originali che sarebbero diventate FPGA sono state originariamente sviluppate sotto Zilog, una sussidiaria di Exxon il cui IP è stato successivamente acquisito da Xilinx.

Con il guadagno di popolarità degli FPGA, l'attenzione si è spostata su altre industrie che richiedono logica specializzata implementata direttamente su un singolo processore, nonostante l'enorme numero di ASIC di molti fornitori che potrebbero coprire gli stessi design. Come esempio, molti prodotti di schede mezzanine e schede figlie nel mercato mil-aero utilizzano FPGA come piattaforma di computing embedded adattabile che fornisce tassi di trasferimento dati estremamente veloci con accesso a molteplici periferiche e schede tramite un backplane. Telecomunicazioni e networking rimangono un'area di applicazione con un ampio design e sviluppo FPGA a causa del tempo di immissione sul mercato più rapido e della relativa facilità di aggiornamenti per accomodare cambiamenti negli standard e nei rollout tecnologici.

Progettazione e Sviluppo FPGA Oggi

Le aree evidenziate sopra non hanno visto una diminuzione nell'uso degli FPGA. La telecomunicazione è un'area da evidenziare; ad esempio, Huawei è uno dei maggiori consumatori di FPGA al mondo e commercializza anche una piattaforma "cloud FPGA", offrendo il cloud computing accelerato come servizio. Esiste persino un repository GitHub di Huawei Cloud per aiutare gli utenti a iniziare con lo sviluppo di applicazioni. L'uso degli FPGA nella loro infrastruttura ha anche contribuito alla loro capacità di implementare i servizi 5G prima di altre telecomunicazioni. Oggi, gli stessi vantaggi identificati sopra stanno spingendo il design e lo sviluppo degli FPGA in due aree: la robotica e l'IA. Sebbene le due aree siano profondamente collegate, l'IA è probabilmente un motore molto più grande di nuovo design e sviluppo di FPGA.

L'IA sta Guidando il Design e l'Uso degli FPGA

I leader nello spazio FPGA progettano che l'implementazione dell'IA in più sistemi hardware porterà grandi cambiamenti nell'uso del silicio su questi componenti. Questo non vuol dire che non si possa usare un MCU nella robotica o nell'IA leggera; la proliferazione di moduli acceleratori di IA che si collegano tramite USB o un ponte PCIe illustra uno sforzo per accomodare gli sviluppatori di MCU/MPU per sistemi embedded intelligenti. Tuttavia, gli FPGA sono una piattaforma molto più adattabile dove i calcoli di inferenza possono essere eseguiti molto rapidamente parallelizzando il calcolo; il tessuto FPGA può essere personalizzato per adattarsi all'algoritmo, mentre la logica sequenziale in GPU/MCU/MPU non può.

Un componente più recente che viene utilizzato in sistemi embedded ad alta computazione, inclusi sistemi che implementano inferenza AI on-board, è il Zynq-7000 All Programmable series SoC di Xilinx. Questo componente funziona fino a 866 MHz con un processore applicativo basato su core ARM Cortex-A9. Interfacce aggiuntive come Ethernet gigabit, DDR, Flash, PCIe e un alto conteggio di GPIO rendono questo componente facile da integrare nei sistemi di edge computing. Interfacce a bassa velocità come I2C e SPI consentono anche allo Zynq di operare con ASIC che catturano dati da sensori analogici o altre interfacce standard (CANBus, RS-485, ecc.).

Xilinx è uno dei leader nell'IA su FPGA e fornisce molte risorse per gli sviluppatori. Uno sviluppo interessante con il processore Zynq è l'implementazione di Python su Zynq, o PYNQ come lo chiama Xilinx. Altri produttori di FPGA stanno ampliando le loro linee di prodotti per competere con Zynq, quindi gli sviluppatori di AI embedded avranno molte opzioni per il calcolo AI on-device utilizzando un design FPGA.

Sfide nell'Uso degli FPGA

Gli FPGA sono ottime piattaforme per lo sviluppatore esperto che lavora in aree di applicazione più avanzate. Quando il panorama degli standard, il panorama delle soluzioni ASIC e le capacità di MCU/MPU sono carenti o in rapido cambiamento, un FPGA è probabilmente un'opzione migliore per un nuovo sistema. Sebbene gli FPGA abbiano consentito il successo in una gamma di aree, portano con sé il proprio insieme di sfide hardware e di sviluppo:

  • Gestione del calore: Proprio come i loro cugini MCU/MPU, gli FPGA possono generare notevoli quantità di calore, a seconda delle dimensioni del componente. Questa non è una sfida nuova, sebbene sia aggravata dai requisiti di progettazione in sistemi compatti ad alta elaborazione come il computing periferico, o in apparecchiature 5G ad alta potenza. Alcuni dei miei clienti hanno esaminato strategie di dissipazione del calore che coinvolgono dissipatori di calore unici o l'adesione al guscio in questi sistemi.

  • Posizionamento e tracciamento: Nelle applicazioni ad alta elaborazione, rimane ancora una sfida con i compiti di posizionamento e tracciamento, dove il software proprietario del fornitore viene mappato sul tessuto FPGA. Questo richiede tempo poiché il software del compilatore deve utilizzare un algoritmo per trovare una mappatura che supporti tutte le funzioni logiche nelle applicazioni. Le aree di applicazione dove ciò rappresenta una sfida sono il calcolo ad alte prestazioni e i data center. Questo potrebbe essere problematico anche nell'IA quando un FPGA è utilizzato per compiti a livello di sistema in aggiunta all'inferenza/all'addestramento.

  • Risorse di sviluppo: La comunità degli sviluppatori FPGA non è quasi grande quanto quella degli ASIC + MCU, o la comunità del software open source nel suo insieme. Gli MCU sono più facili da usare per gli sviluppatori inesperti grazie a piattaforme enormemente popolari come Arduino e ESP32. Tuttavia, i fornitori di FPGA sono diventati molto migliori nel fornire risorse agli sviluppatori in modo che possano implementare rapidamente soluzioni su FPGA. Anche il numero di nuovi progetti FPGA su GitHub ha tenuto il passo con i progetti MCU, come mostrato nella tabella sottostante.

Come saranno gli FPGA nel futuro?

Gli FPGA attuali allocano circa il 50% o più dell'area del silicio agli IO poiché i prodotti basati su FPGA più vecchi richiedevano l'interfacciamento con un'ampia gamma di periferiche su molteplici interfacce. Man mano che l'attenzione si sposta maggiormente verso applicazioni ad alta elaborazione come l'IA, non sorprendetevi se verrà dedicata più area del silicio ai blocchi di calcolo IA, possibilmente con interconnessioni in evoluzione e movimento flessibile dei dati in tempo reale. L'integrazione eterogenea si filtrerà anche negli SoC FPGA, dove blocchi IA, GPU/TPU, memorie ad alta larghezza di banda e front-end RF sono combinati in un unico pacchetto compatto.

Anche se gli FPGA possono avere caratteristiche ASIC implementate e riprogrammate nel tessuto FPGA secondo necessità, rimangono comunque un ottimo complemento ai sistemi basati su ASIC. Un'architettura di progettazione che ha senso è posizionare tutte le funzionalità che possono richiedere aggiornamenti nell'FPGA, mentre si utilizza la standardizzazione degli ASIC per interfacciarsi con periferiche più semplici come sensori e bus di dati. Questo riduce certamente il tempo di progettazione FPGA poiché gli sviluppatori possono concentrarsi sul perfezionamento delle funzionalità ad alta elaborazione che sono necessarie nel prodotto finale. Se volete utilizzare questo tipo di architettura in sistemi embedded intelligenti, avrete probabilmente bisogno di diversi altri componenti:

Quando hai bisogno di trovare componenti per il tuo prossimo progetto FPGA, utilizza le funzionalità avanzate di ricerca e filtraggio in Octopart. Utilizzando il motore di ricerca elettronica di Octopart, avrai accesso ai dati aggiornati sui prezzi dei distributori, inventario dei componenti e specifiche dei componenti, ed è tutto liberamente accessibile in un'interfaccia user-friendly. Dai un'occhiata alla nostra pagina sui circuiti integrati per trovare i componenti di cui hai bisogno.

Rimani aggiornato con i nostri ultimi articoli iscrivendoti alla nostra newsletter.

 

 

 

 

 

Risorse correlate

Tornare alla Pagina Iniziale
Thank you, you are now subscribed to updates.