0X_0X_A_NI 15-04-2009 17:25 Pagina 45 APPROFONDIMENTI National Instruments e l’embedded Con il moduloLabVIEW FPGA e i suoi dispositivi hardware RIO, l’azienda specializzata in strumenti di testing e misura ha iniziato a creare una piattaforma di sviluppo adatta anche all’embedded e alla programmazione FPGA di Gianluca Pizzocolo, IPSES S.r.l. a anni National Instruments Ad esempio, la possibilità di limite e di rendere LabVIEW adat- è uno dei leader mondiali visualizzare graficamente un DAC to anche per sistemi embedded D Figura 1 Compact RIO nella fornitura di piattafor- come un quadratino su uno con FPGA: con il modulo LabVIEW me software e moduli hardware schermo in cui poter scrivere dei FPGA e i suoi dispositivi hardware basso livello di tutti i singoli per il testing e la misurazione numeri e un ADC come un altro RIO (Reconfigurable I/O) (Figura 1) moduli, in modo da avere deter- industriale. Le ragioni di questo quadratino da cui leggere dei ha, infatti, iniziato a creare una ministicamente sotto controllo successo sono sicuramente la numeri, rende sicuramente più piattaforma di sviluppo adatta ogni componente e algoritmo del semplicità di programmazione e immediata e semplice la pro- anche all’embedded e alla pro- sistema. di utilizzo e la forte integrazione grammazione. grammazione FPGA. tra il loro software e il loro hard- Tale livello di astrazione è sempre ware. Ciò consente lo sviluppo di stato ragionevole se utilizzato Grazie all’integrazione della tec- applicazioni anche complesse in per sviluppare programmi per PC nologia Xilinx, LabVIEW facilita e raggiunto dai sistemi embedded, tempi brevi, certo non possibili se interfacciati a hardware National: riduce il tempo di sviluppo per permette senza dubbio di ottimiz- Questo approccio, nonostante l’elevato grado di complessità ormai si ricorresse a uno sviluppo infatti il loro hardware è già otti- numerose applicazioni stand- zare le prestazioni e di assicurare embedded puro. mizzato e sviluppato per essere alone, aprendo così le porte a una l’assoluto controllo dell’intero Tra le piattaforme sviluppate, gestito nel migliore modo possi- tecnologia che per molti risultava sistema, ma, al contempo, fa sì LabVIEW ha sempre avuto un bile con semplici VI preconfezio- essere ancora inaccessibile per che lo sviluppo richieda tempi livello di astrazione elevato e nati, ma sino a pochi anni fa era gli elevati costi di apprendimento lunghi e notevole esperienza spe- certamente anche per questo ovviamente impensabile applica- e di sviluppo. cifica. motivo è sempre stato apprezza- re tale logica a un sistema to dagli integratori e dagli svi- embedded che non fosse basato Se si considera infatti l’utilizzo Mentre è ormai assodato che il luppatori che avevano più dime- su un PC. classico di FPGA, quasi sempre i linguaggio più adatto per la pro- stichezza con il software che con Da ormai un paio d’anni National progettisti embedded si occupa- grammazione dei microcontrollo- l’hardware. ha pensato di superare questo no direttamente della gestione a ri è il C, efficacemente e facilmen- DESIGN-IN • 3/2009 45 0X_0X_A_NI 15-04-2009 17:25 Pagina 46 APPROFONDIMENTI VHDL e LabVIEW FPGA: caratteristiche generali a confronto Astrazione Ottimizzazione Prestazioni ottenibili Tempo di sviluppo e debug avuto modo di realizzare diverse bili le specifiche di interfaccia dei applicazioni con questa piattafor- moduli con l’FPGA, permettendo VHDL LABVIEW FPGA ma e le sue prestazioni si sono quindi anche a terzi parti di svi- Bassa Media/Alta Elevate Elevato Elevata Media/Bassa Medie Medio dimostrate efficaci e, soprattutto, luppare moduli propri, aumentan- ha permesso una notevole ridu- do così i moduli a catalogo, e che, zione dei tempi di sviluppo. molto spesso, non è necessario ottimizzare nel migliore modo Tabella 1 Caratteristiche Hardware con FPGA di National Instruments COMPACRIO Famiglia FPGA Prezzo Accesso diretto ai pin dell’FPGA Real Time OS Spartan-3 o Virtex-5 $900÷2.900 No Sì FLEXRIO DAQ SERIE R Virtex-5 Virtex-II o Virtex-5 $3.000÷7.000 $1.400÷3.800 Sì No No No Tabella 2 Ovviamente, non è detto che possibile l’FPGA, dato che comun- LabVIEW FPGA sia sempre la solu- que da un’FPGA con prestazioni zione migliore per qualsiasi pro- molto elevate si riescono a otte- getto con FPGA: vi sono, infatti, nere facilmente delle funzionalità alcune forti limitazioni tra cui, la soddisfacenti con uno sforzo più importante, è l’essere applica- minimo, la soluzione offerta da bile solamente ai moduli hardwa- National può risultare molto inte- re forniti da National, quindi ressante e pratica sia in termini di LabVIEW non è certamente la costi, sia di semplicità di sviluppo. soluzione nel caso in cui si pro- Per chi volesse provare le poten- getti da zero una scheda con zialità di questo nuovo ambiente un’FPGA e si voglia programmare di sviluppo, è disponibile il pac- solo quella. chetto “Embedded Software te utilizzato anche nei microcon- oltre a dover considerare i pro- trollori di fascia più alta mante- blemi di skew e corse critiche che nendo sempre un ottimo compro- sono praticamente inesistenti nei Inoltre, si deve tenere sempre in messo tra astrazione e “fisicità” microcontrollori. considerazione che questo lin- I/O e dal software di valutazione guaggio non consente di sfrutta- (LabVIEW, LabVIEW FPGA e del dispositivo che si sta pro- Evaluation Kit”, costituito da una Single-Board RIO con un modulo grammando, non si può trovare Oggi, soprattutto grazie al note- re al massimo le prestazioni e le LabVIEW real-time) della durata di un dualismo simile tra un linguag- vole incremento delle dimensioni potenzialità offerte dalle FPGA. In 90 o 180 giorni. gio di programmazione e le FPGA: e delle prestazioni delle FPGA e al Tabella 1 sono state messe a con- i linguaggi più utilizzati e diffusi loro sempre minor costo, diventa fronto le caratteristiche generali In questo modo qualsiasi svilup- in questo caso sono oggi il VHDL e interessante valutare la possibili- del VHDL e di LabVIEW FPGA: si patore può facilmente capire le il Verilog, mentre il system-C non tà di incrementarne il livello di sono considerati il livello di astra- potenzialità offerte dall’accoppia- è ancora un linguaggio ottimale astrazione a lieve scapito dell’ot- zione, l’ottimizzazione, le presta- ta FPGA-LabVIEW, senza incorrere per essere usato con questa tec- timizzazione, ma a notevole van- zioni ottenibili e i tempi di svilup- nelle tipiche problematiche in cui nologia. taggio della facilità e velocità po necessari. tutti i neofiti del VHDL si imbatto- d’uso e di sviluppo, questo non no (gestione del clock all’interno Tuttavia, la programmazione in solo per utenti “inesperti”, ma Anche se, come evidenziato, dell’FPGA, corse critiche, gestione VHDL e Verilog non è semplice e anche per quelli che hanno dime- LabVIEW FPGA ha certamente corretta delle macchine a stati spesso nasconde insidie e proble- stichezza con i linguaggi di pro- alcuni forti svantaggi rispetto al ecc.): tutta la parte più ostica matiche apparentemente insupe- grammazione hardware. VHDL puro, se si considera che della programmazione FPGA National ha già in catalogo nume- viene, infatti, mascherata e gesti- rabili per l’utente inesperto che prova a utilizzarli, anche se parte La piattaforma LabVIEW FPGA, rosi moduli di I/O (a parte i comu- ta dal compilatore LabVIEW che, da un solido background di pro- finalmente debuggata e ottimiz- ni moduli di acquisizione e gene- nascostamente, chiama il compi- grammazione di microcontrollori: zata con l’uscita lo scorso giugno razione sia digitali, sia analogici, latore Xilinx. la causa è principalmente dovuta della nuova versione 8.6, rispon- sono infatti disponibili moduli con Un altro vantaggio non trascura- al fatto che per programmare in de ora a questa esigenza, renden- interfacce RS232, RS485, CAN, LIN, bile offerto da LabVIEW FPGA è la FPGA bisogna ragionare in termi- do l’uso delle FPGA più immediato Profibus, GSM, Wireless LAN, possibilità di provare i vari modu- ni spaziali e non più temporali, e rapido. In questi mesi abbiamo ZigBee ecc.), che ha reso disponi- li sviluppati per FPGA su un PC, 46 DESIGN-IN • 3/2009 0X_0X_A_NI 15-04-2009 17:25 Pagina 47 APPROFONDIMENTI come si prova qualsiasi altro nor- fascia alta (la Virtex-5 della Xilinx) sia per coloro che, non avendo la male VI di LabVIEW (e chi pro- che però porta ad avere un costo pluriennale esperienza necessa- gramma in VHDL sa bene che le superiore rispetto agli NI-RIO con ria con il VHDL, vogliano comun- simulazioni con Modelsim o le FPGA e sistema real-time. que programmare hardware NI prove con Chipscope richiedono che integri FPGA, sia per gli uten- tempi e risorse tutt’altro che tra- Nel caso in cui si vogliano svilup- ti esperti che vogliano ridurre i scurabili): tale procedura è anco- pare sistemi più semplici che non tempi (e dunque i costi) di pro- ra un po’ complicata, ma è proba- richiedano né un real-time né una grammazione, bile che sarà migliorata con le Virtex-5, National diventa meno comunque alle prestazioni che successive release. competitiva a meno che non si avrebbero voglia (e si possa) integrare tutto embedded progettato partendo Va doverosamente ribadito che, in in una scheda di acquisizione DAQ da una normale FPGA Xilinx. ogni caso, occorre sempre obbli- della serie R dotata di Virtex-II: gatoriamente usare l’hardware tali schede possono avere sia Mentre, nel caso in cui si vogliano RIO di National: è infatti questo interfaccia PCI, sia interfaccia PXI sviluppare applicazioni semplici l’unico modo per programmare e, oltre a permettere la genera- basati su FPGA oppure applicazio- FPGA con LabVIEW ed eventuale zione e l’acquisizione di segnali ni molto performanti e con veloci- hardware aggiuntivo sviluppato come per le altre schede DAQ, tà elevate, la piattaforma di ad-hoc potrà sì essere connesso, integrano una FPGA programma- National non è la risposta più ma non potrà mai sostituire il bile dall’utente su cui si possono adatta poiché nel primo caso “core” costituito dal RIO. implementare semplici algoritmi sarebbe difficile giustificarne il di elaborazione. costo, mentre nel secondo non con avvicinandosi un sistema sarebbe possibile sfruttare piena- Probabilmente è questo il limite più grande e difficilmente supera- In Tabella 2 si sono evidenziate le mente e con un controllo suffi- bile sia sotto l’aspetto tecnico, sia diverse caratteristiche dell’hard- ciente sotto l’aspetto commerciale che ware NI con FPGA, inclusa la dell’FPGA. rende dunque questo linguaggio fascia di prezzo che, come si un sistema di sviluppo proprieta- vede, per uno stesso sistema può rio abbastanza chiuso. variare anche parecchio a secon- ogni blocco logico da del tipo di FPGA montata e Un’altra forte limitazione è data della massima frequenza operati- dal fatto che le schede e i sistemi va ottenibile. RIO che utilizzano FPGA di fascia Ultima nota positiva su LabVIEW media (le Spartan-3 della Xilinx) FPGA è la possibilità di poter inse- sono sempre integrati in un siste- rire anche del proprio codice ma dotato di un processore real- VHDL all’interno di un VI: è quindi time: ciò, ovviamente, fa aumen- possibile implementare eventuali tare sia il costo dell’hardware, sia algoritmi critici definiti dall’uten- dell’ambiente di sviluppo che, te in maniera molto diretta senza oltre a LabVIEW FPGA, richiederà la necessità di passare dal compi- anche LabVIEW real-time. latore di National, ma definendo già del codice VHDL da inviare al Per trovare sistemi solo con FPGA compilatore Xilinx insieme al occorre passare agli NI-FlexRIO, codice LabVIEW convertito. che non hanno il processore real- In conclusione, LabVIEW-FPGA è la time, ma che montano un’FPGA di certamente una buona soluzione DESIGN-IN • 3/2009 47