Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

3DD 1e BiRf

316 views

Published on

Published in: Business
  • Be the first to comment

  • Be the first to like this

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

×