POLITECNICO DI MILANO Analisi di impatto delle macro hardware per specifiche di sistemi...

13
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

Transcript of POLITECNICO DI MILANO Analisi di impatto delle macro hardware per specifiche di sistemi...

Page 1: POLITECNICO DI MILANO Analisi di impatto delle macro hardware per specifiche di sistemi riconfigurabili FPGA-independent Carlo Di Federico - Matricola.

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

Page 2: POLITECNICO DI MILANO Analisi di impatto delle macro hardware per specifiche di sistemi riconfigurabili FPGA-independent Carlo Di Federico - Matricola.

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

Page 3: POLITECNICO DI MILANO Analisi di impatto delle macro hardware per specifiche di sistemi riconfigurabili FPGA-independent Carlo Di Federico - Matricola.

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

Page 4: POLITECNICO DI MILANO Analisi di impatto delle macro hardware per specifiche di sistemi riconfigurabili FPGA-independent Carlo Di Federico - Matricola.

4

Tecnologia FPGATecnologia FPGA

FPGA : Field FPGA : Field Programmable Gate Programmable Gate

ArrayArray

Processo di sintesi su Processo di sintesi su dispositivodispositivo

CLBCLB SLICESLICE

Page 5: POLITECNICO DI MILANO Analisi di impatto delle macro hardware per specifiche di sistemi riconfigurabili FPGA-independent Carlo Di Federico - Matricola.

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

Page 6: POLITECNICO DI MILANO Analisi di impatto delle macro hardware per specifiche di sistemi riconfigurabili FPGA-independent Carlo Di Federico - Matricola.

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

Page 7: POLITECNICO DI MILANO Analisi di impatto delle macro hardware per specifiche di sistemi riconfigurabili FPGA-independent Carlo Di Federico - Matricola.

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

Page 8: POLITECNICO DI MILANO Analisi di impatto delle macro hardware per specifiche di sistemi riconfigurabili FPGA-independent Carlo Di Federico - Matricola.

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

Page 9: POLITECNICO DI MILANO Analisi di impatto delle macro hardware per specifiche di sistemi riconfigurabili FPGA-independent Carlo Di Federico - Matricola.

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

Page 10: POLITECNICO DI MILANO Analisi di impatto delle macro hardware per specifiche di sistemi riconfigurabili FPGA-independent Carlo Di Federico - Matricola.

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

Page 11: POLITECNICO DI MILANO Analisi di impatto delle macro hardware per specifiche di sistemi riconfigurabili FPGA-independent Carlo Di Federico - Matricola.

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

Page 12: POLITECNICO DI MILANO Analisi di impatto delle macro hardware per specifiche di sistemi riconfigurabili FPGA-independent Carlo Di Federico - Matricola.

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

Page 13: POLITECNICO DI MILANO Analisi di impatto delle macro hardware per specifiche di sistemi riconfigurabili FPGA-independent Carlo Di Federico - Matricola.

13

DOMANDE ?DOMANDE ?