3DD 1e BiRf
Transcript of 3DD 1e BiRf
![Page 1: 3DD 1e BiRf](https://reader034.fdocument.pub/reader034/viewer/2022052400/55a08b1d1a28ab81228b45f5/html5/thumbnails/1.jpg)
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
![Page 2: 3DD 1e BiRf](https://reader034.fdocument.pub/reader034/viewer/2022052400/55a08b1d1a28ab81228b45f5/html5/thumbnails/2.jpg)
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
![Page 3: 3DD 1e BiRf](https://reader034.fdocument.pub/reader034/viewer/2022052400/55a08b1d1a28ab81228b45f5/html5/thumbnails/3.jpg)
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
![Page 4: 3DD 1e BiRf](https://reader034.fdocument.pub/reader034/viewer/2022052400/55a08b1d1a28ab81228b45f5/html5/thumbnails/4.jpg)
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?
![Page 5: 3DD 1e BiRf](https://reader034.fdocument.pub/reader034/viewer/2022052400/55a08b1d1a28ab81228b45f5/html5/thumbnails/5.jpg)
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
![Page 6: 3DD 1e BiRf](https://reader034.fdocument.pub/reader034/viewer/2022052400/55a08b1d1a28ab81228b45f5/html5/thumbnails/6.jpg)
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
![Page 7: 3DD 1e BiRf](https://reader034.fdocument.pub/reader034/viewer/2022052400/55a08b1d1a28ab81228b45f5/html5/thumbnails/7.jpg)
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
![Page 8: 3DD 1e BiRf](https://reader034.fdocument.pub/reader034/viewer/2022052400/55a08b1d1a28ab81228b45f5/html5/thumbnails/8.jpg)
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
![Page 9: 3DD 1e BiRf](https://reader034.fdocument.pub/reader034/viewer/2022052400/55a08b1d1a28ab81228b45f5/html5/thumbnails/9.jpg)
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
![Page 10: 3DD 1e BiRf](https://reader034.fdocument.pub/reader034/viewer/2022052400/55a08b1d1a28ab81228b45f5/html5/thumbnails/10.jpg)
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
![Page 11: 3DD 1e BiRf](https://reader034.fdocument.pub/reader034/viewer/2022052400/55a08b1d1a28ab81228b45f5/html5/thumbnails/11.jpg)
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
![Page 12: 3DD 1e BiRf](https://reader034.fdocument.pub/reader034/viewer/2022052400/55a08b1d1a28ab81228b45f5/html5/thumbnails/12.jpg)
12
Struttura e funzionamento del Struttura e funzionamento del BiRFBiRF
![Page 13: 3DD 1e BiRf](https://reader034.fdocument.pub/reader034/viewer/2022052400/55a08b1d1a28ab81228b45f5/html5/thumbnails/13.jpg)
13
Struttura e funzionamento del Struttura e funzionamento del BiRF: ParserBiRF: Parser
![Page 14: 3DD 1e BiRf](https://reader034.fdocument.pub/reader034/viewer/2022052400/55a08b1d1a28ab81228b45f5/html5/thumbnails/14.jpg)
14
Struttura e funzionamento del Struttura e funzionamento del BiRF: MJABiRF: MJA
![Page 15: 3DD 1e BiRf](https://reader034.fdocument.pub/reader034/viewer/2022052400/55a08b1d1a28ab81228b45f5/html5/thumbnails/15.jpg)
15
Struttura e funzionamento del Struttura e funzionamento del BiRF: CRCBiRF: CRC
![Page 16: 3DD 1e BiRf](https://reader034.fdocument.pub/reader034/viewer/2022052400/55a08b1d1a28ab81228b45f5/html5/thumbnails/16.jpg)
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
![Page 17: 3DD 1e BiRf](https://reader034.fdocument.pub/reader034/viewer/2022052400/55a08b1d1a28ab81228b45f5/html5/thumbnails/17.jpg)
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
![Page 18: 3DD 1e BiRf](https://reader034.fdocument.pub/reader034/viewer/2022052400/55a08b1d1a28ab81228b45f5/html5/thumbnails/18.jpg)
18
Dati di test: spazio occupatoDati di test: spazio occupato
• Spazio occupato da BiRF su vp7,vp20 e vp30
![Page 19: 3DD 1e BiRf](https://reader034.fdocument.pub/reader034/viewer/2022052400/55a08b1d1a28ab81228b45f5/html5/thumbnails/19.jpg)
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
![Page 20: 3DD 1e BiRf](https://reader034.fdocument.pub/reader034/viewer/2022052400/55a08b1d1a28ab81228b45f5/html5/thumbnails/20.jpg)
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
![Page 21: 3DD 1e BiRf](https://reader034.fdocument.pub/reader034/viewer/2022052400/55a08b1d1a28ab81228b45f5/html5/thumbnails/21.jpg)
21
Conclusioni e sviluppi futuriConclusioni e sviluppi futuri
![Page 22: 3DD 1e BiRf](https://reader034.fdocument.pub/reader034/viewer/2022052400/55a08b1d1a28ab81228b45f5/html5/thumbnails/22.jpg)
22
Fine PresentazioneFine Presentazione