POLITECNICO DI MILANO Analisi di impatto delle macro hardware per specifiche di sistemi...
-
Upload
jacopo-milani -
Category
Documents
-
view
218 -
download
2
Transcript of POLITECNICO DI MILANO Analisi di impatto delle macro hardware per specifiche di sistemi...
POLITECNICO DI MILANO
Analisi di impatto delle macro hardware per specifiche di sistemi riconfigurabili FPGA-
independentCarlo Di Federico - Matricola n. 679120
Roberto Gonella - Matricola n. 678878
Relatore: Prof. Francesco Bruschi
Correlatore: Ing. Marco Domenico Santambrogio
2
L’utilizzo di Virtual Hardware può risolvere questo problema introducendo però perdita nella fase di
design
ObiettiviObiettivi
Utilizzo di RPM per rendere la specifica Utilizzo di RPM per rendere la specifica portabile sulle diverse architettureportabile sulle diverse architetture
L’implementazione sul dispositivo è dipendente
dall’architettura di riferimento
3
IndiceIndice
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
4
Tecnologia FPGATecnologia FPGA
FPGA : Field FPGA : Field Programmable Gate Programmable Gate
ArrayArray
Processo di sintesi su Processo di sintesi su dispositivodispositivo
CLBCLB SLICESLICE
5
Stato dell’arte-1Stato dell’arte-1VHBC : Virtual Hardware Bytecode VHBC : Virtual Hardware Bytecode
Bytecode intermedio eseguito direttamente dalla Macchina VirtualeBytecode intermedio eseguito direttamente dalla Macchina Virtuale
Pregi Pregi ::
Difetti:Difetti:
Pregi Pregi ::
Difetti:Difetti:
•VHM implementato in VHDL
•Supporto riconfigurabilità parziale
•Parallelismo in fase di esecuzione
•I risultati disponibili sono limitati ad una sola FPGA
Subset UML 2.0Subset UML 2.0Progettazione della specifica in UML 2.0 ed eseguita da Abstract Progettazione della specifica in UML 2.0 ed eseguita da Abstract
Execution Platform (AEP)Execution Platform (AEP)
•L’AEP è sviluppato per un solo tipo di FPGA
•Istruction set deriva dal Motorola 68K
•Specifica direttamente eseguibile
6
Stato dell’arte-2Stato dell’arte-2Compilazione Just-in-TimeCompilazione Just-in-Time
Compilazione dinamica del codice sorgente un attimo prima dell’esecuzioneCompilazione dinamica del codice sorgente un attimo prima dell’esecuzione
Pregi Pregi ::
Difetti:Difetti:
Pregi Pregi ::
Difetti:Difetti:
•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 Virtual Framework per la riconfigurazione in retereteGenerazione del bitstream utilizzando astrazione FPGA e riconfigurabilità Generazione del bitstream utilizzando astrazione FPGA e riconfigurabilità
remotaremota
•Il Model Converter è condizione necessaria
•Processo lungo e dispendioso
•Permette la riconfigurazione via rete
•Utilizzo di template per la generazione del bytecode
7
Soluzione PropostaSoluzione 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àPortabilità valutata utilizzando 4 diverse FPGA valutata utilizzando 4 diverse FPGA
8
Primo esempio implementativo : 32bit Full-Primo esempio implementativo : 32bit Full-AdderAdder
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
9
Esempio implementativo : 32bit Full-Adder , Esempio implementativo : 32bit Full-Adder , RisultatiRisultati
In termini di area
Risparmio di 1/3 del numero di CLB e del numero di Risparmio di 1/3 del numero di CLB e del numero di LUTs: LUTs: si risparmia area ma si risparmiano anche si risparmia area ma si risparmiano anche
componenticomponenti
Il risparmio è indipendente dalla complessità della Il risparmio è indipendente dalla complessità della RPMRPMIn termini di prestazioni temporali
Nel caso peggiore i ritardi rimangono Nel caso peggiore i ritardi rimangono ugualiuguali
•Con RPM 4bit si ha risparmioCon RPM 4bit si ha risparmio
•Con RPM 32bit i ritardi rimangono invariatiCon RPM 32bit i ritardi rimangono invariatiIn termini di tempo di
implementazione
Si ha un aumento solo del Si ha un aumento solo del tempo di piazzamentotempo di piazzamento
Risultati su Virtex-II Pro VP30Risultati su Virtex-II Pro VP30
L’andamento dei risultati è L’andamento dei risultati è condiviso da tutte le FPGAcondiviso da tutte le FPGA
10
Esempio implementativo complesso : Filtro FIR di Esempio implementativo complesso : Filtro FIR di ordine 10ordine 10
Si è scelto il FIR perchè
•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
Implementazioni del sommatore
Composto da istanze di 32bit Full-Adder :Composto da istanze di 32bit Full-Adder :
utilizzo intensivo di RPMutilizzo intensivo di RPM
11
Esempio implementativo complesso : Filtro FIR, Esempio implementativo complesso : Filtro FIR, risultatirisultati
In termini di area
Risparmio del 40% del numero Slice e LUT occupate:Risparmio del 40% del numero Slice e LUT occupate:
Il risparmio è indipendente dalla complessità della RPMIl risparmio è indipendente dalla complessità della RPM
In termini di prestazioni temporali
Non si hanno peggioramenti significativi nelle prestazioni Non si hanno peggioramenti significativi nelle prestazioni temporali temporali
quando non si mantiene la gerarchia si hanno dei guadagniquando non si mantiene la gerarchia si hanno dei guadagni
In termini di tempo di implementazione
Si ha un aumento solo del Si ha un aumento solo del tempo di piazzamento,tempo di piazzamento,
Se si ottimizza l’ Area Se si ottimizza l’ Area questo aumento si questo aumento si
dimezza dimezza
Utilizzando la RPM 16 si ha un Utilizzando la RPM 16 si ha un ritardo totale compreso tra le 2-3 ritardo totale compreso tra le 2-3
volte volte
12
Conclusioni e Sviluppi FuturiConclusioni 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
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.
La qualità dei risultati dipende dalla qualità delle La qualità dei risultati dipende dalla qualità delle RPMRPM
13
DOMANDE ?DOMANDE ?