← Ultimi articoli
⚡ ingegneria elettrica

An Ultra-Compact, BRAM-Free Streaming 2D Convolution Accelerator on Low-Power FPGAs

Questo articolo presenta un acceleratore di convoluzione 2D in streaming ultra-compatto e privo di BRAM per FPGA a basso consumo, che utilizza registri di spostamento basati su LUT e un datapath MAC in pipeline per ottenere un elevato throughput e un uso minimo delle risorse, mantenendo al contempo un'accuratezza bit-exact su un SoC Xilinx Zynq-7020.

Autori originali: Amir Atef, Yahia Sameh

Pubblicato 2026-10-14
📖 6 min di lettura🧠 Approfondimento

Autori originali: Amir Atef, Yahia Sameh

Articolo originale sotto licenza CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). ✨ Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta né approvata dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo

Nel mondo della tecnologia moderna, esiste una costante spinta a rendere i dispositivi intelligenti più piccoli, economici e capaci di funzionare con batterie minuscole. Questa spinta ha dato origine all' "edge computing", dove compiti complessi come il riconoscimento dei volti o la rilevazione di oggetti avvengono direttamente su una telecamera o un sensore, invece di inviare i dati a un enorme server nel cloud. Il motore matematico dietro questa visione è un processo chiamato convoluzione, che agisce come un filtro che scorre su un'immagine per trovare schemi specifici, come il bordo netto di un edificio o la curva di un volto. Per farlo, il dispositivo deve osservare un piccolo gruppo di pixel alla volta, moltiplicarli per numeri specifici e sommare i risultati. Sebbene i computer potenti nei data center gestiscano questo facilmente, farlo su un chip piccolo e a basso consumo è difficile perché il chip ha una memoria e un'energia molto limitate. Non può permettersi di memorizzare l'intera immagine per poterla consultare in seguito, né può sprecare energia aspettando che i dati arrivino.

Ricercatori dell'Università di Ain Shams hanno progettato un nuovo acceleratore hardware che risolve questi problemi per i chip piccoli e a basso consumo presenti in dispositivi come droni o sensori indossabili. Hanno creato un circuito specializzato in grado di elaborare uno flusso di dati d'immagine man mano che arrivano, un pixel alla volta, senza mai dover memorizzare l'intera immagine nella memoria. Il team ha costruito questo sistema su un tipo di chip riconfigurabile chiamato FPGA, specificamente puntando a un modello noto come Zynq-7020, comune nell'elettronica embedded. Il loro obiettivo era quello di eliminare tutti i componenti di memoria pesanti e voraci di energia solitamente richiesti per questo compito e sostituirli con una struttura molto più leggera ed efficiente che entri interamente nei blocchi logici di base del chip.

Il cuore della loro innovazione è un metodo di gestione dei dati dell'immagine che evita la necessità di grandi banche di memoria dedicate. Tipicamente, per analizzare un piccolo quadrato di un'immagine, un computer deve ricordare la riga corrente di pixel e le due righe venute subito prima. I design standard utilizzano grandi blocchi di memoria per contenere queste righe, il che consuma spazio prezioso ed energia. I ricercatori hanno invece costruito un sistema che utilizza unità di archiviazione minuscole e flessibili presenti all'interno del tessuto logico del chip. Queste unità agiscono come un nastro trasportatore mobile, trattenendo solo i dati necessari per ricostruire il necessario quadrato di pixel tre per tre mentre lo flusso dell'immagine passa. Utilizzando questi piccoli elementi di archiviazione distribuiti invece di grandi blocchi di memoria, hanno eliminato la necessità di qualsiasi modulo di memoria dedicato, liberando spazio per altri compiti e riducendo drasticamente la potenza necessaria per far funzionare il sistema.

L'acceleratore elabora i dati dell'immagine a un ritmo costante, accettando un pixel ogni ciclo di clock. Mentre i pixel fluiscono in entrata, il sistema forma istantaneamente il vicinato tre per tre richiesto, moltiplica ogni pixel per il suo peso corrispondente e somma i risultati. Per garantire che la matematica rimanga accurata e non produca errori dovuti a numeri troppo grandi, il design utilizza una dimensione specificamente provata matematicamente per i suoi registri di calcolo interni. Ciò garantisce che la somma dei nove valori moltiplicati non vada mai in overflow o non si riavvolga in modo errato, un problema comune nei sistemi digitali a dimensione fissa. Una volta completato il calcolo, il risultato viene attentamente regolato per adattarsi a un intervallo standard, e un passaggio opzionale può essere applicato per rimuovere eventuali valori negativi, imitando un passaggio comune utilizzato nelle reti di intelligenza artificiale.

Il team ha testato rigorosamente il proprio design, eseguendolo attraverso simulazioni e confrontando i risultati con un modello software affidabile. Hanno verificato che l'hardware producesse esattamente lo stesso output del software per ogni singolo pixel nelle immagini di test, inclusi fotografie naturali complesse e schemi geometrici. Quando hanno costruito il design sul chip target, i risultati hanno mostrato che il sistema consumava quasi nessuna risorsa di memoria, utilizzando zero blocchi di memoria dedicati. Occupava meno dello 0,5% della capacità logica totale del chip e utilizzava solo una frazione minima dei suoi processori matematici specializzati. Il sistema operava a una velocità di 100 milioni di cicli al secondo, elaborando un intero fotogramma di un'immagine 32 per 32 pixel in poco più di dieci microsecondi.

Il consumo di energia è stato un altro grande successo. La parte attiva del chip che esegue i calcoli utilizzava solo nove milliwatt di potenza, ovvero meno dell'energia necessaria per illuminare un minuscolo LED. Sebbene la potenza totale misurata includesse l'energia necessaria per inviare segnali fuori dal chip verso i pin esterni, i ricercatori hanno osservato che in un dispositivo reale, dove il chip comunica con altre parti internamente, questo costo di potenza esterna scomparirebbe, lasciando il nucleo di calcolo operare con meno di dieci milliwatt. Questo livello di efficienza rende possibile eseguire compiti avanzati di visione su dispositivi alimentati da piccole batterie o persino dal recupero di energia, senza la necessità di grandi sistemi di raffreddamento o pesanti alimentatori.

Il design non è privo di limiti. È attualmente costruito specificamente per l'elaborazione di immagini a singolo canale, come le foto in bianco e nero, ed è ottimizzato per una dimensione di pattern tre per tre. Cambiare la dimensione del pattern o gestire immagini a colori richiederebbe la ricostruzione del circuito. Inoltre, il sistema si aspetta un flusso continuo di dati e non dispone di un meccanismo per mettersi in pausa e attendere se la sorgente dei dati si ferma. Tuttavia, per il suo scopo previsto di gestire piccoli frammenti di immagine in rapido movimento su hardware a basso consumo, i ricercatori hanno dimostrato che il loro approccio è una soluzione altamente efficiente. Dimostrando che l'analisi di immagini complesse può essere eseguita con quasi nessuna memoria e una potenza minima, questo lavoro apre la porta a una nuova generazione di sensori intelligenti e autonomi che possono vedere e comprendere il mondo senza la necessità di una connessione al cloud.

Sommerso dagli articoli nel tuo campo?

Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.

Prova Digest →