BAnMaT Light: un tool per la rilocazione software dei bitstream Relatore: Prof.ssa Donatella Sciuto Correlatore: Ing. Marco Domenico Santambrogio Tesi di Laurea di: Simone Corbetta
Sommario Obiettivi del lavoro FPGA Virtex-II Pro Rilocazione dinamica Architettura e indirizzamento Configurazione Rilocazione dinamica BAnMaT BAnMaT Light Sviluppi futuri
Obiettivi del lavoro Obiettivi generali Obiettivi specifici Estensione di BAnMaT Creazione di uno strumento software per la rilocazione a run-time di moduli hardware riconfigurabili Obiettivi specifici Connessione al database Creazione interfaccia grafica BAnMaT Light
Virtex-II Pro. Architettura BRAM Interconnect BRAM Content GCLK Colonna IOB IOI CLB CLB CLB IOI IOB Base Address 1 1 2 2 n + 2 n + 3 n + 4 … … MJA 1 2 3 4 5 m m Indirizzamento tramite MJA e MNA
Virtex-II Pro. Registri di Configurazione
Rilocazione dinamica. Concetti IP-Core IP-Core
Rilocazione dinamica. Stato dell’arte PRO CONTRO Bitstream multipli Estrae logica rilocabile Solo Virtex-E Solo colonne CLB PARBIT Design di piccola dimensione Solo Virtex No riconfigurazione parziale JBits Stretta dipendenza API di JBits Solo Virtex Integrato con XFT Bitstream multipli JPG Diversi dispositivi Lettura dei frame Lettura/scrittura delle LUT No visualizzazione configurazione BAnMaT
BAnMaT Analisi dei bitstream di configurazione Validazione dei bitstream debugging Lettura di un frame Readback di configurazione Lettura/scrittura delle word nelle LUT Readback + riconfigurazione
BAnMaT. Interfaccia grafica
Small-bit manipulation per riconfigurazione module-based! BAnMaT Light Alterazione dei bitstream on-line Realizzazione via software della riconfigurazione dinamica parziale Alterazione di pochi bit di configurazione all’interno del bitstream Rilocazione dinamica di interi core hardware Utilizzo congiunto con BAnMaT Small-bit manipulation per riconfigurazione module-based!
BAnMaT Light. Macchina a stati finiti
BAnMaT Light. Prestazioni Throughput massimo: 2,632 Mbyte/s
Sviluppi Futuri Descrizione di un sistema tramite XML <system> Visualizzazione delle aree occupate su dispositivo Gestione della memoria in fase di progettazione Gestione della memoria per riconfigurazione <system> <module name=“ip_core_1”> <port direction=“in” type=“bit”>data</port> <port direction=“in” type=“bit”>clock</port> <port direction=“out” type=“bit”>out</port> </module> </system>
Fine presentazione Grazie per l’attenzione!