Politecnico di Milano Sviluppo di strumenti per l'analisi e la manipolazione di bitstream per la...

16
Politecnico di Milano Politecnico di Milano Sviluppo di strumenti per Sviluppo di strumenti per l'analisi e la l'analisi e la manipolazione di bitstream manipolazione di bitstream per la riconfigurabilità per la riconfigurabilità parziale parziale Relatore: Relatore: Prof. Fabrizio FERRANDI Prof. Fabrizio FERRANDI Correlatore: Correlatore: Ing. Marco D. Ing. Marco D. SANTAMBROGIO SANTAMBROGIO Tesi di Laurea di: Tesi di Laurea di: Giorgio Giorgio Galvalisi Galvalisi Carmine Galeone Carmine Galeone Anno Accademico 2004/2005

Transcript of Politecnico di Milano Sviluppo di strumenti per l'analisi e la manipolazione di bitstream per la...

Page 1: Politecnico di Milano Sviluppo di strumenti per l'analisi e la manipolazione di bitstream per la riconfigurabilità parziale Relatore: Prof. Fabrizio FERRANDI.

Politecnico di MilanoPolitecnico di Milano

Sviluppo di strumenti per l'analisi e la Sviluppo di strumenti per l'analisi e la manipolazione di bitstream per la manipolazione di bitstream per la

riconfigurabilità parzialericonfigurabilità parziale

Relatore: Relatore: Prof. Fabrizio FERRANDI Prof. Fabrizio FERRANDI Correlatore: Correlatore: Ing. Marco D. SANTAMBROGIOIng. Marco D. SANTAMBROGIO

Tesi di Laurea di: Tesi di Laurea di: Giorgio Galvalisi Giorgio Galvalisi

Carmine Galeone Carmine Galeone

Anno Accademico 2004/2005

Page 2: Politecnico di Milano Sviluppo di strumenti per l'analisi e la manipolazione di bitstream per la riconfigurabilità parziale Relatore: Prof. Fabrizio FERRANDI.

2

SommarioSommario

• Introduzione alle FPGAIntroduzione alle FPGA

• La riconfigurabilità parzialeLa riconfigurabilità parziale

• BAnMaTBAnMaT

• Lavoro svoltoLavoro svolto

• ConclusioniConclusioni

Page 3: Politecnico di Milano Sviluppo di strumenti per l'analisi e la manipolazione di bitstream per la riconfigurabilità parziale Relatore: Prof. Fabrizio FERRANDI.

3

Field Programmable Gate Field Programmable Gate ArraysArrays

• Dispositivi programmabili dall’utenteDispositivi programmabili dall’utente

• Schema semplificato di una FPGA XilinxSchema semplificato di una FPGA Xilinx

• CLB

• IOB

• Interconnessione

4 Slice in un CLB2 Celle Logiche per Slice

Page 4: Politecnico di Milano Sviluppo di strumenti per l'analisi e la manipolazione di bitstream per la riconfigurabilità parziale Relatore: Prof. Fabrizio FERRANDI.

4

• Unità base: frame (largo un bit, lungo tutta la Unità base: frame (largo un bit, lungo tutta la FPGA)FPGA)

• Colonna: composta da più frameColonna: composta da più frame

Memoria di configurazioneMemoria di configurazione

Colonna CLB = 48 frameMajor Address

Page 5: Politecnico di Milano Sviluppo di strumenti per l'analisi e la manipolazione di bitstream per la riconfigurabilità parziale Relatore: Prof. Fabrizio FERRANDI.

5

• File binario contenente la configurazione File binario contenente la configurazione della FPGAdella FPGA

• Composto daComposto da

• Comandi di configurazioneComandi di configurazione

• Dati di configurazioneDati di configurazione

• StrutturaStruttura

BitstreamBitstream

Page 6: Politecnico di Milano Sviluppo di strumenti per l'analisi e la manipolazione di bitstream per la riconfigurabilità parziale Relatore: Prof. Fabrizio FERRANDI.

6

• La FPGA viene riconfigurata solo in parteLa FPGA viene riconfigurata solo in parte

• Riduzione dei tempi di riconfigurazioneRiduzione dei tempi di riconfigurazione

• Possibilità di realizzare sistemi complessi attraverso Possibilità di realizzare sistemi complessi attraverso divisione in modulidivisione in moduli

• Due approcciDue approcci

• Module basedModule based

• Difference basedDifference based

Riconfigurazione ParzialeRiconfigurazione Parziale

Page 7: Politecnico di Milano Sviluppo di strumenti per l'analisi e la manipolazione di bitstream per la riconfigurabilità parziale Relatore: Prof. Fabrizio FERRANDI.

7

Funzionalità dello strumento:Funzionalità dello strumento:

• Analisi passivaAnalisi passiva

• Analisi attivaAnalisi attiva

• Implementazione originale: analisi del file Implementazione originale: analisi del file mediante funzione di parsingmediante funzione di parsing

BBitstream itstream AnAnalysis alysis MaManipulation nipulation TToolool

Page 8: Politecnico di Milano Sviluppo di strumenti per l'analisi e la manipolazione di bitstream per la riconfigurabilità parziale Relatore: Prof. Fabrizio FERRANDI.

8

Il parser: flusso di Il parser: flusso di esecuzioneesecuzione

Page 9: Politecnico di Milano Sviluppo di strumenti per l'analisi e la manipolazione di bitstream per la riconfigurabilità parziale Relatore: Prof. Fabrizio FERRANDI.

9

•Modifiche al programmaModifiche al programma

• Gestione erroriGestione errori

• Funzionalità aggiunteFunzionalità aggiunte

• Calcolo funzioniCalcolo funzioni

• Lettura frameLettura frame

• Lettura colonne CLBLettura colonne CLB

• Lettura LUTLettura LUT

• Scrittura LUTScrittura LUT

Fasi del lavoroFasi del lavoro

Page 10: Politecnico di Milano Sviluppo di strumenti per l'analisi e la manipolazione di bitstream per la riconfigurabilità parziale Relatore: Prof. Fabrizio FERRANDI.

10

• Permettono di localizzare un componente nel Permettono di localizzare un componente nel bitstreambitstream

• Esempio: caso CLBEsempio: caso CLB

Calcolo funzioniCalcolo funzioni

Page 11: Politecnico di Milano Sviluppo di strumenti per l'analisi e la manipolazione di bitstream per la riconfigurabilità parziale Relatore: Prof. Fabrizio FERRANDI.

11

• Lettura frameLettura frame

• Calcolo di MJA e MNACalcolo di MJA e MNA

• Estrazione del frame volutoEstrazione del frame voluto

• Lettura colonnaLettura colonna

• Calcolo del MJACalcolo del MJA

• Lettura di 48 frame consecutiviLettura di 48 frame consecutivi

(da MNA=0 a MNA=47)(da MNA=0 a MNA=47)

Lettura frame/colonnaLettura frame/colonna

Page 12: Politecnico di Milano Sviluppo di strumenti per l'analisi e la manipolazione di bitstream per la riconfigurabilità parziale Relatore: Prof. Fabrizio FERRANDI.

12

• Look-Up Table: implementa funzione combinatoria ad n Look-Up Table: implementa funzione combinatoria ad n ingressiingressi

Lettura LUT (1/2)Lettura LUT (1/2)

Page 13: Politecnico di Milano Sviluppo di strumenti per l'analisi e la manipolazione di bitstream per la riconfigurabilità parziale Relatore: Prof. Fabrizio FERRANDI.

13

• 16 frame da leggere16 frame da leggere

• Per ciascun framePer ciascun frame

• Calcolo della posizione Calcolo della posizione

del framedel frame

• Lettura del frameLettura del frame

• Estrazione della parola Estrazione della parola

contenente il bitcontenente il bit

• Lettura del bitLettura del bit

Lettura LUT (2/2)Lettura LUT (2/2)

Page 14: Politecnico di Milano Sviluppo di strumenti per l'analisi e la manipolazione di bitstream per la riconfigurabilità parziale Relatore: Prof. Fabrizio FERRANDI.

14

Per ciascun framePer ciascun frame

• Calcolo della posizione Calcolo della posizione

del framedel frame

• Lettura del frameLettura del frame

• Estrazione della parola Estrazione della parola

contenente il bitcontenente il bit

• Lettura del bit originale Lettura del bit originale

e sostituzione del nuovo bite sostituzione del nuovo bit

Scrittura LUTScrittura LUT

Page 15: Politecnico di Milano Sviluppo di strumenti per l'analisi e la manipolazione di bitstream per la riconfigurabilità parziale Relatore: Prof. Fabrizio FERRANDI.

15

• Possibili applicazioniPossibili applicazioni

• Approccio Approccio difference baseddifference based alla riconfigurazione alla riconfigurazione parzialeparziale

• Analisi struttura bitstreamAnalisi struttura bitstream

• Individuazione erroriIndividuazione errori

• Correzione di componenti logici mal configuratiCorrezione di componenti logici mal configurati

• Lavori futuriLavori futuri

• Lettura di frame/colonne IOB e RAMLettura di frame/colonne IOB e RAM

• Lettura e modifica di blocchi SRAMLettura e modifica di blocchi SRAM

ConclusioniConclusioni

Page 16: Politecnico di Milano Sviluppo di strumenti per l'analisi e la manipolazione di bitstream per la riconfigurabilità parziale Relatore: Prof. Fabrizio FERRANDI.

16

Fine PresentazioneFine Presentazione