3dd 1e birf
Post on 11-Jul-2015
167 Views
Preview:
TRANSCRIPT
Politecnico di MilanoPolitecnico di Milano
BiRF:BiRF:Bitstream Relocation FilterBitstream Relocation Filter
Anno Accademico 2005/2006
Massimo Morandi, Marco NovatiMassimo Morandi, Marco Novati
3 Giorni DRESD3 Giorni DRESD31/7/2006 - 2/8/200631/7/2006 - 2/8/2006
2
• Obiettivo del lavoroObiettivo del lavoro
• Riconfigurazione per colonneRiconfigurazione per colonne
• Struttura memoria di configurazioneStruttura memoria di configurazione
• Contenuto di un bitstreamContenuto di un bitstream
• Strumenti di rilocazioneStrumenti di rilocazione
• Struttura e funzionamento di BiRFStruttura e funzionamento di BiRF
• Dati di sintesi e di testDati di sintesi e di test
• Conclusioni e sviluppi futuriConclusioni e sviluppi futuri
SommarioSommario
3
Obiettivo del lavoro 1/3Obiettivo del lavoro 1/3
• Riconfigurazione dinamica interna secondo Riconfigurazione dinamica interna secondo l'approccio per colonnel'approccio per colonne
• Necessità di creare un gran numero di bitstream Necessità di creare un gran numero di bitstream ottenuti come differenzaottenuti come differenza
• Se si vogliono elevate prestazioni non è ammissibile Se si vogliono elevate prestazioni non è ammissibile che l'intero processo di creazione dei bitstream che l'intero processo di creazione dei bitstream avvenga a runtimeavvenga a runtime
4
Obiettivo del lavoro 2/3Obiettivo del lavoro 2/3
• La soluzione tradizionale prevede la memorizzazione La soluzione tradizionale prevede la memorizzazione di tutti i bitstream parziali che vengono creati a prioridi tutti i bitstream parziali che vengono creati a priori
• Questo comporta un notevole lavoro in fase di sintesi Questo comporta un notevole lavoro in fase di sintesi e un grande spreco di memoria sul dispositivoe un grande spreco di memoria sul dispositivo
• Sarebbe vantaggioso poter ottenere a runtime tutti i Sarebbe vantaggioso poter ottenere a runtime tutti i possibili bitstream a partire da una quantità limitata possibili bitstream a partire da una quantità limitata in memoriain memoria
• Sì può fare?Sì può fare?
5
• Sì può fare, con la rilocazioneSì può fare, con la rilocazione
• Dato un bitstream è possibile, con opportune Dato un bitstream è possibile, con opportune manipolazioni, modificare la posizione su FPGA del manipolazioni, modificare la posizione su FPGA del modulo che descrivemodulo che descrive
• Sfruttando questa possibilità basta creare a priori e Sfruttando questa possibilità basta creare a priori e salvare un solo bitstream per ogni ip-core dal quale si salvare un solo bitstream per ogni ip-core dal quale si possono ricavare tutti gli altri in differenti posizionipossono ricavare tutti gli altri in differenti posizioni
• BiRF si occupa appunto di effettuare tali BiRF si occupa appunto di effettuare tali manipolazioni a runtimemanipolazioni a runtime
Obiettivo del lavoro 3/3Obiettivo del lavoro 3/3
6
Riconfigurazione per colonneRiconfigurazione per colonne
Vantaggi:Vantaggi:
• Si presta in modo Si presta in modo naturale alla rilocazionenaturale alla rilocazione
• Semplifica il problema Semplifica il problema rendendolo 1Drendendolo 1D
• Soluzione adottata Soluzione adottata nelle FPGA Xilinxnelle FPGA Xilinx
7
• Colonne di 5 tipi:Colonne di 5 tipi:• Center, SRAM, IRAM, I/O, CLBCenter, SRAM, IRAM, I/O, CLB
Colonna CLB = 48 frameMajor Address
• Doppio indirizzo:Doppio indirizzo:• Major Address, Minor AddressMajor Address, Minor Address
Struttura memoria configurazioneStruttura memoria configurazione
• Colonne divise in N frame a seconda del tipoColonne divise in N frame a seconda del tipo
8
Contenuto di un bitstreamContenuto di un bitstream
Rappresenta Rappresenta la posizione la posizione iniziale del iniziale del modulomodulo
Anche il Anche il checksum è checksum è coinvolto nel coinvolto nel processoprocesso
9
• Software:Software:• PARBIT (PARtial BItfile Transformer)PARBIT (PARtial BItfile Transformer)
• BAnMaT (Bitstream Analyzer Manipulation Tool)BAnMaT (Bitstream Analyzer Manipulation Tool)
• Hardware:Hardware:
• REPLICA filter (Relocation Per onLIne Configuration Alteration)REPLICA filter (Relocation Per onLIne Configuration Alteration)
• Per ottenere prestazioni compatibili con la Per ottenere prestazioni compatibili con la riconfigurazione interna non è possibile usare riconfigurazione interna non è possibile usare strumenti softwarestrumenti software
Strumenti di rilocazioneStrumenti di rilocazione
10
• Ideato all'università di PaderbornIdeato all'università di Paderborn
• Obiettivo: realizzare la rilocazione durante il normale Obiettivo: realizzare la rilocazione durante il normale processo di trasferimento del bitstream e quindi a processo di trasferimento del bitstream e quindi a "costo zero" (temporale)"costo zero" (temporale)
• A questo lavoro è ispirata la realizzazione del BiRFA questo lavoro è ispirata la realizzazione del BiRF
Strumenti di rilocazione: Strumenti di rilocazione: ReplicaReplica
11
Struttura e funzionamento del Struttura e funzionamento del BiRFBiRF
• Input di BiRF:
• DATA_IN: bitstream da rilocare diviso in blocchi da 32 bit
• TARGET_COL: colonna iniziale di destinazione del modulo
• CHIP_COLS: # colonne CLB del dispositivo
• CHIP_RAMS: # colonne RAM del dispositivo
• RAM_SPACE: memoria addizionale (Virtex-E)
• Gli ultimi 3 dipendono solo dalla scheda e diventano
quindi costanti sul sistema finale
• Output: DATA_OUT, ovvero il bitstream rilocato a
blocchi di 32 bit
12
Struttura e funzionamento del Struttura e funzionamento del BiRFBiRF
13
Struttura e funzionamento del Struttura e funzionamento del BiRF: ParserBiRF: Parser
14
Struttura e funzionamento del Struttura e funzionamento del BiRF: MJABiRF: MJA
15
Struttura e funzionamento del Struttura e funzionamento del BiRF: CRCBiRF: CRC
16
Struttura e funzionamento del Struttura e funzionamento del BiRF: CRCBiRF: CRC
Implementazione hardware della fase principale del Implementazione hardware della fase principale del calcolo del CRCcalcolo del CRC
17
Dati di test: funzionamentoDati di test: funzionamento
Es1: Es1: rilocazione rilocazione con modifica con modifica del FAR a del FAR a “x00000000”“x00000000”
Es2: multiCmd non interessato dalla rilocazione Es2: multiCmd non interessato dalla rilocazione
18
Dati di test: spazio occupatoDati di test: spazio occupato
• Spazio occupato da BiRF su vp7,vp20 e vp30
19
Dati di test: tempo di Dati di test: tempo di rilocazione 1/2rilocazione 1/2
• Tempo necessario per l'elaborazione di 3 bitstream completi e due parziali
• Da ulteriori test si osserva che il tempo di rilocazione cresce linearmente
20
Dati di test: tempo di Dati di test: tempo di rilocazione 2/2rilocazione 2/2
• Dati completi sui bitstream del grafico precedente
• Il throughput (costante) è di circa 424 Mbyte/s; più che sufficiente per il processo di riconfigurazione
21
Conclusioni e sviluppi futuriConclusioni e sviluppi futuri
22
Fine PresentazioneFine Presentazione
top related