Fpga oltre la standardizzazione

LOGICHE PROGRAMMABILI –

Nel settore delle logiche programmabili stanno emergendo concetti innovativi come quello di tridimensionalità dei dispositivi Pld, di soft Fpga, o di nuove implementazioni asincrone e pipelined di descrizioni Rtl.

La storia delle logiche programmabili, dalla nascita ad oggi, ha seguito piuttosto da vicino l'andamento previsto dalla legge di Makimoto che prevede, su base empirica, un'oscillazione delle tecnologie nel mercato dei semiconduttori su base decennale tra fasi di specializzazione e standardizzazione. Il periodo corrente 2007-2017, ad esempio, dovrebbe rappresentare un'era di specializzazione, caratterizzata quindi da innovazioni di varia natura. In effetti, le tendenze più recenti di settore sembrano essere in linea con tale predizione. Da una parte, infatti, i principali vendor di Fpga, Xilinx e Altera, hanno annunciato le rispettive piattaforme di prossima generazione di tipo processor-centric per applicazioni SoC; dall'altra alcune interessanti start-up hanno iniziato a prendere piede sul mercato. Di seguito sono descritte proprio caratteristiche e peculiarità delle tecnologie e dei dispositivi realizzati da quest'ultime. In alcuni casi, come avremo modo di vedere, si tratta di concetti davvero innovativi nel settore. Si trovano, ad esempio, un'idea (si veda Tabula) di tridimensionalità dei dispositivi Pld, intendendo il tempo (e quindi la riconfigurabilità dinamica) come terza dimensione o una (presso Menta) di soft Fpga, dove il dispositivo è visto come IP core con architettura configurabile in base alle esigenze dell'utente ed integrabile in SoC di terza parte e non come componente fisico. In altri casi, invece, (si veda SiliconBlue) si tratta di tecnologie di punta adottate su architetture piuttosto tradizionali ma orientate a mercati specifici, come ad esempio quello mobile, o di nuove implementazioni asincrone e pipelined (come presso Achronix) di descrizioni Rtl. L'obiettivo in ogni caso è creare un gap tecnologico rispetto alle soluzioni standardizzate dei vendor principali, in modo da poter conquistare quote di mercato che consentano l'affermazione nel panorama globalizzato.

La tecnologia Speedster di Achronix
Achronix è una azienda fondata nel 2004, attualmente con sede in Santa Clara, e nel 2010 salita agli onori della cronaca per l'annuncio del raggiungimento di un accordo di collaborazione con Intel; quest'ultima renderà, per la prima volta nella sua storia, accessibile la propria innovativa tecnologia 3D a 22 nm per la realizzazione della prossima serie di dispositivi Speedster22i di Achronix. L'annuncio destò al momento, come è facile immaginarsi, grosso interesse tra gli analisti, anche se a tutt'oggi non sono ancora chiari i veri motivi di una tale scelta strategica da parte di Intel. Caratteristica distintiva dell'architettura dei dispositivi Fpga Speedster di Achronix (attualmente realizzati ancora nel processo Tsmc a 65 nm) è la tecnologia proprietaria, protetta da brevetto, picoPIPE. In tale tecnologia non esiste una rete di distribuzione globale del clock all'interno dell'Fpga Fabric ma esso viene codificato unitamente ai dati (l'insieme è definito in gergo data token) e trasferito tra gli elementi logici connessi tra loro secondo la programmazione definita dall'utente. In questo modo si evita che lo skew della rete di clock influisca negativamente sulla massima frequenza di funzionamento della logica interna. Non ha impatto, da questo punto di vista, neanche la complessità logica della funzione che si intende realizzare, in quanto questa viene automaticamente decomposta in data tokens computati in sequenza, senza bisogno di modifiche al control path della pipeline; ovviamente, maggiore è la complessità della funzione, maggiore sarà il numero di data tokens necessari alla sua implementazione e quindi maggiore la latenza della pipeline stessa. La tecnologia picoPIPE è intrinsecamente asincrona ma i dispositivi Speedster supportano un flusso di progetto tradizionale di tipo Rtl, in quanto la traduzione sull'architettura target è interamente trasparente all'utente. Achronix Cad Environment (ACE) è, in particolare, l'ambiente di place&route proprietario, mentre per la sintesi della descrizione Rtl sono supportati Synplify Pro di Synopsis o Precision Synthesis di Mentor Graphics e per la simulazione Modelsim di Mentor Graphics o Riviera di Aldec.
La famiglia Speedster22i include le serie: Speedster22i-HP, ottimizzata per prestazioni elevate, con frequenza di funzionamento interna fino a 1.5 GHz, ideale per applicazioni in ambito telecomunicazioni, networking, computing e imaging; Speedsteer22i-HD, caratterizzata, invece, da elevata densità, con capacità logica equivalente fino a 2.5M Lut. L'Fpga Fabric dei dispositivi Speedster22i consiste di una matrice di moduli riconfigurabili (Reconfigurable Logic Blocks), interconnessi da Swicth Boxes e composti da 8 Lut a 4 ingressi e memoria Ram da 128 bit. Sono disponibili moltiplicatori embedded e block Ram, oltre ad una serie di hard IP core per funzioni di varia natura, come: SerDes caratterizzati per trasferimenti dati fino a 28 Gbps; Mac Ethernet per applicazioni 10G/40G/100G; physical layer e controller di memoria per moduli Ddr2/Ddr3 con data path a 72 bit e capacità fino a 2133 Mbps; interfaccia PCIe Gen I, II e III; Dma Engine. I moduli SerDes, in particolare, supportano i principali protocolli di comunicazione standard, come 40G/100G Ethernet, XFI, PCI-Express, Xaui, Serial RapidIO, Infiniband, Sata / Sas e Fibre Channel ma consentono anche l'implementazione di soluzioni proprietarie e integrano funzionalità Ffe/Dfe nei moduli trasmettitore e ricevitore. Gli stessi I/O, del resto, hanno capacità di trasferimento dati elevata, fino a 1 Gbps, per consentire di sfruttare al meglio la capacità di elaborazione dati interna dei dispositivi Speedster22i. Supportano compensazione, indipendente per singolo blocco, dei parametri di lavoro per variazioni Pvt (Process, Voltage and Temperature) e risultano compatibili con i principali standard di tipo single-ended o differenziale.

L'approccio soft Fpga di Menta
Menta è una società francese fondata nel 2007 che segue un interessante approccio alternativo al mercato delle logiche programmabili, denominato soft Fpga. L'azienda ovvero non realizza componenti veri e propri ma fornisce una libreria di macro e il relativo ambiente di sviluppo per la progettazione da parte dell'utente di una Fpga Fabric, rilasciata sotto forma di IP core, indipendente dalla tecnologia costruttiva ed integrabile all'interno di un proprio SoC complesso. Macro native costituenti della Fpga fabric sono i tile, che includono blocchi logici configurabili (eCB), moduli di memoria (eMB) e circuiti aritmetici dedicati (eAB), come moltiplicatori, addizionatori o shifter. È inoltre prevista la possibilità di importare core di processori (ePB) o moduli embedded custom (eCB). eFpga Creator è quindi l'ambiente di sviluppo, dotato di interfaccia grafica, per la progettazione della eFpga. Il Library Manager permette di progettare la struttura dei diversi tile (in termino ad esempio di dimensioni delle Lut) costituenti l'architettura che si intende realizzare mentre l'Architecture Manager serve alla definizione della particolare geometria della Fpga fabric e della struttura di interconnessione e consente di importare, eventualmente, i constraints della tecnologia target. È supportato il rilascio della eFpga in formato hard macro (eFpga core-H) o come descrizione Hdl sintetizzabile (eFpga Core-S), a seconda che l'applicazione corrente richiede maggiore flessibilità o minore time-to-market. La progettazione utente finale di tipo Rtl è invece supportata dall'ambiente eFpga Programmer che include Design Compiler di Synopsis per quanto concerne la parte di front-end ed un tool di place&route basato sull'ABC dell'Università di Berkeley per quanto concerne, invece, la parte di back-end. Come detto, la soluzione è indipendente dalla tecnologia target supportando quelle Sram, Nvram od antifuse; nel caso di tecnologie riprogrammabile, sono supportate interfacce di tipo Spi o Jtag per la programmazione in circuit. Sono in ogni caso generati automaticamente dall'ambiente di sviluppo vettori di test per la validazione dei die prodotti. La tecnologia è stata qualificata su processi a 130 nm con densità di Lut per mm2 fino a 150 e su quelli a 65 nm e 40 nm con densità rispettivamente di 450 ed 800 Lut/mm2 (avendo usato Lut a 6 ingressi per l'eCB).

Fpga low-power da SiliconBlue
SiliconBlue è un'azienda fondata nel 2005, fortemente orientata al segmento dei dispositivi logici programmabili low-power per applicazioni mobile. L'azienda è stata recentemente acquisita dal gruppo Lattice, il che dovrebbe assicurarle una maggiore stabilità sul mercato nel prossimo futuro. iCE65 è la serie di dispositivi Fpga correntemente supportata. Realizzata nella tecnologia Tsmc a 65 nm, include le versioni L, ottimizzata rispetto ai consumi, e P, pensata invece con un occhio alle applicazioni di trasmissione seriale ed interfaccia verso display, pur sempre nella visione di un dispositivo a bassa dissipazione di potenza e di ridotte dimensioni. Il consumo di potenza delle Fpga iCE65 è infatti anche di soli 12 uA in modalità stand-by ma la frequenza di funzionamento interno massima può arrivare fino a 256 MHz. I dispositivi hanno capacità logica equivalente fino a 800K gate e dispongono di fino a 222 pin di I/O di cui 25 con supporto per standard di tipo differenziale, diffusamene adottati in ambito mobile, come Lvds o subLvds. L'Fpga Fabric include blocchi logici programmabili (Programmable Logic Block) costituiti ognuno da 8 Logic Cells (LC) e Ram block di capacità 4 kbit, di tipo dual-port e con supporto per accesso simultaneo in lettura e scrittura. Le celle logiche LC sono a loro volta costituite da Lut a 4 ingressi, flip-flop di tipo D e logica di riporto per la realizzazione di circuiti aritmetici. La matrice di connessione programmabile include fino a 8 linee a basso skew ed elevato fan-out per la distribuzione del clock. I dispositivi dispongono di fino 4 banchi di I/O con tensione di alimentazione indipendente e supporto per applicazioni DDR. Ideali per applicazioni miniaturizzate, le Fpga ice65 sono disponibili in package di vario tipo, che includono ad esempio modelli di tipo ball-grid a 81 pin e dimensioni di 5x5 mm o versioni tradizionali a 100 pin di tipo VQFP da 14x14 mm. Pur essendo basati su tecnologia Sram, rappresentano tuttavia una soluzione single-chip in quanto integrano on-chip la memoria non-volatile (Non Volatile Configuration Memory) per la memorizzazione della configurazione; la memoria è realizzata in una tecnologia proprietaria che non richiede modifiche ai processi Cmos standard o spazio addizionale all'interno del package. La programmazione avviene mediante interfaccia SPI. L'ambiente di sviluppo è denominato iCEcube2 ed include funzionalità tradizionali di back-end per le fasi di place&route e analisi post-layout mentre integra Synplify Pro di Synopsis per la parte di sintesi Rtl. iChip programming software è invece il software di programmazione della memoria di configurazione del dispositivo. Nel 2011 SiliconBlue ha annunciato il successore delle serie ice65, ovvero la famiglia iCE40 'Los Angeles', a 40 nm, che include i dispositivi LP per applicazioni ultra low-power nel mercato, ad esempio, degli smartphone, e HX, per quelle a più elevate prestazioni, come nel caso, invece, dei tablet. Quest'ultima, ad esempio, si caratterizza per un incremento delle prestazioni di fino all'80% rispetto ai modelli iCE65 ed della densità di logica per millimetro quadro di un fattore oltre 2, supportando così applicazioni come SerDes fino a 525 Mbps, controller host o device USB 2.0, video 3D. Accanto alle serie iCE di dispositivi tradizionali citati in precedenza, SiliconBlue offre anche l'interessante soluzione DiePlus Advantage che permette di avere i componenti in version KGC (Known Good Die) con diverse configurazioni (ad esempio con spessore del die da 4 a 31 mils e in versione cut od uncut) o in package Wlscp (Wafer Level Chip Scale) con passo fine di soli 0,4 mm, con una riduzione di fino anche al 90% del peso rispetto ai modelli tradizionali.

Le Pld 3D di Tabula
Tabula è un'azienda fondata nel 2003 da Steve Teig, fino ad allora Cto di Cadence Design Systems, con sede in Santa Clara e proprietaria di una interessante tecnologia denominata 3D per la realizzazione di dispositivi logici programmabili. L'azienda ha raggiunto nel 2011, come in precedenza Achronix, un accordo con Intel per l'accesso alle fonderie del gigante californiano per la realizzazione dei propri dispositivi. L'accordo ha fruttato in particolare all'azienda un finanziamento di 108 milioni di dollari, uno dei più alti nella storia per società che producano chip. Abax è la serie di Pld 3D di Tabula, attualmente realizzati nella tecnologia Tsmc a 40 nm e basati sull'architettura SpaceTime, la cui caratteristica fondamentale è la riconfigurabilità dinamica a frequenza elevata. Di qui il termine 3D, con la terza dimensione rappresentata, appunto, dal tempo. Il clock utente, infatti, viene moltiplicato fino alla massima frequenza di lavoro interna della Fpga che è di 1,6 GHz. All'interno di ogni sotto ciclo, definito fold, l'Fpga fabric o sezioni di essa sono quindi riconfigurate dinamicamente per implementare, in sequenza, funzionalità diverse, che possono rappresentare sia funzioni definite come parallele dal punto di vista della logica utente che costituenti elementari di una funzione più complessa appartenente, ancora una volta, al livello utente. Ne conseguono un incremento di capacità del dispositivo oltre le risorse fisicamente disponibili e di prestazioni, grazie anche alla riduzione dei path di connessione e ad un uso più efficiente della memoria on-chip. La riconfigurabilità dinamica, in questo caso, può consentire di realizzare facilmente, ad esempio, memorie multi-porte, con ogni porta accessibile in uno o più fold soltanto. Tabula dichiara, sotto questo punto di vista, un guadagno di un fattore 2.5 per quanto concerne la logica, 2.0 per la memoria e fino a 3.7 per le prestazioni in applicazioni Dsp. Sebbene l'approccio architetturale sia diverso, il flusso di progetto con i dispositivi Abax resta di tipo tradizionale. Stylus, in particolare, è l'ambiente di sviluppo che include un compilatore dedicato che gestisce automaticamente la traduzione di una descrizione Rtl in ingresso sulla tecnologia SpaceTime dei dispositivi. Supporta metodi di design entry tradizionali e software di analisi dei path critici con supporto per cross-probing tra descrizione sorgente e vista fisica del dispositivo. Include inoltre una libreria di macro predefinite per applicazioni come memorie on-chip multi-porta o SerDes per trasmissione dati, mentre funzionalità più complesse sono disponibili da provider di terza parte; tra queste vi sono, ad esempio, IP core per controller di memoria Ddr2/Ddr3, interfacce PCIe, Ethernet 1G /10 G, sRIO e Cpri o Cpu V1 ColdFire. Stylus viene rilasciato in cloud computing, con connessione client ovviamente criptata per assicurare sicurezza e protezioni dei dati utente, accesso 24/7 al server, supporto tecnico on-site in tempo reale e accesso costante all'ultima release del software. I dispositivi Abax dispongono di : fino 390k Lut a 4 ingressi e 5.5 Mbyte di memoria Ram embedded (con relativo controller built-in per Ecc o Fifo); 1280 blocchi Dsp con Mac di tipo 18x18; 48 SerDes operanti tra 55 Mbps e 6.5 Gbps con circuiti Pcs e Pma programmabili per supporto di applicazioni di networking, comunicazione e video e possibilità di bonding di fino a 24 canali; 44 Pll per la distribuzione di clock regionali e globali. Sono disponibili in package flip-chip a 1936 e 1156 pin.

Pubblica i tuoi commenti