All’inizio di questa panoramica si proveranno a confrontare tre semplici schede di sviluppo FPGA reperibili sul mercato e destinate ai principianti o ai progettisti con una limitata esperienza in questo settore. Per chi inizia a programmare i dispositivi FPGA, in rete sono disponibili numerosi tutorial per l’apprendimento delle nozioni base sulle tecniche di programmazione.
Fig. 1 – Go Board di Nandland è stata espressamente creata per facilitare l’uso degli FPGA
Tre schede per cominciare
Nandland GO Board
La più economica è la Go Board di Nandland, un’iniziativa di Russell Merrick espressamente creata per facilitare l’uso degli FPGA (Fig. 1). La Go Board dispone di numerose periferiche che consentono di realizzare diversi progetti, oltre a quattro LED e altrettanti pulsanti a rilascio, due display a sette segmenti, un connettore VGA, un connettore esterno e un clock a 25 MHz. Basata su un dispositivo Lattice ICE40 HK1K FPGA, la scheda non richiede un alimentatore esterno, grazie alla presenza di una connessione USB che può essere utilizzata anche per la programmazione e per la comunicazione. Per effettuare il boot dell’FPGA target la Go Board ha a bordo 1 Mb di Flash.
Un punto a favore di questa scheda è la disponibilità di una serie di tutorial e di esempi di progetti già realizzati in VHDL o in Verilog, fra cui un timer azionato a pulsante, un contatore avanti/indietro, un UART per la comunicazione della tastiera di un computer, un videogioco (PONG), un sensore di temperatura I2C, un controllore del mouse, una sirena della polizia e molti altri.
L’utente che inizia a lavorare sulla Go Board viene indirizzato direttamente al software ICEcube2, fornito gratuitamente da Lattice Semiconductor. Vengono in tal modo eliminate molte delle complicazioni che incontra spesso chi è alle prime armi nella programmazione FPGA. A ciò si deve aggiungere che le funzionalità di playground di cui è dotata la scheda consentono al programmatore di iniziare subito a scrivere il codice applicativo in VHDL o in Verilog e di vedere il proprio progetto all’opera, senza dover ricorrere a un programmatore separato.
Embedded Micro Mojo Board
Questa scheda (Fig. 2) è stata lanciata con una massiccia campagna promozionale, che le ha consentito di raggiungere una forte penetrazione in poco tempo. Basata su un FPGA Xilinx Spartan-6, si collega al mondo esterno mediante una serie di ben 84 linee di I/O e richiede un alimentatore separato e un collegamento USB che la interfaccia a un microcontrollore Atmel ATmega32U4. La scheda dispone anche di otto ingressi analogici. C’è peraltro un inconveniente: la serie Spartan-6 FPGA richiede la ISE Design Suite, che Xilinx ha sostituito nell’ottobre 2013 con la più potente Vivado Design Suite.
Papilio Duo
Basata, come la precedente, su un FPGA Xilinx Spartan-6, questa scheda (Fig. 3) dispone di 54 linee di I/O e 2 MB di SRAM. È anch’essa interfacciata a un microcontrollore Atmel ATmega32U4 e vanta una notevole supporto, essendo fra i prodotti di questa fascia quello che è da più tempo disponibile sul mercato, oltre alla possibilità di interfacciare un gran numero di periferiche. È anche la più costosa di questa minirassegna, anche se si parla sempre di costi molto relativi (mai superiori ai 100 dollari).
La rassegna prosegue con alcune proposte dei maggiori produttori di PFGA.
Kit di sviluppo FPGA di Psg (Altera)
Cyclone IV GX FPGA
La scheda di sviluppo Cyclone IV GX FPGA è una piattaforma di progettazione completa, che comprende l’hardware e il software necessari per lo sviluppo dei progetti basati sugli FPGA GX Cyclone IV di Altera. (ora Psg, Programmable
Solutions Group, Intel business unit). Consente la progettazione integrata mediante il processore Nios II e la memoria SSRAM e dispone di connettori con scheda intermedia ad alta velocità (HSMC) per interfacciare più di trenta diversi HSMC.
Supporta diversi protocolli: RapidIO seriale, 10 Gbit Ethernet, SONET, CPRI (Common Public Radio Interface), OBSAI (Open Base Station Architecture Initiative) e altri.
Con questo kit è possibile testare la qualità del segnale degli ingressi/uscite del ricetrasmettitore FPGA fino a 3,125 Gbps.
Il prodotto viene fornito con cavo USB, cavo Ethernet, scheda loopback HSMC, scheda ripartitore di debug HSMC, software Quartus II, libreria IP MegaCore e NIOS II Embedded Design Suite.
Stratix V GX FPGA
È un ambiente di progettazione completo, che comprende l’hardware e il software necessari per lo sviluppo di progetti basati sugli FPGA Stratix V GX.
Oltre alla possibilità di verificare la qualità del segnale degli I/O del ricetrasmettitore FPGA a 10 Gbps+, questo sistema consente di sviluppare e provare i progetti PCIe (PCI Express) 3.0, sviluppare e testare sottosistemi di memoria costituiti da SyncFlash, DDR3 e QDRII, sviluppare e testare SDI con ricetrasmettitori 3G SDI integrati da 75Ω, sviluppare progetti embedded che utilizzano il processore NIOS II e memoria esterna.
È possibile inoltre sviluppare e testare progetti di rete che utilizzano Triple Speed Ethernet MegaCore e jack esterno RJ-45, progetti di reti ottiche utilizzando MAC MegaCore con Ethernet da 10G – 40G e interfaccia ottica QSFP, misurare il consumo energetico dell’FPGA e controllare dodici diversi oscillatori di clock programmabili tramite il controllo di clock GUI.
Kit di sviluppo 100G edizione Stratix V GX
Con questo kit è possibile supportare interfacce di linea 10G/40G e 100G mediante moduli ottici e applicazioni che richiedono interfacce di memoria esterna mediante banchi di memoria DDR-3 da 6 x 32 bit e QDRII BL2 da 1 x 18 bit. Esso consente inoltre di utilizzare le interfacce di sistema tramite due coppie di connettori FCI AirMax, di completare l’analisi del percorso dati (con connettore AirMax) e di linea (con moduli ottici), di valutare le prestazioni del ricetrasmettitore fino a 12,5 Gbps, di verificare la conformità del collegamento del supporto fisico (PMA) ai principali standard, come 10G/40G/100G, Interlaken, CEI-6G/11G, oltre a convalidare l’interoperabilità fra i moduli ottici come SFP, SFP+, QSFP e CFP.
Kit di sviluppo per l’integrità del segnale
Per lo sviluppo di progetti con gli FPGA Stratix V GX e GT sono disponibili anche i kit per l’integrità del segnale del ricetrasmettitore, che consentono di valutarne le prestazioni da 600 Mbps fino a 12,5 Gbps; generare e controllare i modelli di PRBS (sequenza binaria pseudo-casuale); modificare dinamicamente la VOD (tensione d’uscita differenziale) pre-enfasi e le impostazioni di equalizzazione per ottimizzare le prestazioni del ricetrasmettitore per il canale o, rispettivamente, per i canali GT; eseguire l’analisi del jitter e verificare la conformità del collegamento del supporto (PMA) agli standard principali, come PCIe (PCI Express), GbE (Gpbs Ethernet), XAUI, CEI-6G, Serial RapidIO, interfaccia seriale ad alta definizione (HD-SDI) e altri.
Kit di sviluppo FPGA Xilinx
Evaluation kit Kintex
L’evaluation kit Kintex UltraScale FPGA KCU105 di Xilinx (Fig. 5) è un ambiente di sviluppo per questa famiglia di FPGA di classe ASIC ed è ottimizzato per le applicazioni di prototipazione rapida. Dispone di funzionalità avanzate, come:
- memoria DDR4 a 64 bit;
- due cage SFP+ per Ethernet;
- PCIe Gen3 x8;
- due interfacce FMC (FPGA Mezzanine Card) per l’espansione delle linee di I/O.
Oltre all’evaluation board KCU105 basata sull’FPGA Kintex UltraScale XKCU040-2FFVA1156E e alle parti ora menzionate, il kit comprende un cavo per fibra ottica, la KCU105 Quick Start Guide e l’accesso a queste risorse:
- suite di progettazione Vivado (Design Edition);
- reference design target per Ethernet, PCIe e altri standard;
- esempi di progetto per il collaudo delle principali interfacce presenti sulla scheda.
Evaluation kit Virtex VCU108
L’evaluation kit Virtex UltraScale FPGA VCU108 di Xilinx è un ambiente di sviluppo per i sistemi di alte prestazioni ed elevato livello di integrazione basati sulla famiglia Virtex UltraScale. È una piattaforma ideale per la realizzazione di prototipi di sistemi che richiedono un data flow massivo e l’elaborazione a pacchetti, come i sistemi 400+ Gbps, l’emulazione su vasta scala e l’elaborazione ad alte prestazioni.
Il kit comprende:
- un’interfaccia di memoria per 4 MB di componenti RLD3;
- due interfacce di memoria per 2,5 GB di componenti DDR4:
- quattro interfacce ottiche per CPF2 e QSFP28 a 28 Gbps;
- PCIe Gen3 x8;
- due interfacce FMC (FPGA Mezzanine Card) per l’espansione delle linee di I/O.
L’evaluation board VCU108 contiene un FPGA Virtex UltraScale XCVU095-2FFVA2104E.
Sono compresi nel kit anche gli adattatori e i cavi SMA e l’accesso:
- alla suite di progettazione Vivado (Design Edition)
- agli esempi di progetto per il collaudo delle principali interfacce presenti sulla scheda.