POLITECNICO DI MILANO Analisi di impatto delle macro

  • Slides: 13
Download presentation
POLITECNICO DI MILANO Analisi di impatto delle macro hardware per specifiche di sistemi riconfigurabili

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ò

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

Indice Analisi della tecnologia FPGA e processo di sviluppo Stato dell’arte della virtualizzazione hardware Soluzione proposta : utilizzo di Relationally Place Macro Esempio implementativo : 32 bit Full Adder Esempio implementativo complesso : Filtro FIR di ordine 10 Conclusione e sviluppi futuri 3

Tecnologia FPGA : Field Programmable Gate Array CLB 4 SLICE Processo di sintesi su

Tecnologia FPGA : Field Programmable Gate Array CLB 4 SLICE Processo di sintesi su dispositivo

Stato dell’arte-1 VHBC : Virtual Hardware Bytecode intermedio eseguito direttamente dalla Macchina Virtuale Pregi

Stato dell’arte-1 VHBC : Virtual Hardware 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 68 K • 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:

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

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 : 32 bit Full-Adder La descrizione VHDL gerarchica si sviluppa su

Primo esempio implementativo : 32 bit 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 4 bit Full-Adder per minimizzare il numero di CLB 8

Esempio implementativo : 32 bit Full-Adder , Risultati In termini di area Risparmio di

Esempio implementativo : 32 bit 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 4 bit si ha risparmio • Con RPM 32 bit 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 VP 30

Esempio implementativo complesso : Filtro FIR di ordine 10 Si è scelto il FIR

Esempio implementativo complesso : Filtro FIR di ordine 10 Si è scelto il FIR perchè Composto da istanze di 32 bit Full-Adder : utilizzo intensivo di RPM Implementazioni del sommatore • VHDL gerarchico • 8 istanze di RPM 4 bit Full-Adder • 4 istanze di RPM 8 bit Full-Adder • 2 istanze di RPM 16 bit Full-Adder • 1 istanza di RPM 32 bit Full-Adder 10

Esempio implementativo complesso : Filtro FIR, risultati In termini di area Risparmio del 40%

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

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

DOMANDE ? 13