POLITECNICO DI MILANO DRCP: Come gestire in modo efficiente la riconfigurazione parziale dinamica su...

12
POLITECNICO DI MILANO DRCP: Come gestire in modo efficiente la riconfigurazione parziale dinamica su FPGA Luca Cerri: [email protected] Relatore: Prof. Marco D. Santambrogio Correlatore: Ing. Fabio Cancarè

Transcript of POLITECNICO DI MILANO DRCP: Come gestire in modo efficiente la riconfigurazione parziale dinamica su...

Page 1: POLITECNICO DI MILANO DRCP: Come gestire in modo efficiente la riconfigurazione parziale dinamica su FPGA Luca Cerri: luca.cerri@dresd.org Relatore: Prof.

POLITECNICO DI MILANO

DRCP: Come gestire in modo efficiente la

riconfigurazione parziale dinamica su FPGA

Luca Cerri: [email protected]

Relatore: Prof. Marco D. Santambrogio

Correlatore: Ing. Fabio Cancarè

Page 2: POLITECNICO DI MILANO DRCP: Come gestire in modo efficiente la riconfigurazione parziale dinamica su FPGA Luca Cerri: luca.cerri@dresd.org Relatore: Prof.

2

Motivazioni e ObiettiviMotivazioni e ObiettiviMOTIVAZIONI:

Rilocazione spesso associata a riconfigurazioneIl processo di riconfigurazione su FPGA richiede un notevole utilizzo di risorse, in termini di impiego del processore e di occupazione del canale di comunicazione.E’ conveniente riconfigurare solo grosse aree del dispositivo

OBIETTIVI:Creare un componente che gestisca rilocazione e riconfigurazioneParallelizzare le operazioni nel componente per garantire maggiori prestazioni sgravando la CPU e il bus dati

Page 3: POLITECNICO DI MILANO DRCP: Come gestire in modo efficiente la riconfigurazione parziale dinamica su FPGA Luca Cerri: luca.cerri@dresd.org Relatore: Prof.

3

IndiceIndice

Stato dell’Arte

Risultati Sperimentali

Funzionamento attuale

Esecuzione parallelaFunzionamento desideratoModello

Implementazione del componente DRCPStrutturaFunzionamento

Conclusioni e sviluppi futuri

Page 4: POLITECNICO DI MILANO DRCP: Come gestire in modo efficiente la riconfigurazione parziale dinamica su FPGA Luca Cerri: luca.cerri@dresd.org Relatore: Prof.

Stato dell’arteStato dell’arteRilocazione

Filtri Software:PARABIT, Università di Washington (USA)BAnMaT, Politecnico di Milano, gruppo DRESD

Filtri Hardware:REPLICA, Università di Paderborn (Ger)BiRF, Politecnico di Milano, gruppo DRESD

4

RiconfigurazioneRiconfigurazione del dispositivo attraverso porta ICAP (Internal Configuration Access Port), che va gestita via hardwareComponenti Esistenti:

OPB_HWICAP, Xilinx inc.ICAP DRESD, Politecnico di Milano, gruppo DRESDDRC, Politecnico di Milano, gruppo DRESD

Page 5: POLITECNICO DI MILANO DRCP: Come gestire in modo efficiente la riconfigurazione parziale dinamica su FPGA Luca Cerri: luca.cerri@dresd.org Relatore: Prof.

5

Funzionamento attualeFunzionamento attuale

PRESTAZIONI LIMITATE

ASPETTI NEGATIVIGli scambi di dati avvengono sempre utilizzando il bus dati.La CPU, agendo come master, deve gestire ogni trasferimento su bus

BiRF per la rilocazioneDRC per la riconfigurazioneSolo passi 6 e 1 eseguibili in parallelo

Page 6: POLITECNICO DI MILANO DRCP: Come gestire in modo efficiente la riconfigurazione parziale dinamica su FPGA Luca Cerri: luca.cerri@dresd.org Relatore: Prof.

Esecuzione parallela: funzionamento Esecuzione parallela: funzionamento desideratodesiderato

6

Collegamento diretto tra BiRF e DRCPassi 1,2 e 3,4 eseguibili in parallelo

Page 7: POLITECNICO DI MILANO DRCP: Come gestire in modo efficiente la riconfigurazione parziale dinamica su FPGA Luca Cerri: luca.cerri@dresd.org Relatore: Prof.

Esecuzione parallela: modelloEsecuzione parallela: modello

7task

ck

L

fatilunghezzaDThr

uslarghezzaB

atilunghezzaDNC

paralleloesecuzioneCsetupesecuzionetask LLNLLL 2

Page 8: POLITECNICO DI MILANO DRCP: Come gestire in modo efficiente la riconfigurazione parziale dinamica su FPGA Luca Cerri: luca.cerri@dresd.org Relatore: Prof.

DRCP: strutturaDRCP: struttura

Implementazione di BiRF e DRC nel componente per trasferire direttamente i dati senza l’uso del bus.

Esecuzione parallela delle operazioni.

Buffer in ingresso per implementare il throughput.

Possibiltà di scegliere se utilizzare o meno la rilocazione.

8

Page 9: POLITECNICO DI MILANO DRCP: Come gestire in modo efficiente la riconfigurazione parziale dinamica su FPGA Luca Cerri: luca.cerri@dresd.org Relatore: Prof.

9

DRCP: funzionamentoDRCP: funzionamento

Page 10: POLITECNICO DI MILANO DRCP: Come gestire in modo efficiente la riconfigurazione parziale dinamica su FPGA Luca Cerri: luca.cerri@dresd.org Relatore: Prof.

Risultati sperimentaliRisultati sperimentali

Risultati ottenuti simulando per il dispositivo FPGA Virtex-II Pro di XilinxThroughput medio maggiore dell’80% in DRCP senza buffer.Throughput medio maggiore del 144% in DRCP con buffer.

10

Occupazione d’area modesta.

Frequenza massima adatta per l’utilizzo in sistemi riconfigurabili.

Page 11: POLITECNICO DI MILANO DRCP: Come gestire in modo efficiente la riconfigurazione parziale dinamica su FPGA Luca Cerri: luca.cerri@dresd.org Relatore: Prof.

11

Conclusioni e Sviluppi FuturiConclusioni e Sviluppi Futuri

Obiettivi raggiunti:Miglioramento del Throughput.Minore occupazione del BUS di sistema e della CPU.

Sviluppi futuri:Introduzione del DMA.Estensione alla rilocazione 2D.Supporto ad altre FPGA mediante creazione di un software di generazione automatica del componente.

Page 12: POLITECNICO DI MILANO DRCP: Come gestire in modo efficiente la riconfigurazione parziale dinamica su FPGA Luca Cerri: luca.cerri@dresd.org Relatore: Prof.

12

DomandeDomande

Grazie per l’attenzione!