Politecnico di Milano
Sviluppo di strumenti per l'analisi e la
manipolazione di bitstream per la
riconfigurabilità parziale
Relatore:
Correlatore:
Prof. Fabrizio FERRANDI
Ing. Marco D. SANTAMBROGIO
Tesi di Laurea di:
Giorgio Galvalisi
Carmine Galeone
Anno Accademico 2004/2005
Sommario
• Introduzione alle FPGA
• La riconfigurabilità parziale
• BAnMaT
• Lavoro svolto
• Conclusioni
2
Field Programmable Gate Arrays
• Dispositivi programmabili dall’utente
• Schema semplificato di una FPGA Xilinx
• CLB
• IOB
• Interconnessione
4 Slice in un CLB
2 Celle Logiche per Slice
3
Memoria di configurazione
• Unità base: frame (largo un bit, lungo tutta la FPGA)
• Colonna: composta da più frame
Major Address
Colonna CLB = 48 frame
4
Bitstream
• File binario contenente la configurazione della
FPGA
• Composto da
• Comandi di configurazione
• Dati di configurazione
• Struttura
5
Riconfigurazione Parziale
• La FPGA viene riconfigurata solo in parte
• Riduzione dei tempi di riconfigurazione
• Possibilità di realizzare sistemi complessi attraverso divisione
in moduli
• Due approcci
• Module based
• Difference based
6
Bitstream Analysis Manipulation Tool
Funzionalità dello strumento:
• Analisi passiva
• Analisi attiva
• Implementazione originale: analisi del file
mediante funzione di parsing
7
Il parser: flusso di esecuzione
8
Fasi del lavoro
• Modifiche al programma
• Gestione errori
• Funzionalità aggiunte
• Calcolo funzioni
• Lettura frame
• Lettura colonne CLB
• Lettura LUT
• Scrittura LUT
9
Calcolo funzioni
• Permettono di localizzare un componente nel
bitstream
• Esempio: caso CLB
10
Lettura frame/colonna
• Lettura frame
• Calcolo di MJA e MNA
• Estrazione del frame voluto
• Lettura colonna
• Calcolo del MJA
• Lettura di 48 frame consecutivi
(da MNA=0 a MNA=47)
11
Lettura LUT (1/2)
• Look-Up Table: implementa funzione combinatoria ad n ingressi
12
Lettura LUT (2/2)
• 16 frame da leggere
• Per ciascun frame
• Calcolo della posizione
del frame
• Lettura del frame
• Estrazione della parola
contenente il bit
• Lettura del bit
13
Scrittura LUT
Per ciascun frame
• Calcolo della posizione
del frame
• Lettura del frame
• Estrazione della parola
contenente il bit
• Lettura del bit originale
e sostituzione del nuovo bit
14
Conclusioni
• Possibili applicazioni
• Approccio difference based alla riconfigurazione parziale
• Analisi struttura bitstream
• Individuazione errori
• Correzione di componenti logici mal configurati
• Lavori futuri
• Lettura di frame/colonne IOB e RAM
• Lettura e modifica di blocchi SRAM
15
Fine Presentazione
16
Scarica

ThesisGalvasiGaleone_2005_IT