160 likes | 375 Views
Relatore: Prof. Fabrizio FERRANDI Correlatore: Ing. Marco D. SANTAMBROGIO. BAnMaT:un framework per l’analisi e la manipolazione di bitstream orientato alla riconfigurabilità parziale.
E N D
Relatore: Prof. Fabrizio FERRANDI Correlatore: Ing. Marco D. SANTAMBROGIO BAnMaT:un framework per l’analisi e la manipolazione di bitstream orientato alla riconfigurabilità parziale Tesi di Laurea di: Dario Deori Anno Accademico 2004/2005
Sommario • Obiettivi • La riconfigurabilità parziale • Memoria di configurazione • BAnMaT • Lavoro svolto • Conclusioni
Obiettivi • Configurazione parziale • Evitare le sintesi da VHDL • Modifiche mirate • Possibilità di effettuare configurazione dinamica • Di bitstream • Di dispositivo in cascata
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
Organizzazione della memoria di configurazione • Indirizzamento • Unità base: frame • Colonna: composta da più frame Colonna CLB = 48 frame Major Address
Bitstream • File binario contenente la configurazione della FPGA • Composto da • Comandi di configurazione • Dati di configurazione • Struttura
Bitstream Analysis Manipulation Tool Funzionalità dello strumento: • Funzionalità all’utente • Funzionalità interne • Implementazione: analisi del file mediante funzione di parsing
Calcolo funzioni 1/2 • Permettono di localizzare un componente nel bitstream • Esempio: caso CLB
Calcolo funzioni 2/2 Esempio: caso BRAM
Fasi del lavoro • Funzionalità aggiunte • Lettura frame BRAM • Scrittura frame BRAM • Lettura colonne BRAM • Lettura intera BRAM • Scrittura colonna BRAM • Debugging
Lettura frame/colonna • Lettura frame • Calcolo di MJA e MNA • Estrazione del frame voluto • Lettura colonna • Calcolo del MJA • Lettura di 64 frame consecutivi (da MNA=0 a MNA=63)
Lettura Intera BRAM • La lettura viene effettuata come per la singola colonna e iterata per il numero di colonne presenti sul dispositivo • Valutazione qualitativa tramite visione complessiva dei dati presenti
Scrittura di una colonna BRAM e Debugging • Riconfigurazione porzione software • Comportamento ciclico di lettura e scrittura su ogni frame della colonna • Approccio di riconfigurabilità basata su moduli • Controllo della posizione di scrittura
Conclusioni • Possibili applicazioni • Approccio difference based alla riconfigurazione parziale • Correzione di componenti logici mal configurati • Analisi struttura bitstream • Individuazione errori • Approccio module based alla riconfigurazione parziale • Inserimento di nuovi dati in BRAM • Lettura dei dati in tempo reale dai blocchi BRAM