POLITECNICO DI MILANO
Analisi di impatto delle macro
hardware per specifiche di sistemi
riconfigurabili FPGA-independent
Carlo Di Federico - Matricola n. 679120
Roberto Gonella - Matricola n. 678878
Relatore: Prof. Francesco Bruschi
Correlatore: Ing. Marco Domenico Santambrogio
Obiettivi
L’implementazione sul dispositivo è
dipendente dall’architettura di
riferimento
L’utilizzo di Virtual Hardware può risolvere questo
problema introducendo però perdita nella fase di design
Utilizzo di RPM per rendere la specifica portabile
sulle diverse architetture
2
Indice
Analisi della tecnologia FPGA e processo di sviluppo
Stato dell’arte della virtualizzazione hardware
Soluzione proposta : utilizzo di Relationally Place
Macro
Esempio implementativo : 32bit Full Adder
Esempio implementativo complesso : Filtro FIR di
ordine 10
Conclusione e sviluppi futuri
3
Tecnologia FPGA
FPGA : Field
Programmable Gate Array
CLB
4
SLICE
Processo di sintesi su dispositivo
Stato dell’arte-1
VHBC : Virtual Hardware Bytecode
Bytecode intermedio eseguito direttamente dalla Macchina Virtuale
Pregi :
•VHM implementato in VHDL
•Supporto riconfigurabilità parziale
Difetti:
•I risultati disponibili sono limitati ad
una sola FPGA
•Parallelismo in fase di esecuzione
Subset UML 2.0
Progettazione della specifica in UML 2.0 ed eseguita da Abstract
Execution Platform (AEP)
Pregi :
•Istruction set deriva dal Motorola 68K
•Specifica direttamente eseguibile
5
Difetti:
•L’AEP è sviluppato per un solo tipo
di FPGA
Stato dell’arte-2
Compilazione Just-in-Time
Compilazione dinamica del codice sorgente un attimo prima
dell’esecuzione
Difetti:
Pregi :
•Utilizzo dell’algoritmo di routing
Riverside On–Chip Router
•Riconfigurabilità dinamica
•L’implementazione è basata su un
modello logico (SCLF) e non su una
FPGA reale
Virtual Framework per la riconfigurazione in rete
Generazione del bitstream utilizzando astrazione FPGA e
riconfigurabilità remota
Difetti:
Pregi :
•Permette la riconfigurazione via rete
•Utilizzo
di
template
generazione del bytecode
6
per
la
•Il Model Converter è condizione
necessaria
•Processo lungo e dispendioso
Soluzione Proposta
Utilizzo delle Relationally Placed Macro per specifiche portabili
Vantaggi:
• Descrizione VHDL astratta
• RPM implementate come desiderato
Analisi a 360° delle prestazioni:
•Tempi di implementazione
•Prestazioni circuitali
Prestazioni temporali
Impatto sull’area
Portabilità valutata utilizzando 4 diverse FPGA
7
?
Primo esempio implementativo : 32bit Full-Adder
La descrizione VHDL gerarchica si
sviluppa su sette livelli
La descrizione VHDL con RPM
introduce le black-boxes
Tutte le macro utilizzano come
primitiva il 4bit Full-Adder per
minimizzare il numero di CLB
8
Esempio implementativo : 32bit Full-Adder , Risultati
In termini di area
Risparmio di 1/3 del numero di CLB e del numero di LUTs:
si risparmia area ma si risparmiano anche componenti
Il risparmio è indipendente dalla complessità della RPM
In termini di prestazioni temporali
Nel caso peggiore i ritardi rimangono uguali
•Con RPM 4bit si ha risparmio
•Con RPM 32bit i ritardi rimangono invariati
In termini di tempo di implementazione
Si ha un aumento solo del
tempo di piazzamento
L’andamento dei risultati è condiviso da
tutte le FPGA
9
Risultati su Virtex-II Pro VP30
Esempio implementativo complesso : Filtro FIR di ordine 10
Si è scelto il FIR perchè
Composto da istanze di 32bit Full-Adder :
utilizzo intensivo di RPM
Implementazioni del sommatore
•VHDL gerarchico
•8 istanze di RPM 4bit Full-Adder
•4 istanze di RPM 8bit Full-Adder
•2 istanze di RPM 16bit Full-Adder
•1 istanza di RPM 32bit Full-Adder
10
Esempio implementativo complesso : Filtro FIR, risultati
In termini di area
Risparmio del 40% del numero Slice e LUT occupate:
Il risparmio è indipendente dalla complessità della RPM
In termini di prestazioni temporali
Non si hanno peggioramenti significativi nelle prestazioni temporali
quando non si mantiene la gerarchia si hanno dei guadagni
In termini di tempo di implementazione
Si ha un aumento solo del
tempo di piazzamento,
Se si ottimizza l’ Area questo
aumento si dimezza
Utilizzando la RPM 16 si ha un ritardo
totale compreso tra le 2-3 volte
11
Conclusioni e Sviluppi Futuri
Conclusioni
Le RPM permettono di
•Definire specifiche altamente portabili e astratte
•Possibilità di compiere stime ad alto livello area, potenza e consumi
•Risparmio in area
•Non di peggiorano i ritardi computazionali
•Aumenta soltanto il tempo di piazzamento
La qualità dei risultati dipende dalla qualità delle RPM
Possibili sviluppi futuri
•Sviluppo di un Placer ottimizzato per le RPM.
•Sviluppo di un Bitstream Generator in grado di associare a una RPM il
relativo bitstream.
12
DOMANDE ?
13
Scarica

IT_CarloDiFederco_RobertoGonella_2008_TesiSlide