3dd 1e birf

Post on 11-Jul-2015

171 Views

Category:

Business

0 Downloads

Preview:

Click to see full reader

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