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