I sistemi di gestione dei dati programmabili di campo (FPGA) sono passati oltre a funzioni di prototipazione e data center per diventare piattaforme di calcolo essenziali nei dispositivi mobili con resistenza al potere, inclusi smartphone, tablet, wearables e droni. Il loro hardware riconfigurabile fornisce un'accelerazione efficiente per la fusione dei sensori, l'inferenza della rete commerciale convoluzionale e l'elaborazione delle immagini in tempo reale, spesso superando i processi generali.

Il paesaggio di potenza delle FPGA mobili

Comprendere le origini fisiche della dissipazione di potenza in un FPGA è essenziale prima dell'ottimizzazione. L'alimentazione totale P[FLT: 1]] totale[] consiste di due componenti principali: potere dinamico e potere statistico] [FLT:

Poiché la tecnologia di fabbricazione avanza a 28 nm, 16 nm, e sotto, la perdita sub-sentire, la perdita di cancello, e la perdita di giunzione diventano significativi. A differenza della potenza dinamica, la potenza statica è fortemente influenzata dalla variazione di temperatura e di processo.

Le applicazioni mobili aggiungono ulteriori vincoli: la tensione di alimentazione è tipicamente fissata dal sistema PMIC, lo spazio per i componenti di alimentazione è limitato, e la FPGA spesso condivide un'interfaccia termica con altri chip ad alta densità. Una strategia di ottimizzazione efficace deve affrontare sia il comportamento intrinseco del silicio che l'ambiente circostante.

Tecniche di ottimizzazione del potere di progettazione-tempo

Il risparmio energetico sostanziale può essere raggiunto prima che la FPGA sia programmata su un bordo, che si concentra sulla RTL, la netlist, il flusso di implementazione e il layout fisico.

Strumenti di sintesi e attuazione Power-Aware

Gli ambienti di sviluppo di FLTA moderni offrono potenti motori di stima e ottimizzazione. Strumenti come Xilinx Vivado Power opt direttive, Intel Quartus Prime congelato PowerPlay Power Analy Power Analy, e Lattice Radiant caratteristiche di stima di potenza possono identificare punti di analisi caldi, inserire automaticamente gating e applicare l'ottimizzazione multi-Vt.

Logica e ottimizzazione di routine al livello RTL

Clock gating[] rimane la tecnica più efficace: gating the clock to records not attivamente usato impedisce l'intero albero di clock a valle da alleggerire, eliminando la potenza dinamica in entrambe le infradito e la grande rete di distribuzione di clock capacitivo. La maggior parte degli strumenti di sintesi supporta l'inserimento automatico del motore di gating, ma codificando manualmente le banche spesso consente di registrare i risultati di grandi dimensioni.

Oltre agli orologi, operando l'isolamento[] impedisce alle unità aritmetiche di calcolare quando non sono necessari gli output. Ad esempio, un blocco moltiplicatore-accumulato utilizzato solo durante determinate fasi di elaborazione dovrebbe avere i suoi input forzati a zero quando idle, bloccando le operazioni di multiplo interno ] La condivisione delle risorse riduce il numero di hardware associato

Il processo di implementazione di FPGAs è un importante contributo alla potenza dinamica, perché i cavi di interconnessione programmabili hanno un elevato grado di capacità. La congestione di routing di Dense aumenta sia la capacità che il crosstalk, aumentando la potenza dinamica e parassita.

Multi-Treno di Tensione e Selezione Cellulare

Le famiglie FPGA offrono primitivi cellulari con tensioni di soglia diverse (Vt). Le cellule ad alta velocità perdono meno corrente statica ma sono più lente; le celle a basso valore sono veloci ma a perdita. Gli strumenti di implementazione in Quartus Prime (flusso di ottimizzazione a bassa potenza) o Vivado (sintesi ad ultra-variazione) possono scambiare automaticamente le celle a basso valore di configurazione, mantenendo i percorsi non critici in alto livello, riducendo le perdite statiche

Riduzione della potenza di memoria e della data-path

I blocchi di memoria (BRAM) e le fette DSP sono spesso i più grandi contributori di potenza singolo negli acceleratori mobili. Quando un algoritmo accede a bloccare frequentemente RAM, circuito di pre-carica bit-line e di amplificazione del senso può bruciare rapidamente l'energia dinamica.

Sul lato del percorso dati, ]inversione del bus e [] schemi di codifica dei dati[[]] ridurre le transizioni su autobus pesantemente carichi.

Sintesi delle direttive e dei vincoli per il potere

Gli strumenti di sintesi del fornitore permettono ai progettisti di controllare le trasformazioni correlate alla potenza in modo esplicito. In Xilinx Vivado, impostare la strategia per “Explore” può innescare la ristrutturazione logica che riduce l'attività di commutazione.

Strategie di gestione del potere dinamico

Le misure di progettazione stabiliscono una linea di base a bassa potenza, ma i dispositivi mobili richiedono l'adattabilità a tempo di esecuzione per adattarsi a carichi di lavoro e budget di potenza variabili.

Riconfigurazione di potenza e parziale

L'innesto di corrente è in grado di scollegare una parte del tessuto FPGA dalle rotaie di alimentazione, eliminando sia la potenza statica che quella dinamica in quella regione.

Scala dinamica di tensione e frequenza (DVFS)

DVFS è un punto di forza del processore mobile e sempre più disponibile per FPGAs. Regolando dinamicamente la tensione del nucleo e la frequenza dell'orologio in risposta alle esigenze di rendimento multiple, DVFS sfrutta il rapporto quadratico 100]P ⁇ V2f. Una riduzione del 10% della tensione, se i margini di tempo permettono, produce circa 19% risparmio di potenza dinamica.

Gestione attiva della potenza tramite ottimizzazione dell'albero dell'orologio

La rete di distribuzione dell'orologio in una FPGA può consumare il 20-40% della potenza dinamica totale anche quando non si attivano le funzioni di dominio logica. La segmentazione del dominio di bloccaggio consente ai progettisti di disabilitare completamente gli alberi di orologio per le regioni non utilizzate.

Dominio dell'orologio Crossing e Riduzione degli spicchi al Tempo di esecuzione

Tutti i modelli FPGA mobile dovrebbero usare sincronizzatori robusti (due-flop o FIFO-based) e la logica non correlata in domini separati che possono essere gated o ridimensionati in modo indipendente. Questo riduce gli glitch e facilita il gating dell'orologio e il DVFS del per-dominio.

Approcci di integrazione hardware e sistema

Anche l'efficienza di FPGA silicio sprechi di potenza se il design a livello di bordo è povero. Le strategie a livello hardware comprendono la selezione dei dispositivi, la consegna di energia e la progettazione termica, formando le basi per tutte le ottimizzazioni a livello di software.

Selezione della famiglia FPGA a basso raggio destro

I dispositivi di controllo a bassa potenza () La velocità di iCE40 UltraLite] è inferiore a 75 μA, mentre il tempo di configurazione di configurazione di configurazione di configurazione di sensori e di elaborazione semplice.

Progettazione e efficienza dell'alimentazione elettrica

La rete di alimentazione elettrica colpisce direttamente sia l'efficienza energetica che l'integrità del segnale. I regolatori di commutazione offrono efficienze di conversione superiori al 90%, ma la ripple di uscita può accoppiarsi in blocchi analogici sensibili. Una tecnica mobile comune sta usando un convertitore di alta efficienza per l'alimentazione del nucleo seguito da un regolatore di bassa goccia (LDO) lineare per fornire tensione pulita e bassa rumore per forniture di trasmettitore.

Layout PCB e gestione termica

Per la perdita di corrente FPGA si raddoppiano circa 10°C di temperatura di giunzione, rendendo la gestione termica una misura diretta di risparmio energetico. Nei dispositivi mobili compatti, i dissipatori di calore dedicati sono raramente fattibili, quindi PCB-based di diffusione termica] utilizzando grandi flussi di rame collegati al pad termico FPGA, le vie termiche canalizzanti a un piano di terra interno e il contatto intimo con il telaio del dispositivo può

Migliori Pratiche per l'integrazione mobile FPGA

L'ottimizzazione efficace della potenza non è un'attività di una volta; deve essere incorporata nell'intero flusso di sviluppo dall'architettura alla sintonizzazione post-deployment.

Flusso di Profiling e stima di potenza

L'analisi di potenza non può contare su un'analisi di calcolo. Gli ingegneri dovrebbero generare dati realistici di controllo dalla simulazione di livello gate utilizzando carichi di lavoro mobili rappresentativi, ad esempio, una tipica scoppio di 30 secondi di elaborazione della camera seguita da idle. Esportazione di un file SAIF o VCD e alimentazione al produttore di energia quantifica i guasti di potenza per modulo, tipo (dinamica vs. statica) e ottimizzazione dell'offerta.

Software-Hardware Co-Design per il Potere

In un sistema mobile, il FPGA raramente funziona in isolamento. Un processore di applicazione o MCU può orchestrare gli stati di potenza attraverso una semplice interfaccia SPI/I2C. Gli sviluppatori dovrebbero definire le modalità di potenza—Active, Idle, Sleep, Hibernate—e esporre al software stack. Quando il sistema entra in standby, il processore invia un comando per cancello l'isola di potenza di FPGA o affermare un pin di riavvio esterno.

Monitoraggio continuo e ottimizzazione adattiva

Molti moderni FPGA includono la tensione on-chip, la temperatura e i monitor attuali accessibili tramite JTAG interno o ADC dedicati. Un software leggero demone sul processore di applicazione può leggere periodicamente i sensori e regolare i livelli di temporizzamento DVFS o attivare la corrente gating in tempo reale.

Conclusioni

Grazie alla tecnologia di elaborazione integrata di sistemi di progettazione e di elaborazione di sistemi di progettazione, FPGA si propone di creare un software di gestione di potenza ottimizzato per i dispositivi mobili.