Scuola Politecnica e delle Scienze di Base
Corso di Laurea in Ingegneria Informatica
Elaborato finale in Calcolatori Elettronici 1
Impiego di tecnologie FPGA per
applicazioni DSP: Valutazione e
confronto di prestazioni
Anno Accademico 2014/2015
Candidato:
Federica Mesolella
matr.N46/000881
“Qualsiasi innovazione tecnologica può essere pericolosa: il fuoco lo è
stato fin dal principio, e il linguaggio ancor di più; si può dire che
entrambi siano ancora pericolosi al giorno d’oggi, ma nessun uomo
potrebbe dirsi tale senza il fuoco e senza la parola.”(Isaac Asimov)
“La disumanità del computer sta nel fatto che, una volta programmato e
messo in funzione, si comporta in maniera perfettamente onesta.”
(Isaac Asimov)
Indice
Introduzione
vii
1 Tecnologia FPGA
1.1
2
1
Introduzione all’FPGA . . . . . . . . . . . . . . . . . . . . .
1
1.1.1
Tecnologie di sviluppo . . . . . . . . . . . . . . . . .
3
1.1.2
Trend di evoluzione . . . . . . . . . . . . . . . . . .
4
1.1.3
Principali player . . . . . . . . . . . . . . . . . . . .
6
1.2
Struttura FPGA :Architettura e Tecnologia realizzativa . .
6
1.3
ASIC vs FPGA: vantaggi e svantaggi
. . . . . . . . . . . .
9
1.4
Applicazioni FPGA
. . . . . . . . . . . . . . . . . . . . . .
11
Tecnologia FPGA-DSP Oriented
2.1
13
Gli FPGA nelle applicazioni DSP . . . . . . . . . . . . . . .
15
2.1.1
16
Prestazioni DSP su moduli FPGA . . . . . . . . . .
2.2
Vantaggi e svantaggi nell’utilizzo combinato di DSP e FPGA 18
2.3
Tendenze, Opzioni, considerazioni e tools per l’utilizzo di
piattaforme FPGA riconfigurabili come alternativa all’ Hardware DSP dedicato . . . . . . . . . . . . . . . . . . . . . . .
2.3.1
19
Passaggio da Hardware dedicato a piattaforma FPGA riconfigurabile . . . . . . . . . . . . . . . . . . .
iii
21
Indice
2.3.2
Supporto DSP sui dispositivi FPGA . . . . . . . . .
22
2.3.3
Prestazioni DSP su moduli FPGA . . . . . . . . . .
24
2.3.4
Quanto velocemente possibile devono eseguire gli algoritmi di segnali digitali?
. . . . . . . . . . . . . .
25
2.3.5
L ’elaborazione del segnale è seriale o parallela?
. .
25
2.3.6
Quanta capacità di calcolo DSP è disponibile ? . . .
26
2.3.7
Quali meccanismi di comunicazione sono disponibili
e a quale velocità sono trasferiti i dati?
. . . . . . .
28
2.3.8
Tradeoff costo/prestazioni . . . . . . . . . . . . . . .
28
2.3.9
Quanta memoria è disponibile ?
. . . . . . . . . . .
29
2.3.10 Qual è la disponibilità della soluzione? . . . . . . . .
29
3 Architettura e Selezione dei Componenti Hardware per
Applicazioni SDR
31
3.1
Requisiti generici
. . . . . . . . . . . . . . . . . . . . . . .
33
3.2
Selezione componente ADC . . . . . . . . . . . . . . . . . .
36
3.3
Selezione componente DAC . . . . . . . . . . . . . . . . . .
37
3.4
Selezione componente DSP . . . . . . . . . . . . . . . . . .
38
3.5
Selezione componente FPGA . . . . . . . . . . . . . . . . .
42
4 Confronto prestazionale: processori DSP/FPGA
4.1
44
Confronto in termini di velocità e consumo di potenza . . .
46
4.1.1
Confronto in termini di velocità . . . . . . . . . . . .
47
4.1.2
Potenza e Costo . . . . . . . . . . . . . . . . . . . .
48
Bibliografia
51
iv
Elenco delle figure
1.1
Dispositivo Virtex-5 della famiglia Xilinx
. . . . . . . . . .
3
1.2
Grafico Prima Legge di Moore
. . . . . . . . . . . . . . . .
5
1.3
Struttura FPGA . . . . . . . . . . . . . . . . . . . . . . . .
7
1.4
Matrice di blocchi logici . . . . . . . . . . . . . . . . . . . .
8
1.5
Schema LUT . . . . . . . . . . . . . . . . . . . . . . . . . .
9
2.1
DSP Flusso di eventi . . . . . . . . . . . . . . . . . . . . . .
20
2.2
Slice semplificata del diagramma a blocchi del Xilinx Virtex5 FPGA’s DSP48E
2.3
23
Slice semplificata del diagramma del blocchi del Xilinx Virtex5 FPGA’s DSP48E
2.4
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
23
Confronto tra elaborazione convenzionale e quella basata su
FPGA-DSP
. . . . . . . . . . . . . . . . . . . . . . . . . .
26
2.5
Risorse DSP dei moduli Acromag DSP . . . . . . . . . . . .
27
2.6
Moduli FPGA
. . . . . . . . . . . . . . . . . . . . . . . . .
27
2.7
Moduli PMC con dispositiviDSP-FPGA . . . . . . . . . . .
29
2.8
Memoria nei moduli Acromag PMC . . . . . . . . . . . . .
30
3.1
Diagramma a blocchi di alto livello SDR . . . . . . . . . . .
36
3.2
Selezione componente ADC . . . . . . . . . . . . . . . . . .
37
3.3
Selezione componente DAC . . . . . . . . . . . . . . . . . .
38
v
Elenco delle figure
3.4
Selezione componente DSP . . . . . . . . . . . . . . . . . .
40
3.5
Selezione componente FPGA . . . . . . . . . . . . . . . . .
42
4.1
Tabella DSP
. . . . . . . . . . . . . . . . . . . . . . . . . .
49
4.2
Tabella FPGA . . . . . . . . . . . . . . . . . . . . . . . . .
49
4.3
Tabella DSP vs FPGA . . . . . . . . . . . . . . . . . . . . .
50
4.4
Grafico DSP vs FPGA . . . . . . . . . . . . . . . . . . . . .
50
vi
Introduzione
Il tema dell’elaborato è incentrato sullo studio delle potenzialità della
tecnologia FPGA per applicazioni DSP, sul confronto e sulla valutazione delle prestazioni. La prima parte riguarda uno studio, ad alto livello,
della tecnologia FPGA partendo dall’architettura e dalla struttura realizzativa dei componenti, soffermandoci brevemente sulle analisi di mercato
riguardo costi e tempi di sviluppo, per finire con un’analisi circa i campi
applicativi dell’FPGA nel mercato odierno. La seconda sezione, invece, entra nel vivo dello specifico argomento dell’elaborato in quanto tratta delle
applicazioni DSP su FPGA. Parleremo di dispositivi FPGA-DSP oriented.
Come vedremo in seguito in maniera più approfondita fino ad alcuni anni
fa gli FPGA erano privi di blocchi specializzati nel DSP. Oggi, al contrario,
tutti i nuovi dispositivi FPGA sono dotati di blocchi DSP. Questo cambiamento di prospettiva si può spiegare ricordando che negli ultimi anni
se è vero che è cresciuta la necessità di potenza di calcolo DSP, dall’altro
i tradizionali processori DSP hanno raggiunto il limite delle possibilità di
sviluppo basate sulla Prima Legge di Moore. Motivo per cui come i microprocessori anche i DSP sono costretti a fare i conti con l’architettura di
Von Neumann. Infatti gli FPGA-DSP Oriented si basano su architettura
parallela in grado di rispondere a questa maggiore domanda di potenza
di calcolo. Per anni, i moduli DSP sono stati progettati e sviluppati per
vii
Introduzione
applicazioni ”specific purpose”. Con l’avvento della tecnologia FPGA, e
più in particolare grazie alla capacità degli ingegneri DSP di programmare
i dispositivi FPGA, è stato possibile un graduale aumento della flessibilità
complessiva della soluzione DSP. Oggi, con i più recenti dispositivi FPGA
Xilinx Virtex-4 e Virtex-5 sul popolare modulo PMC, i progettisti godono
di grande flessibilità per la gestione sia del mondo campionato che del mondo elaborato algoritmicamente. Vedremo i vantaggi e gli svantaggi nell’uso
combinato di DSP e FPGA, gli eventi che hanno segnato tale evoluzione
e hanno determinato il passaggio da Hardware dedicato a piattaformna
FPGA riconfigurabile, concludendo il capitolo con sette domande circa le
prestazioni dei DSP su moduli FPGA, rispondendo alle quali è possibile
definire il contesto di esecuzione per l’applicazione. L’argomento generale
FPGA/DSP si particolarizzerà, poi, all’ambito del cosiddetto SoftwareDefined Radio (SDR) che sarà l’argomento centrale del terzo capitolo. Per
Software Defined Radio, SDR, si intende una tecnologia che permette di
costruire ricevitori radio quasi completamente software e multistandard.
Oggigiorno i ricevitori dei vari standard (UMTS, GSM, Wimax, satellitare...) sono costruiti in hardware e funzionano in modo simile. Hanno
tutti un’antenna che capta il segnale modulato alla frequenza dello standard usato, un demodulatore che riporta il segnale dalla banda traslata
in banda base, e un blocco di conversione analogico-digitale che converte
il segnale continuo in segnale numerico-digitale. I ricevitori odierni prima
di eseguire l’operazione di conversione del segnale da analogico a digitale
effettuano la demodulazione dello stesso. Nell’SDR questa operazione si
elimina perché la conversione si effettua direttamente in banda traslata. Il
concetto base dell’ SDR è posizionare la separzione digitale-analogica più
vicina possibile all’antenna. Ciò si ottiene mediante l’implementazione di
viii
Introduzione
molte funzioni tradizionalmente svolte da circuiti analogici con circuiti digitali riconfigurabili. Vedremo i requisiti relativi al costo, al consumo di
energia, alle dimensioni, e le preoccupazioni ambientali in particolare il loro
contributo nella progettazione dell’applicazione e infine vedremo un’architettura ottimizzata per una tipica applicazione SDR. L’ultima sezione, il
capitolo conclusivo, presenta in maniera sintetica le principali caratteristiche di FPGA e DSP confrontando le due tecnologie attraverso tabelle e
grafici di interesse.
ix
Capitolo 1
Tecnologia FPGA
In elettronica digitale con l’acronimo FPGA “Field Programmable Gate Array ”si intende un circuito integrato programmabile “sul campo ”dall’utilizzatore finale, fuori dalla fabbrica, dotato di elavata scalabilità e tale da consentire l’implementazione di funzioni logiche molto complesse.
Questo sarà l’argomento dominante del capitolo seguente.
1.1
Introduzione all’FPGA
Possiamo descrivere la tecnologia FPGA come circuiti integrati la cui
configurazione hardware può essere modificata dall’utilizzatore in accordo alle funzioni desiderate. L’FPGA è un circuito integrato. Tuttavia
la differenza rispetto ad altri è che i suddetti possono essere configurabili
dall’utilizzatore. Che significa? Nei circuiti integrati standard, che non
possono essere programmabili, vi sono interconnessioni tra transistori fisse. A meno che non si brucino o si verifichi un evento particolarmente
sfortunato queste interconnessioni non possono essere cambiate. Con la
tecnologia FPGA, invece, le interconnessioni tra transistori possono essere
cambiate a seconda della funzione logica, sebbene complessa, che abbia1
Capitolo 1. Tecnologia FPGA
mo definito. In questo modo, teoricamente, qualsiasi operazione, qualsiasi funzione logica, anche complessa, può essere implementata tenendo
conto sempre della capacità dei transistori. Una delle caratteristiche più
importanti della tecnologia FPGA è la capacità di eseguire elaborazioni
parallele. Per elaborazione parallela intendiamo la capacità di effettuare
più operazioni contemporaneamente. Una persona che legge un libro e
contemporaneamente ascolta musica e beve caffè è un esempio calzante
di una specie di elaborazione parallela. Un circuito integrato stanndard
non può fare elaborazioni parallele o comunque può farlo ma in maniera
limitata. Con la tecnologia FPGA, invece, possono essere fatte decine di
migliaia di elaborazioni parallele. Questo rende l’FPGA l’unica soluzione
da adottare nel caso di applicazioni che richiedono elaborazione parallela.
Ad esempio, se si vuole fare un’operazione di filtraggio in tempo reale su
un segnale video ad alta risoluzione, sappiamo dalla “Teoria dei Segnali
”che il segnale video è in realta una serie di immagini in sequenza chiamate
fotogrammi. Fondamentalmente è necessario ottenere un fotogramma da
una porta di ingresso, filtrarlo e inviarlo attraverso una porta di uscita. Poi
si dovrebbe fare lo stesso lavoro di “processing”in tempo reale per i prossimi fotogrammi. Se si utilizzano circuiti integrati standard, inizio ad avere
il secondo frame dopo le tre operazioni (ottengo, filtra e invio) per il primo
fotogramma. Se questo processo non è abbastanza veloce, si può perdere
il fotogramma successivo. La tecnologia FPGA,al contrario fa fare tutte
queste operazioni in parallelo. Ciò significa che mentre inizia l’elaborazione di filtraggio del primo fotogramma, potremmo cominciare a prendere il
secondo fotogramma. E mentre invio il primo fotogramma in output, inizio a filtrare il secondo frame e ad ottenere il terzo contemporaneamente.
In sintesi, gli FPGA sono circuiti integrati hardware programmabili che ci
2
Capitolo 1. Tecnologia FPGA
Figura 1.1
forniscono capacità di elaborazione parallela e l’opportunità di cambiare
la struttura interna a seconda dell’applicazione desiderata.
1.1.1
Tecnologie di sviluppo
Esistono diverse tipologie di FPGA. Alla prima famiglia appartengono
gli OTP (OneTime Programmable), ossia dispositivi programmabili una
sola volta. Alla seconda invece appartengono i devices basati su tecnologia SRAM (Static Random Access Memory) rimprogrammabili un gran
numero di volte. I quali, al contrario dei precedenti che mantegono la loro
configurazione allo spegnimento, questi devono essere riprogrammati ad
ogni accensione avendo una configurazione ”VOLATILE”.
• SRAM: Basata su tecnologia a memoria statica, RAM volatile che
non necessita di operazioni di refresh. Le SRAM-FPGA sono programmabili e riprogrammabili più volte, configurabili da devices
esterni .
3
Capitolo 1. Tecnologia FPGA
• Antifusibile: Circuiti programmabili una sola volta (One-time
programmable)OTP.
• PROM: Circuiti programmabili una sola volta.
• EPROM: I dispositivi basati su tecnologia EPROM al contrario di
quelli PROM che una volta programmati non possono essere modificati questi invece possono essere riprogrammati più volte mediante
la cancellazione dei dati con radiazione ultravioletta.
• EEPROM: Le operazioni di scrittura, modifica e cancellazione dei
dati avvengono per via elettrica.
• Flash: Tecnologia EPROM basata su memoria flash, dispositivi
che possono essere riprogrammati. Una cella di memoria flash è più
piccola e meno costosa di una equivalente EEPROM.
• Fusibile: Circuiti programmabili una sola volta; bipolare.
1.1.2
Trend di evoluzione
Grazie al continuo progredire della tecnologia e in particolare delle
tecniche di miniaturizzazione le capacità di tali devices sono aumentate,
sono stati sviluppati circuiti integrati economici e potenti che sembrano
aver rispettato la prima Legge di Moore circa l’aumento del numero di
componenti a parità di volume occupato.“Le prestazioni dei processori, e
il numero di transistor ad esso relativo, raddoppiano ogni 18 mesi.”[13].
Infatti si è passati in soli 2 decenni dall’uso di poche migliaia di porte
logiche a qualche milione per singolo dispositivo FPGA. Inoltre prestazioni
elevate, costi e tempi di sviluppo ridotti al minimo sono le caratteristiche
che hanno aumentato il successo commerciale ed applicativo dei dispositivi
FPGA.
4
Capitolo 1. Tecnologia FPGA
Figura 1.2
Andamento negli anni del numero di porte logiche presenti su
circuiti FPGA:
• 1982: 8192 porte logiche; Burroughs Advances Systems Group; processore S-Type 24 bit per I/O riprogrammabili.
• 1987: 9,000 porte logiche, Xilinx
• 1992: 600 000 porte logiche, Naval Surface Warfare Department
• 2000-2015: Milioni. [14]
Dimensione del mercato :
• 1985: Il primo dispositivo FPGA in commercio è stato XC2064 di
Xilinx.
• 1987: 14.000.000 dollari
• 1993: maggiori di 385.000.000 dollari
5
Capitolo 1. Tecnologia FPGA
• 2005: 1.9 miliardi di dollari.
• 2010-2015: Si stima 2.75 miliardi. [14]
1.1.3
Principali player
I principali player del mercato degli FPGA sono Xilinx e Altera. Questi
si differenziano tra loro per la realizzazione di dispoditivi diversi sia dal
punto di vista delle prestazioni che dei costi. Attualmente le famiglie di
punta dei due principali produttori sono Virtex-5 di Xilinx e Stratix-III
di Altera. Invece le famiglie più economiche sono Spartan-3 di Xilinx e
Cyclone-III di Altera.
1.2
Struttura FPGA :Architettura e Tecnologia
realizzativa
L’FPGA è in generale una matrice di blocchi logici configurabili, detti
CLB (Configurable Logic Blocks), connessi fra loro attraverso interconnessioni programmabili (programmable routing resources). Il singolo blocco
logico FPGA è costituito da una look-up table a 4 ingressi(LUT), e un
flip flop. L’unica uscita, può essere quella registrata o non registrata della
LUT. Quindi quello che manca per realizzare un circuito digitale è l’interconnessione tra tutti questi blocchi logici disponibili sul dispositivo: questa
interconnessione puo essere codificata sotto forma di una sequenza di bit
(bitstream) che viene introdotta serialmente dopo il reset e va a programmare gli switch presenti nel dispositivo. Ai margini di tale matrice vi
sono i blocchi di ingresso/uscita, detti IOB (Input Output Block). I CLB
realizzano le funzioni logiche, l’insieme di interconnessioni li mette in comunicazione, mentre gli IOB si occupano dell’interfacciamento del circuito
6
Capitolo 1. Tecnologia FPGA
Figura 1.3
con l’esterno. All’interno di tale matrice sono presenti anche altre tipi di
risorse, come i DCM (Digital Clock Manager), che generano il segnale di
clock, la rete che trasporta il segnale di clock dai flip-flop ai CLB ed altre risorse di calcolo, come ad esempio le ALU (Arithmetic Logic Unit), e
risorse di memoria distribuita.
Matrice di blocchi logici: I blocchi CLB sono composti solitamente da
due o quattro celle logiche (logic cell), che eseguono le operazioni booleane.
Ogni logic cell è solitamente composta da una o più LUT (Look Up Table)
programmabili. Le LUT sono utilizzate per implementare funzioni booleane. L’insieme di questi elementi è detto logic cell, e rappresenta uno dei
parametri più importanti nella valutazione della potenzialità di un FPGA.
I CLB possono essere connessi fra loro, permettendo cosi di realizzare funzioni booleane complesse. Le LUT sono composte da una memoria SRAM
da 16 bit e da un multiplexer a 4 ingressi: una volta configurate possono
generare qualsiasi funzione logica a quattro ingressi ciascuna. La scelta di
utilizzare LUT a soli quattro ingressi risiede nel fatto che la complessità
7
Capitolo 1. Tecnologia FPGA
Figura 1.4
di una LUT cresce esponenzialmente all’aumentare del numero di ingressi,
e risulta dunque poco gestibile. Raggruppare insieme alcune LUT in un
CLB e connetterle con una rete locale di interconnessioni consente infatti
una maggiore velocità, dovuta al fatto che questo tipo di interconnessione
è piu veloce di quella generale tra blocchi logici distinti. Lungo il perimetro dei blocchi logici vi sono infine i pin di ingresso e uscita. I blocchi di
ingresso/uscita si occupano della gestione dei segnali da e verso l’esterno
dell’FPGA. Le linee di interconnessione hanno invece il compito di mettere
in comunicazione le diverse risorse del dispositivo. Si possono distinguere
due tipi di interconnessione: le linee fisse e le matrici di scambio, dette anche switch matrix. Le matrici di scambio (switch matrix) sono costituite
da pass-transistor programmabili finalizzati all’instradamento dei segnali
all’interno dell’organizzazione matriciale che costituisce l’FPGA.
8
Capitolo 1. Tecnologia FPGA
Figura 1.5
1.3
ASIC vs FPGA: vantaggi e svantaggi
ASIC sta per“Application Specific Integreted Circuit”ossia circuiti integrati specifici per un’applicazione di calcolo ben precisa (specific purpose). Un circuito elettronico digitale può essere progettato in varie maniere,
utilizzando un linguaggio di descrizione dell’hardware(VHDL,Verilog,SystemC)
o tramite programma di Schematic entry con cui il progettista unisce direttamente tra loro i componenti tramite esempio CAD. Dopo questa fase
di progettazione c’è l’implementazione fisica. Ossia il circuito, in fonderia,
deve essere implementato su chip di silicio. L’implementazione fatta in una
Wafer Faber da un produttore di semiconduttori viene detta Standard Cell
o ASIC. Perchè Standard Cell? Poichè quando il designer deve effettuare
la Sintesi logica del circuito progettato usa la libreria di componenti standard che contiene la descrizione di tutte le porte logiche (AND,OR) che
il designer sul silicio può utilizzare. Il termine ASIC si riferisce al campo
di applicazione del prodotto. Ci sono aziende che si occupano solo della
progettazione dei circuiti digitali (aziende fabless), quelle che si occupano
dell’implementaione fisica(TSMC,UMC) e quelle che si occupano di ambo gli aspetti(Intel,Texas Instruments,STMicroelectronics). Le tecnologie
Standard Cell permettono di implementare un ASIC con un costo per chip
bassissimo sull’ordine di grandezza del dollaro. Però hanno anche una serie
9
Capitolo 1. Tecnologia FPGA
di svataggi motivo per cui si opta verso le tecnologie FPGA. Gli svantaggi
sono:
• ciclo di progettazione-produzione abbastanza lungo
• se si trova un bug dopo aver prodotto un chip non è
possibile correggerlo
• ci sono costi iniziali che possono raggiungere un milione
di dollari
Al contrario nelle tecnologia FPGA:
• ciclo di progettazione molto veloce
• usano l’approccio riprogrammabile e quindi permettono
la correzione di eventuali bug
• costo iniziale quasi nullo
• occupano più area rispetto agli ASIC:
• dissipano più potenza (circa 10 volte tanto) quindi non
possono essere usati in dispositivi mobili alimentati a batteria
• frequenza di funzionamento più basse circa 10 volte: esempio 50 Mhz contro 500 Mhz
Quindi ricapitolando la differenza fra le due tecnologie è la seguente. Negli
ASIC i costi iniziali sono molto elevati e i tempi di sviluppo molto lunghi.
Tuttavia ogni chip avrà costi di produzione e consumi molto bassi. Al
contrario negli FPGA i costi iniziali sono pressocchè nulli e i tempi di
progettazione ridotti ma ogni singolo dispositivo può costare centinaia di
dollari e dissipare molta poteza.
10
Capitolo 1. Tecnologia FPGA
1.4
Applicazioni FPGA
Gli sviluppi tecnologici e la crescente capacità di integrazione, hanno
portato al continuo incremento del numero di porte logiche integrabili su
un unico chip, tanto che gli ultimi modelli includono al loro interno ulteriori risorse. Banchi di memoria RAM per la memorizzazione dei dati,
interfacce di I/O ad elevate prestazioni (high speed I/O interfaces) per il
trasferimento seriale di dati ad alta velocità (dellordine dei Gbps), blocchi
DSP (Digital Signal Processing) che contengono moltiplicatori, sommatori
e accumulatori, usati per l’elaborazione digitale dei segnali, blocchi DCM
(Digital Clock Managers) dedicati al segnale di clock, che si occupano di
trasferire il segnale all’interno del dispositivo e di ritardare o moltiplicare
la sua frequenza, microprocessore integrato, utilizzato in applicazioni embedded. Tali caratteristiche hanno notevolmente ampliato il mercato di
questi dispositivi. Vediamone di seguito le principali applicazioni:
• comunicazioni: wireless, telefonia, reti cablate e modem DSL.
• server e archiviazione: data center, memorie di massa, reti di
archiviazione, stampanti e fotocopiatrici.
• industria dell’automobile: sistemi multimediali, di navigazione
gps e per il riconoscimento vocale.
• elettronica di consumo: display, lettori mp3 e fotocamere digitali.
• apparati militari e aerospaziali: veicoli, armi, satelliti, radar e
sonar.
• elaborazione audio e video: compressione, conversione, interfacciamento.
11
Capitolo 1. Tecnologia FPGA
• industriale: automazione, attrezzature di test, controllo e ispezione.
• medicale: sistemi video, scanner e ultrasuoni.
• sicurezza: protezione contro la clonazione, il reverse engineering .
12
Capitolo 2
Tecnologia FPGA-DSP
Oriented
L’elaborazione numerica dei segnali, digital signal processing (DSP)
è una tecnica di elaborazione digitale dei segnali che si basa sull’uso di
processori dedicati, con un elevato grado di specializzazione. L’implementazione delle attività di elaborazione del segnale digitale (DSP) in applicazioni di telecomunicazioni in genere richiede chip con elevate capacità
di calcolo. Allo stesso tempo le applicazioni di telecomunicazioni pongono
vincoli stringenti su costi e consumi. Le attività di DSP nei prodotti di
telecomunicazioni storicamente sono state effettuate con processori DSP o
circuiti integrati per applicazioni specifiche ”specific purpose”. I dispositivi ASIC raggiungono elevati livellli di prestazioni e efficienza energetica,
ma richiedono enormi sforzi di progettazione. Al contrario i dispositivi
DSP tendono a facilitare il processo di sviluppo, e a fornire prestazioni
adeguate ed efficienza ragionevole per molte applicazioni. Gli array fieldprogrammable gate (FPGA) raramente sono stati utilizzati per implementare le attività di DSP. Fino a poco tempo fa, la tecnologia FPGA non era
13
Capitolo 2.
Tecnologia FPGA-DSP Oriented
in grado di gestire algoritmi DSP esigenti ed erano costosi. Tutto questo
è cambiato con l’introduzione di nuovi prodotti FPGA-DSP Oriented da
parte di società quali Altera Corp. e Xilinx Inc., entrambe con sede a San
Jose, in California. La Famiglia Stratix di Altera e la famiglia Virtex-II di
Xilinx , entrambi, offrono significativi miglioramenti architetturali DSPoriented. Includendo alcuni elementi di elaborazione cablate, i dispositivi
FPGA sono in grado di migliorare l’efficienza energetica e le prestazioni
di costo, offrendo prestazioni eccezionali. Inoltre, entrambe le aziende offrono sofisticati tools di aiuto allo sviluppo DSP-oriented, come librerie
per le funzioni DSP comuni e interfacce per strumenti DSP di alto livello,
come Simulink. I requisiti computazionali di alcune applicazioni di telecomunicazione odierne spesso superano le prestazioni offerte anche dai più
veloci processori DSP. Questo rende la nuova generazione di DSP-FPGA
Oriented una soluzione potenzialmente interessante per alcune applicazioni. Questo sarà l’argomento del capitolo seguente. Parlerò di questi progressi, delle tendenze attuali per l’implementazione di applicazioni DSP, e
dei vantaggi nell’ utilizzare FPGA per DSP.
Benchmark
Una sfida fondamentale per i progettisti di sistema, però,
è capire dove è opportuno utilizzare questi nuovi dispositivi. Purtroppo,
i progettisti sono stati ostacolati in questa attività per la mancanza di
un metodo affidabile per valutare le prestazioni di dispositivi DSP-FPGA
Oriented e per confrontare le loro prestazioni con quelle dei processori DSP.
Chiaramente, i benchmark DSP-oriented consentono agli ingegneri di fare
questi confronti. Un buon benchmarking usato per valutare le prestazioni
hardware dei dispositivi richiede un’attenta selezione dei parametri di riferimento e di una metodologia ben sviluppata. Il benchmarking di Berkeley
Design Technology Inc. di processori per applicazioni DSP utilizza una se14
Capitolo 2.
Tecnologia FPGA-DSP Oriented
rie di algoritmi DSP comuni, come i filtri FIR, ottimizzati in linguaggio
assembly in ogni processore. Quando BDTI cominciò questa analisi comparativa dei dispositivi, fu subito chiaro che questo approccio non sarebbe
andato bene. Un problema fondamentale è che i piccoli algoritmi utilizzati per i processori non sono adatti per la valutazione delle capacità di
elaborazione degli FPGA. I primi risultati suggeriscono che la nuova generazione di FPGA può essere una soluzione molto interessante per alcune
applicazioni DSP-oriented. Anche se i risultati dei benchmark sono importanti, ci sono molte considerazioni soft che sono di pari importanza nella
scelta tra un FPGA e un processore DSP. Uno di questi è la disponibilità
di competenze del personale in questione. Ad esempio, la maggior parte
degli sviluppatori di applicazioni DSP non hanno familiarità con il flusso di progettazione FPGA. L’implementazione anche di un semplice filtro
FIR su FPGA richiede un processo totalmente diverso di progettazione
(e mentalità) che implementare la stessa funzione su un processore DSP.
Altera e Xilinx offrono tools e librerie per semplificare il processo. Inoltre,
il tempo necessario per sviluppare un’implementazione ottimizzata anche
di una funzione DSP relativamente modesto per un FPGA può essere di
ordini di grandezza superiori a quella di un DSP.
2.1
Gli FPGA nelle applicazioni DSP
Gli FPGA-DSP Oriented sono dispositivi FPGA dotati di blocchi specializzati per svolgere funzioni di Digital Signal Processing. I blocchi DSP
integrati nel tessuto logico degli FPGA consistono in moltiplicatori e accumulatori. Questi servono per realizzare tutte le principali funzioni DSP
come i filtri Fir, i filtri Iir, le Fft, le Dct ecc. La diffusione degli FPGA nelle
applicazioni DSP ha una notevole rilevanza economica. Infatti la Forward
15
Capitolo 2.
Tecnologia FPGA-DSP Oriented
Concept, società di ricerche di mercato ha dichiarato che le due più grandi
aziende nel settore Xilinx e Altera hanno fatturato oltre 200 milioni di dollari nelle applicazioni DSP. Fino ad alcuni anni fa gli FPGA erano privi di
blocchi specializzati nel DSP. Oggi, al contrario, tutti i nuovi FPGA sono
dotati di blocchi DSP. Questo cambiamento di prospettiva si può spiegare
ricordando che negli ultimi anni se è vero che da un lato è cresciuta la
necessità di potenza di calcolo DSP perchè è aumentata la larghezza di
banda disponibile nelle applicazioni di audio e video digitale, dall’altro i
tradizionali processori DSP hanno raggiunto il limite delle possibilità di
sviluppo basate sulla Prima Legge di Moore, di cui ne abbiamo spiegato
il contenuto nel capitolo precedente. Come i microprocessori anche i DSP
sono costretti a fare i conti con l’architettura di Von Neumann. Infatti
gli FPGA-DSP Oriented si basano su architettura parallela in grado di
rispondere a questa maggiore domanda di potenza di calcolo.
2.1.1
Prestazioni DSP su moduli FPGA
L’elaborazione del segnale digitale è un’attività molto complessa. Anche la misura delle prestazioni del DSP è altrettanto complicato. La velocità di esecuzione degli algoritmi di segnali digitali dipende dalla velocità
del processore, dalll’FPGA, dall’efficienza delle componenti DSP, dalla natura dell’applicazione, e dal grado di elaborazione simultanea contro l’eleborazione seriale. Altri fattori includono la velocità e il tipo di dispositivi
di memorizzazione di dati sia all’interno dell’ FPGA che sul modulo PMC
(Ad esempio blocco di RAM, DDR SDRAM, doppia porta SRAM), dalla quantità di memoria disponibile, e dal metodo di trasferimento di dati
a/dal FPGA e la CPU.
16
Capitolo 2.
Tecnologia FPGA-DSP Oriented
L’elaborazione del segnale è seriale o parallela?
Le applicazioni
DSP possono essere realizzate in diversi modi. Un’architettura seriale è
dove un singolo ingresso Signal-Source viene elaborato, è un unico flusso, senza l’influenza di un ingresso adiacente simultaneo Signal-Source.
Moduli DSP progettati discretamente per le architetture seriali sono semplici nel design, tuttavia, quando più flussi di segnali simultanei e iterativi
in sequenza stanno richiedendo calcoli, diventa necessario una separata
e distinta logica di elaborazione del Signal-Source e del DSP. Questo tipo di applicazione è molto costosa in progettazione, realizzazione e test.
Con l’implementazione dell’FPGA, tuttavia, è possibile avere più reti che
eseguono contemporaneamente le componenti DSP e la logica fornisce i
vantaggi di un’architettura di sistema in parallelo. Molte delle funzioni
utilizzate nelle elaborazioni DSP si basano infatti sulla ripetizione di operazioni identiche e quindi si prestano all’uso di architetture parallele. Un
filtro Fir a 256 taps, ad esempio, richiede 256 operazioni consecutive di
moltiplicazione. In un processore Dsp tradizionale, normalmente ciò è ottenuto utilizzando un unico blocco Mac per 256 iterazioni consecutive. In
un FPGA, al contrario, è possibile utilizzare 256 moltiplicatori distinti e
quindi ottenere il risultato in un solo colpo di clock. Inoltre la possibilità
di configurare i singoli blocchi Dsp e di usare il tessuto logico di contorno
per collegarli tra loro a piacimento rende possibile, nel caso degli FPGA,
creare una struttura hardware perfettamente aderente all’algoritmo. Al
contrario, le risorse hardware dei tradizionali processori DSP sono predeterminate e quindi non offrono lo stesso livello di flessibilità. Un dato DSP
avrà ad esempio determinate prestazioni a livello di bus, un numero fisso
di blocchi MAC, una larghezza dei dati predeterminata e una dotazione
fissa di blocchi di accelerazione.
17
Capitolo 2.
2.2
Tecnologia FPGA-DSP Oriented
Vantaggi e svantaggi nell’utilizzo combinato
di DSP e FPGA
Innanzitutto, le FPGA hanno l’enorme vantaggio di essere programmabili dall’utente, il che significa che il designer può piazzare blocchi di
elaborazione e registri di memoria dove più comodo, senza restrizioni strutturali, ovvero migliore compromesso fra prestazioni e area occupata rispetto ad un processore Dsp a configurazione fissa. In secondo luogo, molte
delle funzioni base di un Dsp si basano sulla ripetizione di operazioni identiche. Ad esempio, come visto prima, un filtro FIR a 256 taps richiede
256 operazioni consecutive di moltiplicazione. In un processore DSP ciò
sarebbe ottenuto utilizzando un unico blocco moltiplicatore-accumulatore
(MAC) 256 volte, mentre in una FPGA è possibile utilizzare 256 moltiplicatori e avere lo stesso risultato in un unico ciclo di clock. Infatti le Fpga
hanno il vantaggio di essere strutture parallele, per cui la disponibilità di
un numero sempre più elevato di porte logiche è legata linearmente all’aumento delle prestazioni (più porte logiche=più moltiplicatori), mentre
nei processori DSP l’aumento di porte logiche è usato per aumentare la
complessità delle istruzioni oppure per aumentare la quantità di memoria
presente sul chip, ma ciò non significa aumento lineare delle prestazioni.
Un dispositivo FPGA-DSP-oriented ha una complessità nel processo di
implementazione dell’applicazione DSP maggiore rispetto ad un processore, e costa e consuma di più. Una recente ricerca effettuata dalla società di
consulenze americana BDTI ha messo a confronto tre dispositivi: l’Fpga
Xilinx Virtex-4 SX25, l’Fpga Altera Stratix-II 2S15 e il processore DSP
Texas Instruments TMS320C6410 a 400 MHz. Sottoposti allo stesso test,
hanno prodotto risultati che in termini di rapporto costo/prestazione dan-
18
Capitolo 2.
Tecnologia FPGA-DSP Oriented
no per vincenti le Fpga, poiché è si vero che un Fpga costa di più e consuma
di più, ma ha prestazioni da 10 a 100 volte maggiori rispetto al semplice
processore. Per risolvere invece il problema dei tempi di implementazione,
i principali produttori di Fpga hanno messo a punto strumenti di sintesi che permettono al progettista di descrivere la funzione Dsp desiderate
utilizzando un alto livello di astrazione, come ad esempio uno schema a
blocchi in Simulink. I vantaggi di un’architettura DSP-FPGA Oriented si
manifestano in una moltitudine di settori applicativi, dal wireless all’analisi
dei segnali video/audio e ai sistemi di controllo.
2.3
Tendenze, Opzioni, considerazioni e tools per
l’utilizzo di piattaforme FPGA riconfigurabili come alternativa all’ Hardware DSP dedicato
Il tempo di sviluppo, i costi, e la facilità con cui le soluzioni DSP possono essere implementate è notevolmente migliorata dopo l’introduzione
di componenti FPGA ad alte prestazioni da parte di aziende come Xilinx
e Altera. I dispositivi moderni FPGA offrono ora un enorme supporto per
le applicazioni DSP. Ora quello che farò è parlare di questi progressi, delle
tendenze attuali per l’implementazione di applicazioni DSP, e dei vantaggi
di utilizzare FPGA per DSP usando come supporto il ” White Paper ”
della Acromag Inc. Sebbene una varietà di dispositivi FPGA ora offrono
supporto DSP, io mi limiterò a parlare di Xilinx Virtex-4 FPGA e Virtex-5
per semplicità. Sappiamo che per una corretta elaborazione delle informazioni del segnale, vi sono il controllo, la sincronizzazione, la signal data
capture, la gestione dei dati del segnale, e lo scambio o la trasmissione di
19
Capitolo 2.
Tecnologia FPGA-DSP Oriented
Figura 2.1
dati del segnale ,operazioni che rendono il compito in generale non semplice. Le prime soluzioni erano costose da progettare, lente da sviluppare
e difficili da ridistribuire poichè erano fissate in hardware. Vediamo ora le
attività di elaborazione del segnale digitale visto come flusso semplificato
di eventi presenti in molte applicazioni comuni.
L’attività di acquisizione del segnale grezzo e la generazione dei segnali
è complicata dalla logica di controllo necessaria per garantire la corretta
sincronizzazione e sequenziamento con i dispositivi esterni. L’elaborazione
interna dei dati del segnale, la pacchettizzazione/de-pacchettizzazione, e
la gestione di storage FIFO sono compiti interni al modulo FPGA. Queste
attività richiedono un’attenzione particolare ai tempi e al sequenziamento.
Lo scambio di informazioni con la CPU è spesso implementata utilizzando
tecniche quali, scambi di memoria a doppia porta con la sincronizzazione
del semaforo, interrupt, e tecniche di time-based o polling . L’architetto
del sistema software prende queste decisioni basate su vincoli di prestazioni
e vincoli di risorse.
20
Capitolo 2.
2.3.1
Tecnologia FPGA-DSP Oriented
Passaggio da Hardware dedicato a piattaforma FPGA riconfigurabile
Per anni, i moduli DSP sono stati progettati e sviluppati per applicazioni“specific purpose”e basate su implementazioni discrete con interfacce
hardware fisse sia al mondo esterno mondo campionato che al mondo interno mondo di elaborazione algoritmica. Con l’avvento della tecnologia
FPGA, e più in particolare grazie alla capacità degli ingegneri DSP di
programmare i dispositivi FPGA, un graduale aumento della flessibilità
complessiva della soluzione DSP divenne realtà. Oggi, con i più recenti
dispositivi FPGA Xilinx Virtex-4 e Virtex-5 sul popolare modulo PMC,
i progettisti godono di grande flessibilità per la gestione sia del mondo
campionato che del mondo di elaborazione algoritmica”. Caratteristiche
significative di questa evoluzione dall’ hardware discreto DSP alle soluzioni
programmabili FPGA-DSP include i seguenti passaggi:
• Da metodologie di acquisizione e sincronizzazione del segnale definite inflessibili alle interfacce definibili liberamente e ridefinibili come necessario
• da una metodologia di scambio dati definita ad una ridefinibile
• dall’hardware personalozzato a quello off the shelf
• dall’elaborazione logica seriale a quella parallela
• Dal prezzo più alto per ogni funzione al più basso
• da metodologie poco flessibili ad un aumento della flessibilià
21
Capitolo 2.
Tecnologia FPGA-DSP Oriented
• Dal richiedere applicazioni completamente definite alle
applicazioni modificabili a adeguate ai requisiti di cambiamento
• dal debugging fatto a livello hardware all’uso di software per il dubugging
• da un’interfaccia IO fissa ad una ridefinibile e sostituibile
• Da lunghi cicli di sviluppo a tempi molto più brevi
• dallo sviluppo ad alto costo allo sviluppo a basso costo
2.3.2
Supporto DSP sui dispositivi FPGA
Acromag ha scelto Xilinx FPGA per la loro linea di moduli PMC per
fornire supporto DSP per le applicazioni di elaborazione del segnale. Xilinx, nella sua evoluzione dei prodotti dal Virtex-4 al Virtex-5, ha raggiunto
alcune importanti innovazioni tecnologiche. Per supportare il processo di
elaborazione algoritmica del segnale sono disponibili un livello sofisticato
di elementi di alta capacità note come slices XtremeDSP DSP48 su FPGA
Virtex-4 e slices XtremeDSP DSP48E su Virtex-5 FPGA. Queste slices
DSP permettono altissime frequenze di clock e throughput molto elevato
con moltiplicatori, moltiplicatore-accumulatori, moltiplicatore addizionatori/sottrattori, tre ingressi adder a 48-bit, multiplexer, contatori. La Slice
DSP48E dell’ FPGA Virtex-5 migliora rispetto alla slice DSP48 con una
maggiore gamma dinamica. Le figure seguenti mostrano blocchi semplificati di slices XtremeDSP DSP48 e DSP48E come si trovano sul Xilinx
Virtex-4 e Virtex-5 FPGA, rispettivamente. Questi dispositivi FPGA sono
distribuiti sui moduli Acromag PMC-LX / SX e PMC-VLX VSX .
22
Capitolo 2.
Tecnologia FPGA-DSP Oriented
Figura 2.2
Figura 2.3
23
Capitolo 2.
2.3.3
Tecnologia FPGA-DSP Oriented
Prestazioni DSP su moduli FPGA
L’elaborazione del segnale digitale è un’attività molto complessa ed
esigente. Tuttavia anche la misura delle prestazioni dei DSP è altrettanto
complicato. La velocità di esecuzione degli algoritmi di segnali digitali dipende dalla velocità del processore, dall’FPGA, dall’efficienza delle slices
DSP, dalla natura dell’applicazione, e dal grado di elaborazione simultanea
contro quella seriale. Altri fattori includono la velocità e il tipo di dispositivi di memorizzazione di dati sia all’interno della FPGA che sul modulo
PMC (Ad esempio blocco di RAM, DDR SDRAM, doppia porta SRAM),
dalla quantità di memoria disponibile, e dal metodo di trasferimento di dati a/da FPGA e la CPU. Rispondendo alle domande di seguito, è possibile
definire il contesto di esecuzione per l’applicazione.
• 1. Quanto velocemente possibile devono eseguire gli algoritmi di segnali digitali?
• 2. Quanta capacità di calcolo DSP è disponibile?
• 3. L ’elaborazione del segnale è seriale o parallela?
• 4. Quanta memoria è disponibile ?
• 5. Quali meccanismi di comunicazione sono disponibili e a
quale velocità sono trasferiti i dati?
• 6. Quali sono i compromessi costo/prestazioni?
• 7. Qual è la disponibilità della soluzione?
Una discussione su queste domande verrà fatta di seguito .
24
Capitolo 2.
2.3.4
Tecnologia FPGA-DSP Oriented
Quanto velocemente possibile devono eseguire gli algoritmi di segnali digitali?
A titolo di esempio, la serie PMC-LX/SX di Acromag presenta la Xilinx Virtex-4 FPGA che esegue a 500MHz ed ha un tasso superiore alle
256 miliardi di operazioni di moltiplicazione-addizione (MAC) al secondo.
La Serie di Acromag PMC-VLX/VSX con Virtex-5 FPGA esegue fino a
550MHz ed ha un tasso (rate) oltre le 350 miliardi di MAC al secondo. Per
applicazioni estreme, i moduli PMC con Virtex-5 FPGA presentano più
di un aumento del 36 percento in termini di prestazioni di calcolo rispetto
ai moduli con il Virtex-4 FPGA.
2.3.5
L ’elaborazione del segnale è seriale o parallela?
Le applicazioni DSP possono essere realizzate in diversi modi. Un’architettura seriale è dove un singolo Signal-Source ingresso viene elaborato, è un unico flusso, senza l’influenza dell’ingresso simultaneo adiacente
Signal-Source. Moduli DSP discretamente progettati per le architetture
in serie sono semplici nel design, tuttavia, quando sono necessari più flussi
di segnali simultanei e calcoli in sequenza iterativi, diventa necessario una
separata e distinta logica di elaborazione Signal-Source e DSP. Questo tipo
di applicazione è molto costosa in progettazione, realizzazione e test. Con
l’implementazione FPGA, tuttavia, è possibile avere più reti che eseguono
contemporaneamente le slices DSP e la logica seguente fornisce i vantaggi
di un’architettura di sistema in parallelo. La figura illustra le differenze
nell’ utilizzare DSP basato su FPGA o un processore standard DSP con
alti carichi computazionali. Xilinx FPGA offre Managers Digital Clock
(DCMS) per assistere nell’orchestrazione delle reti di esecuzione parallela
delle slices DSP e la logica. Ciascun DCM può essere configurato per ge25
Capitolo 2.
Tecnologia FPGA-DSP Oriented
Figura 2.4
nerare sincronizzazione dell’orologio ad una frequenza diversa per ciascuna
rete a cui è assegnato. Le frequenze sorgenti di clock disponibili sono derivati da cristalli sul modulo PMC o da sorgenti di clock esterne iniettate
attraverso gli ingressi FPGA. Virtex-4 FPGA è in grado di fornire 8 DCMs
reciprocamente distinte; mentre il più recente Virtex-5 FPGA fornisce 12
DCM.
2.3.6
Quanta capacità di calcolo DSP è disponibile ?
Senza contare la componente logica discreta dell’ FPGA utilizzato, la
seguente tabella riassume il numero di slices DSP disponibili nella famiglia
PMC-FPGA della Acromag.
26
Capitolo 2.
Tecnologia FPGA-DSP Oriented
Figura 2.5
Figura 2.6
27
Capitolo 2.
2.3.7
Tecnologia FPGA-DSP Oriented
Quali meccanismi di comunicazione sono disponibili
e a quale velocità sono trasferiti i dati?
L’Elaborazione del segnale digitale è un’attività di calcolo estremamente complicata che richiede alta velocità di elaborazione e la possibilità di
spostare i dati in modo efficiente e rapido. Tipicamente, i moduli PMC
FPGA supportano interrupt , i trasferimenti DMA, e protocolli seriali che
utilizzano il FPGA I/O. I moduli Virtex-4 FPGA della Acromag supportano trasferimenti DMA che rispettano la specifica PCI R2.0 di trasferire più
di 60MB/sec (parola a 32 o 64 bit trasferimenti fino a 66 MHz). I moduli
Virtex-5 FPGA della Acromag dispongono di PCI-X r3.0- trasferimenti
DMA compatibili per fornire più di 600 MB/sec di throughput (parola a
32 bit o 64 fino a 100MHz). Trasferimenti LVDS seriali sono verificati per
oltre 150 MHz per punto di I/O.
2.3.8
Tradeoff costo/prestazioni
Rispetto allo sviluppo del modulo hardware DSP discreto tradizionale,
l’uso di un modulo FPGA DSP based è ora spesso la scelta del progettista per la riduzione dei tempi di sviluppo, supporto alla progettazione/sviluppo/debug, e la disponibilità della logica predefinita (IP core). La
natura riconfigurabile di moduli basati su FPGA aggiunge flessibilità, aggiornabilità, e anche l’uso di nuovi moduli in altre applicazioni con una
semplice riprogrammazione. Quando progettazione hardware diventa una
riconfigurazione software, è solo una questione di sviluppare il modulo
iniziale FPGA per aiutare il segnale esterno ad interfacciarsi con le caratteristiche di comunicazione e prestazioni. Nell’ attuale configurazione del
software, possono essere imposti dei limiti sulla capacità del modulo piattaforma FPGA per permettere ai segnali esterni di interfacciarsi Questo è
28
Capitolo 2.
Tecnologia FPGA-DSP Oriented
Figura 2.7
dove i moduli PMC FPGA possono rendere lo sviluppo delle applicazioni
molto redditizio. Acromag offre una varietà di moduli PMC FPGA a partire da poco più di 3000 dollari, ciascuno con diversi livelli di prestazione
per trattamento DSP.
2.3.9
Quanta memoria è disponibile ?
Tre risorse di memoria sono disponibili su ogni modulo Acromag FPGA PMC: Block RAM provenienti dal dispositivo FPGA, SDRAM DDR
reperito nel modulo PMC, SRAM a due porte di origine sul modulo PMC.
Ciascuno di queste aree di memoria offrono capacità e velocità diverse.
Essi possono essere assegnati dall’ingegnere progettista FPGA-DSP per
soddisfare al meglio la domanda.
2.3.10
Qual è la disponibilità della soluzione?
I produttori di FPGA continuano a spingere sulle prestazioni delle nuove generazioni di dispositivi. Tuttavia, gli sviluppatori del sistema devono
29
Capitolo 2.
Tecnologia FPGA-DSP Oriented
Figura 2.8
chiedersi se vale la pena di aspettare per la prossima generazione o l’attuale
generazione può adeguatamente soddisfare la loro domanda. L’intervallo di
tempo tra l’annuncio di un nuovo dispositivo FPGA e il rilascio di moduli
di piattaforma che implementano il nuovo chipset può essere significativo.
In molti casi, si può iniziare lo sviluppo sull’attuale generazione di moduli
per la ”proof of concept ”e poi in seguito aggiornare il tutto quando i nuovi
moduli sono disponibili con minimi sforzi supplementari.
30
Capitolo 3
Architettura e Selezione dei
Componenti Hardware per
Applicazioni SDR
Nelle comunicazioni wireless e in particolare nell’ambito militare l’SDR
che sta per software-defined radio è l’obiettivo da raggiungere. Per Software Defined Radio, SDR, si intende una tecnologia che permette di costruire ricevitori radio quasi completamente software e multistandard. Insomma una rivoluzione rispetto ai ricevitori hardware visti finora. Multistandard vuol dire che, poichè il ricevitore SDR è riprogrammabile attraverso software funziona con tutti gli standard. Se prima avevo un ricevitore per ogni standard, ora, con SDR si ha un ricevitore riprogrammabile
per gestire uno standard diverso. Oggigiorno i ricevitori dei vari standard
(UMTS, GSM, Wimax, satellitare...) sono costruiti in hardware e funzionano in modo simile. Hanno tutti un’antenna che capta il segnale modulato
alla frequenza dello standard usato, un demodulatore che riporta il segnale dalla banda traslata, centrata alla frequenza di modulazione, in banda
31
Capitolo 3. Architettura e Selezione dei Componenti Hardware per Applicazioni
SDR
base, centrata alla frequenza nulla, e un blocco di conversione analogicodigitale che converte il segnale continuo in segnale numerico-digitale. I
ricevitori odierni prima di eseguire l’operazione di conversione del segnale
da analogico a digitale effettuano la demodulazione dello stesso portandolo
dalla banda traslata centrata attorno alla frequenza di modulazione alla
banda base. Nell’SDR questa operazione si elimina perché la conversione
si effettua direttamente in banda traslata. Ciò al momento risulta difficile
da implementare perché, se ad esempio consideriamo lo standard wireless
che funziona ad una frequenza portante di 2,4 GHz, per il teorema del
campionamento di Nyquist-Shannon, affinché il segnale possa essere ricostruito è necessario usare una frequenza di campionamento fc pari almeno
al doppio della frequenza massima dello spettro, insomma il doppio della
banda ossia fc=2Bw, quindi in questo caso abbiamo fc=5 GHz ossia circa 5
miliardi di campioni al secondo. Al giorno d’oggi è impossibile riuscire ad
ottenere questa quantità di campioni. Attualmente esiste una versione che
prevede dopo la ricezione da parte dell’antenna, una demodulazione del segnale ad una frequenza intermedia e dopo la conversione analogica digitale.
Il concetto base dell’ SDR è posizionare la separazione digitale-analogica
più vicina possibile all’antenna. Ciò si ottiene mediante l’implementazione
di molte funzioni tradizionalmente svolte da circuiti analogici con circuiti digitali riconfigurabili. Implementato con successo, questo può fornire
un prodotto radio a prova di obsolescenza che può supportare formati di
modulazione esistenti e futuri. In pratica, questi obiettivi possono essere
difficili da realizzare, in particolare per applicazioni a batteria più piccola.
I requisiti relativi al costo, al consumo di energia, alle dimensioni, e le preoccupazioni ambientali di solito sono i motivi centrali che dettano poi i veri
compromessi progettuali, anche se questi requisiti variano a seconda del-
32
Capitolo 3. Architettura e Selezione dei Componenti Hardware per Applicazioni
SDR
l’applicazione. In questo capitolo esploreremo un’architettura ottimizzata
per una tipica applicazione SDR.[2]
3.1
Requisiti generici
• Basso consumo energetico, soprattutto quando si è in modalità standby.
• banda riconfigurabile, con risorse di elaborazione sufficienti per realizzare molti tipi di forme d’onda, come ad esempio(FSK), (QAM),
(CDMA), e (OFDM).
• antenne multiple.
• Fattore di forma.
• Display Video delle informazioni.
• interfacce esterne comuni ad altre apparecchiature, come Ethernet e
USB.
• Ampia gamma di temperatura di funzionamento senza raffreddamento attivo.
• banda di frequenza di funzionamento larga.
• supporto banda di frequenza multipla.
• costo moderato.
• alto rendimento di produzione.
Un parametro di progettazione critico, che ha un impatto importante nel
soddisfare qualsiasi insieme di requisiti, è la posizione della separazione
33
Capitolo 3. Architettura e Selezione dei Componenti Hardware per Applicazioni
SDR
digitale-analogico nella catena radio, sia per ricevere che per trasmettere.
La metodologia SDR impone che tale conversione dovrebbe avvenire il più
vicino possibile all’antenna. Recentemente, si sono resi disponibili convertitori analogico-digitali (ADCs) subcampionati intorno alla frequenza
intermedia (IF) che operano in più di 100 MSPS a 12+ bit con larghezze
di banda di ingresso analogico fino a 1 GHz. L’attuale offerta da parte
di produttori leader richiede un minimo di 200 mW di consumo di potenza per canale. Questo rende pratiche da usare le frequenze IF superiori
a 500 MHz. Tutto ciò ancora non permetterà il campionamento diretto
di un segnale a 2 GHz, ma consentirà una singola conversione radio per
campionare segnali multipli su un’ampia larghezza di banda. Aumentando
la velocità di campionamento aumenta anche il rapporto segnale-rumore
(SNR). Interfacciarsi a questi livelli di frequenze IF è un pò più impegnativo sul lato della trasmissione. La maggior parte dei circuiti in bandabase
hanno difficoltà a produrre campioni di trasmissione a prezzi molto più alti
rispetto a 200 MHz, che limita la trasmissione IF a circa il 40 per cento del
tasso, pari a circa 80 MHz. Ma alcuni produttori di (DAC) Convertitore
digitale-analogico hanno affrontato questo problema incorporando l’interpolazione nelle loro parti, e aggiungendo della circuiteria per consentire
al DAC di selezionare l’uscita nelle zone di Nyquist Superiori (eliminando
il requisito di 40 per cento). Un’altra opzione è quella di Integrare interpolazione, mixer digitale, e DAC. Questo può permettere di trasmettere
ad alte Frequenze IF, dell’ordine di 400 MHz. Tuttavia, questi approcci
possono essere costosi, sia in termini di consumo di energia che per i costi.
Se sono accettabili trasmissioni IF inferiori, allora può esere implementata
una soluzione di alimentazione molto meno costosa e inferiore. Per l’elaborazione in banda base, vi è una pletora di possibili soluzioni e architetture.
34
Capitolo 3. Architettura e Selezione dei Componenti Hardware per Applicazioni
SDR
Per applicazioni SDR, uno dei requisiti principali è configurabilità e flessibilità. Questo elimina la soluzione a più basso consumo di energia e di
costo, che è una purpose-built ASIC in banda base, come quelle utilizzati
nei telefoni cellulari commerciali. La soluzione più flessibile per l’elaborazione del segnale digitale (DSP) è quella di utilizzare sia un processore
DSP che FPGA. Questo approccio ha i seguenti vantaggi:
• Il processore DSP fornisce la piattaforma ideale per l’implementazione di algoritmi molto complessi.
• Il dispositivo FPGA offre elevati tassi di elaborazione e bit-resolution
necessari per determinate funzioni, quali (FIR) filtri, (FFT), ricevitore CDMA RAKE, decoder Turbo, e numerose altre funzioni.
• Può agire come un efficace co-processore per i processori DSP, purché
adeguate connessioni a banda larga siano disponibili; questo approccio consente agli algoritmi di essere divisi tra i dispositivi DSP e
FPGA in modo ottimale.
• Sono disponibili ambienti e strumenti di sviluppo ben noti.
• I DSP possono incorporare funzioni di protocollo e di elaborazione
dei pacchetti, sia con doppio processore, o utilizzando un’architettura
di processore singolo convergente.
• I DSP possono incorporare l’interfaccia video BT656 al display utente. La scelta del produttore e della famiglia del prodotto avrà un
grande impatto sul consumo di energia, costi, velocità di trasmissione dati radio e sistema di upgrading. Queste scelte, una volta fatte,
sono difficili da cambiare in seguito, senza un importante ciclo di
ingegneria di riprogettazione.
35
Capitolo 3. Architettura e Selezione dei Componenti Hardware per Applicazioni
SDR
Figura 3.1
La figura seguente mostra uno schema a blocchi generico di una tipica implementazione radio SDR. Il resto di questo capitolo invece discute delle
componenti critiche che hanno un forte impatto sulle prestazioni radio e
funzionalità, e offre il confronto tra le offerte di prodotti diversi. I componenti chiave considerati sono l’ADC, il DAC, il DSP, e dispositivi FPGA.
Il costo non è parte di questo confronto .
3.2
Selezione componente ADC
La tecnica di ricezione delle frequenze IF sub-campionate è comunemente usata nei progetti di SDR. In teoria, la ricezione dlle IF è limitata
solo dalla banda analogica dell’ ADC. Nella pratica, una ricezione molto
alto della IF può ridurre le prestazioni dell’ ADC, e anche imporre re36
Capitolo 3. Architettura e Selezione dei Componenti Hardware per Applicazioni
SDR
Figura 3.2
quisiti stretti sul jitter del clock ADC. Per queste ragioni, è importante
confrontare sia la larghezza di banda analogica dell’ADC nonché la massima ricezione del segnale nelle schede del produttore. Prestazioni dell’ADC
a un rialzo dei tassi rispetto a quelli caratterizzati nella scheda tecnica vanno verificate con il produttore del dispositivo. Nelletabella di seguito sono
stati considerati solo ADC con capacità maggiori di 100 milioni di campioni al secondo (MSPS) e minori di 500 mW per canale. Una risoluzione
a 12-bit è generalmente sufficiente a soddisfare le esigenze della maggior
parte dei requisiti radio moderni, e da 12 a 14 bit di ADC sono stati considerati. I semiconduttori ADC nazionali offrono elevate larghezze di banda
analogiche con basso consumo energetico ( 200 mW per canale). Per quasi
tutte le applicazioni DSP, 100 MSPS è una frequenza di campionamento
adeguato.
3.3
Selezione componente DAC
Le sanzioni di potenza e di costo rendono una trasmissione IF molto
elevata poco attraente, a meno che non vi sia un motivo valido per questo approccio. Dal momento che un trasmissione IF a 400-MHz è ancora
troppo bassa per la maggior parte delle bande di frequenza, una fase di
37
Capitolo 3. Architettura e Selezione dei Componenti Hardware per Applicazioni
SDR
Figura 3.3
upconversion analogico sarà richiesto in quasi tutti i casi. Per le applicazioni tipiche DSP dove la larghezza di banda del segnale è inferiore a 25
MHz, una sub di 100 MHz che trasmette frequenza IF accoppiata con un
solo stadio mixer a radiofrequenza è più pratica. La tabella sopra riassume
i risultati del confronto tra i diversi DAC competitivi. Una risoluzione a
14 bit è in genere sufficiente per soddisfare i requisiti di prestazioni delle moderne modulazioni radio. Per una singola catena di trasmissione,
l’AD9744 è una buona scelta. Tuttavia, sulla base di requisiti comuni di
molti sistemi di comunicazione moderni per la diversità di trasmissione,
l’AD9755, che offre oltre 100 MHz trasmissione IF, può essere una scelta
migliore. I filtri di interpolazione e funzioni NCO complessi possono essere
facilmente ed efficacemente attuate nel dispositivo FPGA.
3.4
Selezione componente DSP
Come menzionato sopra, la scelta del processore DSP è fondamentale
da fare la prima volta, poiché è difficile cambiarlo poi successivamente. Il
seguente elenco di requisiti è stato utilizzata per restringere il campo a due
famiglie di produttori .
38
Capitolo 3. Architettura e Selezione dei Componenti Hardware per Applicazioni
SDR
• Famiglia di prodotti affermata, ben accolta nel mercato, dovrebbe
essere ben sostenuta e aumentare la capacità in futuro.
• Buone opzioni per il sistema operativo: fornito dal produttore, Linux, di terze parti.
• In grado di supportare le attività di elaborazione dei pacchetti (Media Access Control (MAC) layer).
• In grado di supportare il livello superiore radio dei livelli di protocollo.
• Ambiente di sviluppo maturo.
• 500 MHz prestazioni di base.
• Architettura a bassa potenza (meno di 1 W).
• Supporto per Ethernet e / o ad alta velocità USB.
• DDR esterno (o SDRAM) interfaccia di memoria.
• Interfacce ad alta larghezza di banda adatto per interfacciarsi con
FPGA.
• In grado di gestire l’interfaccia di visualizzazione video.
Dopo la revisione di diversi produttori, due famiglie di prodotti DSP si
distinguono: Blackfin da Analog Devices e DaVinci di Texas Instruments.
Come mostrato nella tabella seguente, entrambe queste famiglie DSP soddisfano tutti i requisiti sopra discussi. Inoltre, ogni produttore ha molti
membri della famiglia, con diverse periferiche e caratteristiche. Entrambe
le famiglie hanno grande sostegno dai parte dei loro produttori, nonché da
parte degli sviluppatori IP software di terze parti. Entrambi hanno grande
39
Capitolo 3. Architettura e Selezione dei Componenti Hardware per Applicazioni
SDR
Figura 3.4
accettazione del mercato, e puntano a migliorare funzionalità e prestazioni
per gli anni a venire. Sia Blackfin che DaVinci hanno molti membri della famiglia. Ciò rende la selezione difficile, in quanto diverse applicazioni
possono enfatizzare diverse caratteristiche del processore. Per Blackfin,
il requisito di Ethernet MAC restringe il campo considerevolmente. La
soluzione migliore sembra essere BF527. Se USB 2.0 può essere sostituito
per il MAC Ethernet, allora bisogna considerare il BF548, come parte che
ha una porta parallela supplementare, che è molto utile per la connessione a banda larga ad un FPGA. Anche Il BF548 impacchetta istruzioni di
elaborazione video migliorate. Per DaVinci, solo i membri della famiglia
con nucleo RISC integrato sono state considerate, come il 6441. Questo
è un grande vantaggio, in quanto consente al software di elaborazione dei
pacchetti di risiedere in un nucleo CPU separato. Al contrario, Analog Devices utilizza un’architettura convergente, tale che il suo nucleo Blackfin è
40
Capitolo 3. Architettura e Selezione dei Componenti Hardware per Applicazioni
SDR
progettato per supportare contemporaneamente elaborazione dei pacchetti e applicazioni DSP. Per riassumere, il Blackfin ha un grande vantaggio
nel consumo di potenza, dimensioni, e possibilmente costo. Il DaVinci,
con il suo DSP e nucleo RISC , ha più potenza di elaborazione. Nel DaVinci, nuclei separati per l’elaborazione dei pacchetti / protocollo e DSP
possono facilitare lo sviluppo di software. Mentre i processori sia Analog Devices che Texas Instruments sono progettati per essere processori
multimediali, la DaVinci ha in più il supporto per l’elaborazione video.
Per telefoni SDR, che richiedono il consumo di energia molto più bassa,
il Blackfin è probabilmente la scelta migliore. Per i sistemi veicolari, la
DaVinci offre più potenza di elaborazione e sarebbe la soluzione più vantaggiosa. Quando devo interfacciare un processore DSP a un FPGA, avere
elevata larghezza di banda e interfacce multiple può fare la differenza in
termini di prestazioni. Molti algoritmi radio sono implementati suddivisi
tra il processore DSP e FPGA. I compiti della velocità di elaborazione algoritmicamente complessi, possono essere implementate in DSP. Compiti
algoritmicamente più semplici, con requisiti di elaborazione devono essere
attuate negli FPGA. Ciò richiede interfacce flessibili e ad alta larghezza di
banda. Un esempio comune è l’acquisizione iniziale del segnale di ricezione.
Spesso un approccio iterativo è considerato per individuare la frequenza di
offset, il recupero di temporizzazione e sincronizzazione simultaneamente.
Solitamente gli algoritmi utilizzati sono complessi, e l’approccio migliore
è spesso suddiviso tra il processore DSP e FPGA, con l’FPGA facendo
più dell’elaborazione , mentre il DSP calcola i parametri dell’algoritmo.
La comunicazione inter-dispositivo richiede la capacità di trasferire blocchi di dati a bassa latenza utilizzando accesso memoria diretto (DMA) da
e verso la memoria DSP, nonché un rapido accesso DSP per controllare
41
Capitolo 3. Architettura e Selezione dei Componenti Hardware per Applicazioni
SDR
Figura 3.5
registri nell’FPGA. Interrupt, DMA spesso innescato, sono utilizzati per
sincronizzare l’elaborazione tra il processore DSP e FPGA.
3.5
Selezione componente FPGA
L’FPGA rappresenta un altro importante componente architettonico
scelto. Gli FPGA sono evoluti ben oltre il semplice hardware programmabile, come i produttori di FPGA offrono elevati IP cores , soft core
microcontrollori, progetti di riferimento, la metodologia system-on-chip di
progettazione, e ambienti di progettazione completi. Grazie alla potenza
R Cyclone
R III
e ai vincoli di costo, solo le famiglie di dispositivi Altera
FPGA e Xilinx Spartan-3 sono state considerate. Entrambi i produttori
offrono un’ampia capacità DSP , fa impallidire il tasso di elaborazione realizzabile in un processore DSP. La tabella di seguito mostra un confronto
tra due dispositivi Xilinx Spartan-3A DSP recentemente annunciato e la
famiglia Altera Cyclone III. Questi due dispositivi Xilinx sono stati ottimizzati per applicazioni DSP, cosı̀ come la famiglia Altera Cyclone III.
Non vengono visualizzati tutti i dispositivi della famiglia Cyclone III.
Risorse moltiplicatore includono solo moltiplicatori hard, non moltiplicatori soft costruiti dalle risorse logiche. I conteggi dei moltiplicatori
42
Capitolo 3. Architettura e Selezione dei Componenti Hardware per Applicazioni
SDR
mostrano configurazioni con un massimo di 18 x 18 x 9 o 9 moltiplicatori.
Mentre gli FPGA hanno grandi capacità di DSP (confrontare GMACS in
tabella precedente con valori DSP), questi possono anche avere requisiti di
elevata potenza. Quindi un parametro critico da considerare è il consumo
di energia. Questo non è sempre un numero facile da valutare. Pertanto,
“’i manufacturers”hanno stimatori di potenza, che possono essere utilizzati
nelle prime fasi del ciclo di progettazione. Un numero comparativo facile
da usare è il valore per il potere statico (dispositivo non cronometrato o
programmato), che pur non essendo indicativo del consumo di energia reale dell’FPGA, può essere utilizzato per fini comparativi. Le parti Altera
sono circa un terzo del fabbisogno di potenza statica dei dispositivi Xilinx.
Anche se Xilinx ha preso di mira le due parti per applicazioni DSP esse
sono al di sotto delle capacità dell’ FPGA Altera Cyclone III. La scelta
consigliata è l’ Altera EP3C40, nel pacchetto BGA 484-pin. Come risulta
dalla tabella indicata, il Cyclone III FPGA offre molta più capacità DSP
delle parti DSP di dimensioni simili a Spartan-3A. Il dispositivo EP3C40
Cyclone III ha un consumo di energia molto più basso. Per i modelli in
cui il consumo di energia è fondamentale, le parti Altera Cyclone III sono
disponibili in 5K e 10K, densità che ancora offrono prestazioni 6-GMACS
DSP, con un consumo energetico dell’ordine di 200 mW a frequenze di
clock di 100 MHz.
43
Capitolo 4
Confronto prestazionale:
processori DSP/FPGA
L’operazione di filtraggio del rumore adattativo in real-time richiede
hardware dedicato per soddisfare i reqisiti richiesti entro tempi stringenti.
Sono stati studiati entrambi i processori DSP e FPGA per quanto riguarda le loro prestazioni in termini di consumo di energia, di architettura
hardware di riferimento e della velocità per applicazioni in tempo reale. A
scopo di verifica sono stati fatti diversi test. Cosa si evince? Innanzitutto
in tempo reale i filtri di rumore adattivo sono stati implementati e simulati su due piattaforme differenti, le boards Motorola DSP56303 EVM e
Xilinx Spartan III. Questo studio ha dimostrato che in applicazioni ad alta
velocità, i dispositivi FPGA sono vantaggiosi rispetto a qulli DSP grazie
alla loro riduzione della velocità e del rumore a causa dell’ architettura
parallela. La tecnologia FPGA permette di gestire più processi contemporaneamente rispetto alla tecnologia DSP, che può gestire solo un numero
limitato di istruzioni parallele alla volta. Inoltre la velocità in ambo i processori ha come effetto la riduzione del rumore in tempo reale. Più il nucleo
44
Capitolo 4. Confronto prestazionale: processori DSP/FPGA
DSP diventa lento, più diventa difficile rimuovere il rumore in tempo reale.
Per quanto riguarda la potenza i dispositivi DSP sono vantaggiosi rispetto
a quelli FPGA. Gli FPGA hanno una struttura di gate riconfigurabile che
consuma più energia. Nel caso di DSP, invece, l’hardware è già stato configurato, quindi viene spontanea una domanda. Quale tra i due richiede
meno consumo di energia? Gli FPGA sono costruiti per scopi generali,
e la loro area di silicio nel core è più grande di quella dei DSP. Questo
è un altro fattore che influenza il consumo di energia. Quindi nelle applicazioni ad alta frequenza, gli FPGA sono vantaggiosi rispetto ai DSP.
Nelle applicazioni a bassa frequenza, al contrario, DSP e FPGA, entrambi,
soddisfano i requisiti per la cancellazione del rumore. Per le applicazioni
a bassa frequenza, i DSP sono vantaggiosi per quanto riguarda il consumo
di energia e per le applicazioni per i dispositivi alimentati a batteria.[3]
Le prestazioni dell’elaborazione dei dati in tempo reale è spesso limitata
dalla capacità di elaborazione del sistema. Pertanto, la valutazione di differenti piattaforme di elaborazione del segnale digitale per determinare la
piattaforma più efficiente è un compito importante. Ci sono state molte
discussioni riguardo la preferenza di processori di segnale digitale (DSP) o
Field Programmable Gate Array (FPGA) per quanto riguarda la cancellazione del rumore in tempo reale. La tecnologia DSP si trova in un’ampia
varietà di applicazioni, come il filtraggio, il riconoscimento vocale, il miglioramento delle immagini e la compressione dei dati, le reti neurali, cosı̀
come i filtri analogici. Lo scopo di questo capitolo è quello di studiare
le caratteristiche dei dispositivi DSP e FPGA rispetto al loro consumo di
potenza, alla velocità, all’architettura e al costo.
45
Capitolo 4. Confronto prestazionale: processori DSP/FPGA
4.1
Confronto in termini di velocità e consumo
di potenza
I filtri di rumore adattativo sono stati implementati su DSP e FPGA.
Ad esenpio Motorola DSP56303 è stato utilizzato per la piattaforma DSP,
mentre le schede Xilinx Spartan III sono state utilizzate per implementare il filtraggio del rumore adattivo FPGA. Matlab e Simulink sono stati
utilizzati per testare l’efficacia e la correttezza dei filtri adattativi prima
dell’ implementazione hardware. Come discusso nei capitoli precedenti, il
concetto delle applicazioni di filtraggio del rumore adattivo può essere implementato in entrambi i processori DSP come le serie Motorola DSP56300
e anche nel Field Programmable Gate Array come schede Xilinx Spartan
III. Nelle applicazioni di elaborazione del segnale ad alte prestazioni, i dispositivi FPGA hanno diversi vantaggi rispetto ai processori DSP di fascia
alta. Un’ Indagine ha dimostrato che gli FPGA di fascia alta hanno un
enorme vantaggio in termini di throughput rispetto ai processori DSP ad
alte prestazioni per alcuni tipi di applicazioni di elaborazione del segnale.
La tecnologia FPGA utilizza architetture altamente flessibili che possono
essere più vantaggiose rispetto ai processori DSP regolari. Tuttavia, gli
FPGA hanno un costo hardware. La flessibilità si ha grazie ad un gran
numero di porte, che significa più area di silicio, più instradamento e consumo di potenza superiore. I processori DSP sono più efficienti per compiti
DSP comuni, ma tipicamente il DSP richiede solo una piccola frazione di
superficie di silicio, che è dedicato a scopi computazionali. La maggior parte dell’area è designata per i codici di istruzioni e per lo spostamento dati.
Nelle applicazioni di elaborazione del segnale ad alte prestazioni come l’elaborazione video, l’FPGA con l’uso di architetture altamente parallele può
46
Capitolo 4. Confronto prestazionale: processori DSP/FPGA
offrire un throughput molto più elevato rispetto ai processori DSP. Come
risultato il consumo energetico complessivo dell’ FPGA può essere significativamente inferiore rispetto ai processori DSP, nonostante il fatto che il
loro consumo di energia a livello di chip è spesso più elevato. I processori
DSP possono consumare 2-3 watt, mentre gli FPGA possono consumare
fino a 10 watt. La tecnica a pipeline ossia più area computazionale e con
più gates permette agli FPGA di elaborare più canali contemporaneamente. Cosı̀ il consumo di energia per canale è significativamente inferiore
nell’ FPGA. I DSP sono forme specializzate di microprocessore, mentre
gli FPGA sono forme di hardware altamente configurabile. In passato,
l’utilizzo di DSP è stato quasi onnipresente, ma con le esigenze di molte
applicazioni ,superando le capacità di elaborazione (MIPS) di DSP, l’uso
di FPGA è diventato molto diffuso.
4.1.1
Confronto in termini di velocità
La velocità è uno dei concetti più importanti che determinano il tempo
di calcolo ed inoltre è uno dei concetti più importanti del mercato. Nei
filtri adattativi i parametri vengono aggiornati ad ogni iterazione e dopo
ogni iterazione l’errore tra l’ingresso e il segnale desiderato diviene più
piccolo. Dopo un numero di iterazioni l’errore diventa zero e il segnale
desiderato è raggiunto. Secondo le specifiche dei manuali dei produttori, Motorola serie DSP56300 ha un CPU clock di 100 MHz, ma questa
velocità dipende all’instruction fetch , dalla velocità di calcolo ed anche
dalla velocità delle periferiche. Sulla scheda DSP56303EVM il codec audio funziona su 24,57 MHz, questa velocità di clock è determinato da un
cristallo esterno. Dall’altra parte Xilinx Spartan 3 ha la massima frequenza di clock di 125 MHz, ma tale velocità può essere ridotta a causa del
47
Capitolo 4. Confronto prestazionale: processori DSP/FPGA
numero di istruzione,porte e a causa della congestione nell’instradamento
dei segnali. Nel caso del processore Motorola DSP a causa della velocità di
clock effettiva bassa, condizioni di causalità e la limitazione della velocità
il tempo di esecuzione dell’algoritmo LMS modificato è 20 MHz. Nel caso
della velocità di funzionamento nella FPGA è di circa 50 MHz. Infatti è
la flessibilità dell’FPGA che rende il clock più veloce. Come discusso nelle
sezioni precedenti, abbiamo dimostrato le differenze tra i processori DSP
e FPGA.
4.1.2
Potenza e Costo
Per quanto riguarda la potenza e il costo, i processori DSP in generale
hanno un basso consumo energetico, che li rende adatti per l’utilizzo con
batteria. Tali applicazioni possono essere adatte per applicazioni audio.
Quando si tratta di applicazioni ad alta frequenza, i processori DSP hanno
alcune limitazioni da parte loro, quando vengono confrontati con le FPGA.
Nelle applicazioni ad alta velocità, gli FPGA sono molto più veloci rispetto ai processori DSP. Quando si tratta di applicazioni ad alta velocità, le
schede DSP hanno alcune limitazioni rispetto agli FPGA. Infatti l’FPGA
può offrire più canali, e quindi quando ll costo per canale viene considerato, perché FPGA può offrire più canali, il costo per canale è inferiore al
DSP. Anche il partizionamento dell’ FPGA è in grado di offrire più throughput rispetto ai processori DSP. Secondo il nostro studio, la conclusione
finale è che per semplici applicazioni audio come la rimozione del rumore
adattativo, il Motorola DSP56300 è più vantaggioso, in quanto i requisiti
per le applicazioni audio si incontrano cn quelli dei processori DSP. Inoltre
sono molto più efficinti in potenza e può essere utilizzato per i dispositivi
alimentati a batteria. Ma quando il filtraggio del rumore adattivo è consi-
48
Capitolo 4. Confronto prestazionale: processori DSP/FPGA
Figura 4.1
Figura 4.2
derato per applicazioni ad alta velocità come il video streaming, l’FPGA
offre un approccio più veloce e quindi è più adatto per applicazioni ad alta
frequenza.
49
Capitolo 4. Confronto prestazionale: processori DSP/FPGA
Figura 4.3
Figura 4.4
50
Bibliografia
[1] White-Paper: Acromag. J. A Primer on FPGA-based DSP
Applications.Trends, Options, Considerations, and Tools for
Using Re-configurable FPGA Platforms as an Alternative to
Dedicated DSP Hardware.
[2] White-Paper Altera.Architecture and Component Selection
for SDR Applications.
[3] DSPs/FPGAs Comparative Study for Power Consumption,
Noise Cancellation, and Real Time High Speed Applications.J. Michael Knieser, Maher Rizkalla.Department of
Electrical and Computer Engineering, Indiana University
Purdue University Indianapolis, Indianapolis, USA.
[4] Jenniefr Eyre.Senior DSP Analyst .Berkeley Design Technology Inc,Berkeley.pdf.
[5] Tecnologie FPGA. Fazzino ,Catania,11/06/2007.pdf.
[6] FPGA Arxhitectural Research:A Survey.Stephen Brown
.University of Toronto .pdf.
[7] http://www.elettronicanews.it/Gli Fpga nelle applicazioni
Dsp — Elettronica News(visualizzato il 29-03-2015)
[8] http://www.elettronicanews.it/L’evoluzione dei Dsp basati
su Fpga — Elettronica News (visualizzato il 29-03-2015)
[9] http://www.FPGAcenter.com/pdf/(visualizzato il 29-012015)
[10] http://http://www.eetimes.com/pdf/(visualizzato il 12-022015)
[11] http://http://http://www.ni.com/whitepaper/pdf/(visualizzato il 12-02-2015)
51
Bibliografia
[12] http://http://www.adapteva.com/pdf/(visualizzato il 1202-2015)
[13] http://www.wikipedia.org/wiki/PrimaLeggeDiMoore CAPcite note3 (visualizzato il 29-03-2015)
[14] http://www.wikipedia.org/wiki/FPGA CAPcite note-3 (visualizzato il 29-03-2015)
52