lunedì 29 giugno 2015

Novità dal settore delle FPGA

E' passato qualche mese dall'ultimo post, il tempo purtroppo è sempre tiranno ma spero di poter scrivere con maggiore frequenza nelle prossime settimane.

Intel ha annunciato l'acquisizione di Altera il primo di Giugno e come coincidenza i prezzi delle FPGA stanno rapidamente calando nelle ultime settimane come è possibile notare dai prezzi delle nuove schede di sviluppo BeMicro CV A9 (149$) e Nexys Video di Digilent (499$, Academic 299).


BeMicro CV A9
Nexys Video

La peculiarità di queste schede di sviluppo è la FPGA particolarmente capiente di cui sono dotate, per la precisione montano entrambe il modello più grande delle serie low-cost di Altera e Xilinx rispettivamente e dispongono di strumenti di sviluppo gratuiti (Quartus di Altera a partire dalla versione 15.0 e Vivado di Xilinx).

Senza analizzare nel dettaglio le caratteristiche di entrambe le schede (memorie, connettori di I/O, etc..) reperibili comunque sui siti dei prodotti, vediamo meglio le caratteristiche delle FPGA.

Cyclone V


La BeMicro CV A9 monta il chip Cyclone V E (Enhanced logic/memory) di casa Altera, la serie Cyclone V è la prima di Altera ad integrare un processore ARM assieme alla logica programmabile, nella variante offerta però non è presente l'ARM il che si traduce però in costi minori e minore potenza statica dissipata. E' comunque possibile istanziare soft-core Nios II che seppur meno performanti possono risultare più semplici per personalizzazioni.

Il codice della FPGA è 5CEFA9F23C8N, sotto è invece mostrato un riepilogo delle risorse offerte


Lo speed-grade 8 purtroppo è il più lento il che limita la frequenza massima raggiungibile rispetto alla versione più veloce con speed-grade 6.

Per avere un'idea delle differenze prestazionali tra i vari speed-grade sono sotto riportate per comodità alcune tabelle tratte dal datasheet


Le prestazioni ottenibili dipendono naturalmente dal proprio design e le tabelle indicano le prestazioni massime per i vari blocchi.

La grande disponibilità di elementi logici (LE), di moltiplicatori e di tutte le altre risorse "compensa" però molto bene in molte applicazioni lo speed-grade più lento.

In realtà i LE sono stati sostituiti dagli ALM (Adaptive Logic Module), utilizzati in precedenza dai dispositivi di fascia più alta.

Riassumendo molto rapidamente la nuova struttura per i Cyclone V prevede un ingresso ad 8 ingressi frazionabile, due addizionatori completi per la modalità aritmetica e quattro registri dedicati.

I LE vengono però riportati solo per un rapido confronto con i modelli precedenti ed all'incirca 1 ALM ~= 2.6 LE anche se è bene provare a compilare il proprio design per vedere l'effettivo utilizzo di ALM.

E' bene ricordare però che con maggiori elementi logici aumenta (o ALM) il consumo statico di potenza rispetto a device "più piccoli".

Stando a Quartus per il device montato nella scheda di sviluppo in oggetto abbiamo una Core Static Thermal Power Dissipation di circa 521 mW in condizioni tipiche e di circa 706 mW nelle condizioni peggiori.

NB: Con la serie Cyclone V è importante stimare il consumo di potenza tramite le caratteristiche di potenza massime, ovvero nel peggior caso possibile in quanto essendo ottimizzata per il basso costo per raggiungere la massima resa produttiva possibile la "finestra passante" è stata espansa per la massima potenza statica. Il processo produttivo 28nm LP (Low Power) sta migliorando e col tempo le prestazioni miglioreranno avvicinandosi maggiormente ai consumi tipici, è sempre meglio però stare sul lato sicuro. Fonte: alteraforum

Nei Settings del progetto in Quartus è consigliato impostare a Maximum il valore di Device power characteristics.




L'aggiunta di un dissipatore può essere un buon investimento per prototipare con maggiore tranquillità senza preoccuparsi troppo dei consumi di potenza in piccoli design, al crescere della frequenza e delle risorse utilizzate è necessario eseguire un'analisi più completa tramite PowerPlay Power Analyzer impostando correttamente il tasso di variazione dei segnali (toggle rate).

Per la scelta del dissipatore ricordo che il package della FPGA montata ha dimensioni di 23x23mm.

E' da tenere presente però che la scheda non offre un connettore dedicato per poter collegare una eventuale ventola.

Tutto sommato per molte applicazioni la scheda fornisce un punto di accesso rapido ed economico alla sperimentazione con logiche programmabili di buona capacità.

Per finire la possibilità di impostare la tensione di I/O tramite jumper a 3.3v o 2.5v permette di sfruttare lo standard LVDS per creare sistemi di calcolo basati su array di questa schede comunicanti tra loro ad alta velocità.

Non sono purtroppo disponibili esempi sul sito del produttore per la programmazione della scheda, informazioni aggiuntive posso essere reperite presso Altera Wiki.

Artix-7


La Nexys Video è invece una scheda di sviluppo per le FPGA Artix-7 di Xilinx, il modello XC7A200T-1SBG484C montato è il più generoso della serie.

Come si può evincere dal nome è pensata per l’ambito videoludico

Sotto è riportata la tabella delle principali risorse che offre:




E' da ricordare però che non è possibile un confronto diretto tra Celle Logiche Xilinx utilizzate ed Elementi Logici di Altera a causa dello loro differente strutturali.

Una peculiarità rispetto ad Altera è la presenza di un’interfaccia analogica XADC inclusivo di ADC doppio a 12 bit e 1 MSPS ed un sensore di temperatura interno con una precisione di +/- 4°C nelle condizioni operative più comuni, sempre più utile visto l’elevato calore che i dispositivi più grossi possono generare.

Rispetto al modello di FPGA analizzato precedentemente abbiamo inclusi 16 GTP (Low-Power Gigabit Transceivers) fino a 3.75 Gbps, disponibili solamente con le varianti GX della serie Cyclone V.

A presto.

NB: I prezzi delle schede di sviluppo sono da intendersi senza IVA, trasporto ne spese doganali.