POLITECNICO DI MILANO BiRF: un filtro hardware per la rilocazione dinamica online dei bitstream per la riconfigurazione parziale Relatore: prof. Donatella Sciuto Correlatore: ing. Marco Domenico Santambrogio Tesi di Laurea di: Massimo Morandi Marco Novati Sommario Obiettivo del lavoro Premesse Riconfigurazione dinamica parziale interna Struttura a colonne e indirizzamento FPGA Xilinx Organizzazione bitstream di configurazione La rilocazione Il concetto di rilocazione Rilocazione applicata alla riconfigurazione interna BiRF Da REPLICA a BiRF Struttura e funzionamento di BiRF Dati di sintesi Risultati sperimentali Conclusioni e sviluppi futuri 2 Obiettivo del lavoro Obiettivo: ridurre l'uso di memoria per i bitstream in sistemi che implementano riconfigurazione dinamica parziale interna basata su colonne Metodo: tecnica di rilocazione dei bitstream Strumento: filtro hardware creato ad-hoc per rilocare i bitstream direttamente su FPGA BiRF è lo strumento creato a tale scopo e validato all'interno dell'architettura YaRA 3 Riconfigurazione dinamica parziale interna Dinamica: L'elaborazione continua anche durante la riconfigurazione Necessità di garantire infrastruttura di comunicazione permanente Parziale: Possibile variare la funzionalità di singole parti dell'FPGA Serve un bitstream parziale per ogni funzionalità voluta e per ogni possibile posizione Interna: L'intero processo è gestito autonomamente dal sistema Il gestore della riconfigurazione e tutti i bitstream parziali devono trovarsi internamente al sistema 4 Struttura a colonne e indirizzamento FPGA Xilinx Colonne di 5 tipi: Clock, RAM, I-RAM, I/O, CLB Colonne divise in N frame a seconda del tipo Doppio indirizzo: Major Address, Minor Address Major Address 5 Colonna CLB = 48 frame Organizzazione bitstream configurazione Rappresenta la posizione iniziale del modulo Anche il checksum è coinvolto dalla rilocazione 6 Il concetto di rilocazione Un bitstream parziale descrive la configurazione di una singola funzionalità Comprese le informazioni relative al posizionamento sul dispositivo Manipolandolo si può quindi ottenere la configurazione della stessa funzionalità in una posizione arbitraria 7 Rilocazione applicata alla riconfigurazione interna Ipotesi: Area riconfigurabile equamente divisa in k slot n IP-Core allocabili in uno o più slot k moduli per deallocare Numero di bitstream: k*(n+1) Numero di bitstream con rilocazione: n+1 Per alcune architetture d'esempio, ipotizzando dimensione dei bitstream costante, risulta: Slot Moduli Bitstream Bitstream con riloc % Memoria risparmiata 2 5 12 6 50,0% 3 8 27 9 75,0% 5 10 55 11 80,0% 8 16 136 17 87,5% 8 Da REPLICA a BiRF REPLICA: Università di Paderborn Rilocazione dei bitstream durante il download su scheda Compatibile con Virtex, Virtex-E BiRF: Reimplementazione ed estensione di REPLICA Applicato alla riconfigurazione interna Compatibilità estesa alle Virtex-II Pro Permette di memorizzare nel sistema un solo bitstream per funzionalità 9 Struttura e funzionamento di BiRF Target Col: colonna iniziale di destinazione del modulo Chip Cols, Chip RAMs, RAM Space: parametri della scheda DATA_IN: bitstream da rilocare a blocchi da 32 bit DATA_OUT: bitstream rilocato a blocchi da 32 bit 10 Struttura e funzionamento di BiRF: Parser 11 Dati di sintesi L'occupazione di BiRF su tre differenti FPGA risulta: Accettabile per un'architettura riconfigurabile Migliorabile con ottimizzazioni mirate a una FPGA Le massime prestazioni teoriche di BiRF sono: 12 Risultati sperimentali Throughput su scheda: 2,05 MB/s 13 Conclusioni e sviluppi futuri Obiettivi raggiunti: BiRF può essere effettivamente sfruttato per la riconfigurazione dinamica parziale interna Permette un notevole risparmio di memoria grazie alla rilocazione Dynamic Reconfiguration: Core Relocation via Partial Bitstreams Filtering with Minimal Overhead, International Symposium on System-on-Chip, Tampere 2006 Sviluppi futuri: Miglioramento delle prestazioni tramite: Interfacciamento su bus PLB Accesso diretto alla memoria (DMA) Integrazione con ICAP 14 Fine presentazione 15