Table of Contents Table of Contents
Previous Page  42 / 86 Next Page
Information
Show Menu
Previous Page 42 / 86 Next Page
Page Background

DIGITAL

FPGA

42

- ELETTRONICA OGGI 451 - GENNAIO/FEBBRAIO 2016

di place&route di natura incrementale e l’impatto

sui tempi di compilazione è trascurabile. Per esegui-

re il retiming di un registro, la posizione del registro

è semplicemente trasferita in quella finale bilanciata

(ovvero con ritardi simmetrici) all’interno del per-

corso di routing dopo l’operazione di place&route

(si faccia riferimento alla Fig. 3). Si tratta di un van-

taggio di notevole entità nel caso di progetti che

prevedono bus dati di ampie dimensioni che, con le

architetture di tipo tradizionale, richiedono centina-

ia o migliaia di moduli ALM aggiuntivi per effettuare

il retiming, oltre all’esecuzione di numerose operazi-

oni di rerouting.

…e pipelining

Il pipelining di tipo tradizionale ha gli stessi svan-

taggi del retiming e la mancanza di granularità dei

registri reduce l’efficacia di questa ottimizzazione. Si

tratta di un processo intrinsecamente iterativo po-

iché il numero degli stadi di pipeline richiesti e la

loro disposizione ottimale non sono noti nella fase

iniziale. Quindi è necessario ripetere più volte l’ope-

razione di place&route nel tentativo di convergere

a una soluzione di tipo pipelined (in cui sono stati

cioè inseriti gli opportuni registri) in grado di soddi-

sfare gli obbiettivi prefissati in termini di prestazioni.

La figura 4 riporta un semplice esempio di pipel-

ing in un’architettura di tipo tradizionale. Nell’architettura di

tipo HyperFlex, grazie agli Hiper-Register è possibile eseguire

l’operazione di pipeling senza alcun vincolo e senza ripercus-

sioni sulle dimensioni del progetto. In questo caso si parla di

Hyper-Pipelining. In molti casi, un progetto che prevede un

ricorso massiccio ai registri richiede un numero inferiore di

moduli ALM per la sua implementazione poichè non è neces-

sario ricorrere a moduli ALM solamente per poter utilizzare

i loro registri. Poichè l’operazione di pipeling non comporta

oneri aggiuntivi, è possibile fare un uso massiccio di questo

tecnica, soprattutto per la logica del percorso dati e di tipo feed

forward. Nella figura 5 è riportato un esempio di Hyper- Pipelin-

ing. Poiché il software per lo sviluppo con FPGA - Quartus II nel

caso dei dispositivi Altera – può eseguire automaticamente il

retiming della logica spostando i registri nell’interconnessione,

è necessario specificare solamente il numero di registri di pipe-

line richiesto all’ingresso di un dominio di clock o della logica

assegnata ai pin di una porzione del progetto. Il software quin-

di sposta i registri nel percorso di routing in base alle neces-

sità, dopo l’operazione di place&route, risolvendo in tal modo

il problema delle iterazioni multiple che è necessario effettuare

quando si esegue il pipelining nelle architetture tradizionali.

L’integrazione dei registri nella descrizione RTL semplifica la

parametrizzazione logica nel caso in cui le librerie di blocchi IP

(Intellectual property) supportano più di una frequenza di clock

(fMAX). I progetti sviluppati in modo tale da semplificare l’op-

erazione di pipelining sono quelli che trarranno sicuramente i

maggiori benefici dall’uso dell’architettura HyperFlex.

Ottimizzazione mirata

Una volta completati gli stadi di Hyper-Retiming e Hyper-Pipel-

ing è possibile che gli incrementi ottenuti in termini di prestazi-

oni in alcune sezioni del progetto possano evidenziare altri

“colli di bottiglia” che impediscono ulteriori miglioramenti. I

lunghi anelli di retroazione o una macchina a stati complessa

presenti in un circuito potrebbero essere alcune delle possibili

cause. L’ottimizzazione di una specifica sezione del progetto

deve quindi essere fatta con cognizione di causa. Un’operazi-

one di “Hyper-Optimization” è solitamente eseguita sugli anelli

di controllo: in questo caso i vantaggi ottenibili in termini di au-

mento delle prestazioni superano di gran lunga gli svantaggi

legati alla necessità di ricorrere a circuiti logici aggiuntivi, con

conseguente aumento degli ingombri.

Soddisfare le esigenze dei progetti ad alte prestazioni della

prossima generazione è un compito oneroso utilizzando le

architetture FPGA tradizionali. Grazie all’approccio “regis-

ters-everywhere”, la nuova architettura di Altera garantisce le

prestazioni richieste da tutte quelle applicazioni che necessi-

tano di ampiezze di banda sempre più estese.

Fig. 5 – Esempio di operazione di Hyper-Pipelining effettuata nell’architettura

HyperFlex

Fig. 4 – Esempio di pipelining eseguito nelle architetture di tipo tradizionale