3DD 1e BiRf

176
-1

Published on

Published in: Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
176
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

3DD 1e BiRf

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

    Clipping is a handy way to collect important slides you want to go back to later.

×