Il futuro nella programmabilità

La logica programmabile, fino a dieci anni fa era vista come la soluzione alternativa al problema di implementazione di sistemi più o meno complessi in assenza di componenti integrati adeguati allo scopo. In questi dieci anni di sviluppo, la logica programmabile si è dimostrata, nel susseguirsi di successi e fallimenti, la più promettente delle tecnologie di progettazione dei sistemi embedded. L'integrazione delle Cpu con la logica programmabile e il sempre più semplice ed efficace modello di sviluppo proposto dalle Fpga di ultima generazione, hanno portato a una generazione di dispositivi a logica programmabile che sposa perfettamente il trend tecnologico che sta caratterizzando il mondo dei microcontrollori in termini system-on-chip. Le logiche programmabili si sono molto evolute negli ultimi anni sia in termini di densità di integrazione, sia in termini di complessità funzionale, raggiungendo le caratteristiche dei system-on-chip. Lo scopo della logica programmabile è sempre stato quello di raggruppare in un solo dispositivo la maggior parte della funzionalità logica discreta che caratterizza un sistema. Ora però il concetto di logica programmabile è andato ben oltre questo obiettivo, e, pur integrando funzionalità di logica discreta, le logiche programmabili ora integrano funzionalità di ogni genere, anche di natura analogica e a segnali misti. La competizione rispetto ai system-on-chip di natura microcontrollore è ormai evidente, e sempre più a favore della logica programmabile, per l'ovvio vantaggio legato alla completa libertà di sviluppo dell'architettura di sistema. Anche se l'obiettivo per tutti i produttori è quello di offrire dispositivi molto versatili per lo sviluppatore, di fatto ognuno di questi ha messo in campo una sua propria strategia di prodotto logico programmabile, andando così a soddisfare in maniera ottimale specifiche aree applicative, invece che indirizzare (cosa ancora molto ardua), tutto il settore dello sviluppo dei sistemi microelettronici.

Integrazione e flessibilità
Le logiche programmabili permettono di realizzare applicazioni che risultano estremamente originali nella funzionalità e nella struttura di sistema in quanto non derivate dalla programmazione o dall'assemblaggio di componenti standard, cui ricorrono correntemente anche altri concorrenti nella medesima area applicativa. Trasferendo nella logica programmabile la maggior parte della proprietà intellettuale, i produttori di applicazioni, soprattutto di natura embedded, riescono a caratterizzarsi rispetto ai concorrenti valorizzando il proprio patrimonio di conoscenze, piuttosto che l'abilità di sviluppare sistemi basati su componenti standard, soprattutto se microcontrollori e microprocessori. Due sono le grandi categorie di logiche programmabili che caratterizzano ormai lo scenario tecnologico della microelettronica, le Fpga (Field Programmable Logic Array) e le Pal/Pld (Programmable Array Logic/Programmable Logic Devices). Oltre a questi, una nuova categoria di logica programmabile si sta affermando, in accordo con la tendenza all'integrazione di sistema su singolo chip, cioè i SoC-Fpga. La logica programmabile è ormai un settore dei semiconduttori a rapidissima crescita, soprattutto per due fattori fondamentali. Il primo fattore è la densità di integrazione che ha ormai ha superato quella soglia tale per cui il dispositivo a logica programmabile era solo un utile soluzione per la realizzazione di componenti non disponibili in versione integrata. Il secondo fattore riguarda invece la flessibilità di progettazione unita alla rapidità di prototipazione, opportunità queste che solo fino a qualche anno fa era ben lontano da quanto offerto a livello di componentistica standard, in particolare i microcontrollori. La logica programmabile è dunque un terreno tecnologico molto promettente su cui numerosi player si stanno confrontando da tempo, con differenti approcci e storie diverse, con il tentativo da parte di ognuno di questi di invadere, con idee innovative, il campo di altri competitor, già leader da anni di specifici settori.

Fpga vs SoC
I produttori di dispositivi Fpga, pur operando su un segmento di logica programmabile comune, di fatto propongono offerte tecnologiche molto caratterizzanti. La strategia comune a tutti i produttori di logica programmabile à quella dell'elevata integrazione, non solo a livello microelettronico, ma anche a livello di sistema. Quando la tecnologia Fpga ha cominciato a dimostrare di essere un'opzione importante per lo sviluppo dei sistemi embedded (intorno al 2000), la geometria d'integrazione era dell'ordine dei 130 nanometri, mentre per le Cpu era dell'ordine dei 90 nanometri. Le Cpu erano molto più avanti in termini di densità di integrazione e cominciavano a evidenziare una tendenza al system-on-chip. Oggi la tecnologia di integrazione della logica programmabile Fpga ha raggiunto i 28 nanometri, superando in tal modo le stesse Cpu, tranne quelle application-specific. Con tale geometria di integrazione, la logica programmabile ha cominciato ad orientarsi al system-on-chip, aprendo in tal modo prospettive interessantissime per gli sviluppatori.

Intelligenza e mixed-signal
Actel-Microsemi è ben nota per la sua offerta di tecnologia Fpga antifuse, una tecnologia che ha permesso di ottenere Fpga a basso consumo e allo stesso tempo veloci. Ora la caratterizzazione dell'offerta Fpga è intelligenza e mixed-signal, cioè integrazione di una potente architettura di computing come Arm Cortex-M3 e di tecnologia analogica programmabile. Si tratta di SmartFusion, la Fpga intelligente mixed-signal, che consente un elevato livello di customing, di protezione della proprietà intellettuale e di facilità d'uso legata al processo flash. È un approccio di natura system-on-chip alla Fpga che, senza dubbio, diventa competitivo con quello tipicamente offerto dai microcontrollori standard. SmartFusion è una piattaforma Fpga che offre allo sviluppatore delle grosse potenzialità. Queste potenzialità diventano ulteriormente più significative quando, oltre alla tecnologia Fpga sono disponibili firmware importanti come quelli open source royalty free U-Boot e uClinux, recentemente annunciati per la piattaforma SmartFusion. Particolarmente interessante è la parte di analogica integrata in questa Fpga. Si tratta di analogica programmabile come Adc (8-/10-/12-bit Sar), Dac (12-bit sigma-delta), Scb (Signal conditioning blocks), comparatori, monitor di corrente, monitor di temperatura, monitor di alte tensioni bipolari. La quantità di porte integrate (fino a 500.000 nel A2F500) è considerevole, considerando la quantità di altri dispositivi ad elevata complessità disponibili sullo stesso chip, oltre alla Ram on-chip (24 blocchi da 4608 bit).

L'embedded initiative
Altera ha recentemente lanciato la cosiddetta “Embedded Initiative” intesa a creare un'architettura multi-Cpu che fa convergere sulla stessa piattaforma sia la tecnologia Fpga, sia quella SoC. La metodologia della progettazione Fpga è in questo caso il mezzo per pervenire a soluzioni con caratteristiche system-on-chip, sia utilizzando Cpu soft, sia utilizzando IP. Cpu come Arm (hard), Mips (soft), Nios (soft), particolarmente importanti per lo sviluppo di sistemi embedded, sono messe a disposizione da Altera, mentre altre Cpu vengono rese disponibili da altri produttori, per esempio il Configurable Processor Atom E6X5C viene reso disponibile da parte di Intel. Questo di Altera è un approccio particolarmente significativo in quanto, in prospettiva, porta a legare la filosofia della logica programmabile a quella delle Cpu che sono diventate un punto di riferimento fondamentale per lo sviluppo di sistemi embedded. Un componente chiave di questo approccio allo sviluppo di applicazioni basato sulla tecnologia Fpga affiancata all'offerta multivendor di Cpu, è il software Quartus II per la programmazione della logica Fpga. In particolare, questo software di sviluppo include lo strumento Qsys per l'integrazione di sistema, che supporta la tecnologia di seconda generazione switch fabric di Altera per accelerare la gestione delle soft IP (sviluppo, riuso, integrazione, ecc.). Le Fpga di Altera utilizzano la tecnologia di integrazione a 28 nanometri, ottenendo in tal modo elevate densità di integrazione (Stratix V), riduzione dei costi per gli elevati volumi (Cyclone V) e una combinazione bilanciata di integrazione e costi (Arria V). La soluzione delle IP hardware, oltre a quelle software, è un importante fattore di ottimizzazione dell'architettura SoC-Fpga e delle sue prestazioni. L'uso di controllori di memoria multi porta consente di rendere particolarmente efficiente la comunicazione tra Fpga e Cpu, rendendo in tal modo la soluzione SoC-Fpga effettiva come soluzione per applicazioni embedded ad elevate prestazioni.

Logiche universali
I dispositivi MachXO2 di Lattice offrono una combinazione ideale tra basso costo, ridotto assorbimento di potenza e alto livello di integrazione. Fabbricati con un processo a 65 nanometri a basso consumo che consente di integrare anche memoria Flash, i prodotti della famiglia MachXO2 offrono miglioramenti molto sensibili rispetto alla precedente generazione MachXO: la densità logica è triplicata, la quantità di memoria embedded è dieci volte superiore, il consumo statico cento volte inferiore e il costo può essere ridotto del 30%. I nuovi dispositivi MachXO2, inoltre, contengono in forma hardened molte funzioni di uso comune nelle applicazioni tipiche delle Pld a bassa densità, come la Ufm (User Flash Memory), le interfacce I2C e Spi, il timer/contatore. Il risultato è una famiglia di Pld realmente universali, ideali per applicazioni caratterizzate da alti volumi produttivi e stringenti vincoli di costo. Per offrire il massimo livello di flessibilità, la famiglia MachXO2 comprende tre serie di prodotti dotati di caratteristiche diverse.

Per requisiti stringenti
Con l'architettura di ultima generazione a 28 nanometri (high-k metal gate - HKMG), Xilinx approccia l'offerta di tecnologia Fpga con la filosofia dell'integrazione tra logica programmabile e Cpu avanzate. L'obiettivo è quello di ottenere elevatissime prestazioni a basso consumo di potenza elettrica, per poter indirizzare applicazioni con requisiti sempre più stringenti, ove solo le soluzioni Assp e Asic garantiscono le prestazione, ma non necessariamente i consumi e il livello di integrazione di sistema tipico dei SoC. Ottenere elevate prestazioni con bassi consumi di potenza elettrica sembra un paradosso, ma è di fatto il risultato della convergenza dei progressi conseguiti nel processo di integrazione con le soluzioni di architettura di computing di ultima generazione. La tecnologia Fpga a 28 nanometri di Xilinx è stata sviluppata per ridurre del 50% i consumi di potenza elettrica e contemporaneamente aumentare almeno del 50% le prestazioni. È proprio l'estrema riduzione della geometria di integrazione che ha consentito di realizzare un pipelining e un parallelismo esecutivo massivo che va ulteriormente a migliorare le prestazione del core. La serie 7 di Fpga di Xilinx include tre nuove famiglie di Fpga che adottano il processo di integrazione a 28 nanometri: Artix-7, Kintex-7 e Virtex-7.
Tutte queste famiglie di Fpga includono la tecnologia Ams (Agile Mixed Signal), estendendo ulteriormente la natura SoC della Fpga fino al livello del sottosistema analogico a segnali misti. Questa tecnologia analogica ovviamente è intesa a soddisfare applicazioni di signal processing a requisiti avanzati, quindi estendendo oltre i 12 bit la risoluzione, e portando la frequenza di campionamento verso il Msps (Mega Sample per Second), dove si collocano i requisiti applicativi di importanti applicazioni come le interfacce dei trasduttori, i sensori remoti, i controllori di touchscreen, ecc.

Il System-on-chip programmabile
La tecnologia Fpga è maggiormente in primo piano nello scenario delle logiche programmabili, ma, come spesso avviene in tutti i settori tecnologici, appena una tecnologia appare come la soluzione ottimale, nuove proposte emergono. Nella logica programmabile, produttori come Cypress, mantenendo l'obiettivo del system-on-chip, hanno interpretato la problematica della programmabilità dell'hardware a livello di sistema. La sua soluzione PSoC (Programmable System-on-Chip) è un'architettura che consiste di blocchi analogici e di blocchi digitali, di un sottosistema Cpu e di un sistema programmabile di routing e di interconnessione. Il PSoC consente di integrare funzioni IP importandole dalla libreria delle funzioni PSoC oltre consentire allo sviluppatore di integrare codice proprio. La base fondamentale del PSoC è la contestuale disponibilità di circuiteria analogica e digitale. Questa è configurabile come blocchi funzionali per creare architetture di computing o di processing ad hoc (16, 24, 32 bit). La parte analogica è sufficientemente completa (amplificatori operazionali, comparatori, Adc, Dac, filtri, ecc.) per ottenere una completa catena di flusso del segnale analogico.

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome