Trasformare il software in hardware

Depositphotos_41527291_original_WEB

Le logiche programmabili, negli ultimi anni sono scomparse dal campo di interesse degli sviluppatori, in quanto oscurate dal successo dei microcontrollori sempre più ricchi di funzionalità aggiuntive e sempre più computazionalmente performanti. L’interesse intorno alle logiche programmabili è cambiato quando i requisiti delle applicazioni embedded sono diventati più stringenti e le logiche programmabili sempre più capaci di soddisfare tali requisiti. La densità delle logiche programmabili, in particolare delle Fpga, ha un trend di incremento di raddoppio in 18 mesi, ed è dell’ordine dei 500000 gate per dispositivo. Si tratta di una densità congrua con la complessità delle applicazioni cui sarebbero destinate, e altrettanto congruo è il trend di crescita della densità nel tempo.


Il software diventa hardware

La peculiarità della logica programmabile è quella di trasformare il software in hardware. Ciò ha effetti positivi sia in termini di riduzione delle dimensioni del sistema, in particolare del footprint di memoria, sia in termini di complessità dell’applicazione. Grazie allo sviluppo e all’ampia disponibilità di linguaggi di programmazione dell’hardware Vhdl la programmabilità delle logiche è divenuta una metodica di sviluppo equivalente a quella del software tradizionale, anche grazie a linguaggi di programmazione dell’hardware come SystemC. La distanza tra il paradigma dello sviluppo software e quello dello sviluppo hardware è ormai ridotta al minimo, considerando che alla fine il risultato è sempre lo stesso, un pezzo di hardware che svolge una funzione dedicata nella maniera più efficiente possibile. L’industria delle logiche programmabili ha messo in campo diverse novità e innovazioni che hanno risvegliato l’interesse degli sviluppatori. Dimensioni millimetriche del package, consumi minimali ultra low-power, densità eccezionali, costi tendenti a zero, elevata efficienza di sistema. Le innovazioni tecnologiche hanno dato vitalità alle logiche programmabili e di conseguenza si è rinnovato il paradigma di sviluppo dei sistemi microelettronici.

Live at power-up

Il tempo di power-up di una Fpga ha un impatto negativo sulla complessità finale del sistema e rappresenta un fattore limitante della potenzialità di impiego della logica programmabile. Un sistema è composto di molti componenti che interagiscono tra loro. Uno dei compiti principali dello sviluppatore sta nel garantire che questa interazione avvenga in maniera corretta ed efficiente. La logica programmabile è uno dei componenti più complessi del sistema, con svariati livelli di interazione che possono condizionare in maniera significativa le prestazioni effettive del sistema globale. Una scelta vitale da parte dello sviluppatore è quella dei dispositivi dotati di tecnologia live at power-up, cioè che sono attivi prima che la tensione di sistema abbia raggiunto il livello minimo, cioè lo stadio di potenza. Le Fpga di Microsemi sono basate sulla tecnologia instant-on e permettono di supportare i task di start-up durante la configurazione del sistema senza la necessità di circuiteria aggiuntiva per consentire al sistema di essere pronto istantaneamente al power-up. L’implementazione della funzionalità instant-on nelle Fpga basate su Ram richiede una significativa quantità di circuiteria aggiuntiva. Oltre alla Prom di boot e alla memoria di sistema, è necessaria anche una instant-on Cpld per la configurazione di sistema e dei task di supervisione. È necessaria anche la generazione di segnali quali i clock e i reset per inizializzare correttamente componenti del sistema. Si tratta di un aumento della complessità e del costo di sistema che sfavorisce il processo di sviluppo, che invece le Fpga in tecnologia instant-on consentono di risolvere in modo ottimale.

Fare di più con meno

Fare sempre di più con meno è il nuovo imperativo che guida la tecnologia delle logiche programmabili, prime tra tutte le Fpga. Queste, grazie all’utilizzo di processi di integrazione sempre più innovativi e ridottissime geometrie, offrono agli sviluppatori un considerevole incremento delle prestazioni, della capacità e dell’efficienza energetica. Con l’introduzione da parte da parte di Xilinx della famiglia Virtex 6 sono stati raggiunti target di prestazione e funzionali importanti come 1 Tera bit/s di banda aggregata e ben 2016 slice Dsp operanti a 600 MHz, e una incredibile densità di celle logiche (760000). Questa famiglia introducendo il voltage scaling ha consentito anche di ottenere una riduzione fino al 55% del consumo di potenza rispetto alle generazioni precedenti. La successiva famiglia di Fpga Serie 7 di Xilinx, è stata un emblematico esempio di come tutti gli aspetti, prestazioni, prezzo, potenza, densità, programmabilità, passando da una generazione alla successiva subiscono un incremento drammatico che favorisce sempre di più l’attuazione dell’imperativo “fare di più con meno”. La famiglia Virtex 7 ha più che raddoppiato la densità arrivando a 2 milioni di celle logiche e ha portato la banda di I/O a 2.8 Terabit/s, e la capacità computazionale a livelli elevatissimi cioè a 5335 Gmac/s o 2668 Gmac/s in non-symmetric mode. Con la serie 7 di Fpga Xilinx ha basato sul concetto di scalabilità lo sviluppo innovativo della logica programmabile. La scalabilità si basa su una serie di elementi architetturali e sulla quarta generazione dell’architettura Asmbl.

Field Programmable Analog Array

La componente analogica dei sistemi embedded è sempre più complessa e caratterizzata da requisiti stringenti. L’integrazione simile a quella dell’elettronica digitale e la programmabilità sono due importanti obiettivi di innovazione tecnologica che sono attesi dagli sviluppatori di sistemi embedded che devono affrontare la nuova sfida del sensing intelligente nell’emergente contesto applicativo di Internet of Things. La risposta a questa esigenza emergente si chiama Fpaa (Field programmable analog array). Questi sono singoli chip che integrano blocchi analogici configurabili. Gli Fpaa operano in due modalità fondamentali: a tempo discreto o a tempo continuo. Le Fpaa a tempo discreto utilizzano un clock di campionamento. Il modello tecnologico di riferimento è quello dello switched capacitor. Tutti i blocchi sono dotati di un Sample & Hold che discretizza i segnali di ingresso. Gli amplificatori sono programmabili e servono a interconnettere secondo specifici schemi di elaborazione analogica i segnali dei vari dispositivi di analogica a segnali misti disponibili negli Fpaa. Le Fpaa a tempo continuo sono array di transistor e amplificatori operazionali capaci di processare il segnale continuo a banda piena in configurazioni che implementano il modello di elaborazione tipico di un front-end analogico. Anadigm ha sviluppato una famiglia di Fpaa che consente con il modello Fpga di progettare utilizzando un ambiente Eda, denominato Anadigm Designer2, le varie funzioni analogiche complesse completamente contenute in un singolo chip.

Si riduce il gap tra Assp e Fpga

Lo sviluppo e l’implementazione dei sistemi embedded ha nella tecnologia Fpga il principale motivo di innovazione, ma la flessibilità degli Assp è tale da indurre gli sviluppatori a guardare ancora con attenzione a questi in quanto capaci di soddisfare in maniera ottimale settori applicativi specifici. Con l’introduzione da parte di Xilinx dell’architettura Asmbl la piattaforma di sviluppo Fpga ha fatto un ulteriore passo avanti avvicinando il modello di sviluppo basato su Fpga a quello basato su Assp. Con l’architettura Asmbl lo sviluppatore è in grado di selezionare il giusto insieme di caratteristiche e funzioni che rendono il processo di progettazione più semplice. Alla base dell’architettura Asmbl c’è il concetto di modularità dei sottosistemi di silicio. Questa modularità consente una nuova metodologia che porta all’accelerazione del processo di sviluppo di piattaforme orientate a differenti domini applicativi, e a una conseguente riduzione dei costi. In pratica si vengono a creare quelle condizioni favorevoli tipiche delle soluzioni Assp, per esempio un’ampia gamma di dispositivi ottimizzati verso l’applicazione finale, mantenendo tutte le potenzialità della logica programmabile. Xlilinx ha sviluppato un approccio innovativo finalizzato a ottenere dispositivi funzionalmente densi come quelli software programmabili. Questo approccio si chiama Ssi (Staked silicon interconnect), ed  è una tecnologia che supera le limitazioni della densità di integrazione e consente di ottenere prestazioni tipiche di sistemi computazionali complessi di ben più rilevanti dimensioni, costi e consumi energetici. L’architettura Asmbl di Xilinx è alla base della tecnologia Ssi. La natura modulare dell’architettura Asmbl che implementa funzionalità fondamentali come i blocchi logici, i blocchi Ram, le Dsp slices, le interfacce I/O e i serial transceiver, consente di organizzare queste risorse in colonne che combinate danno vita alla Fpga. Organizzando opportunamente l’altezza e la composizione si ottengono innumerevoli varianti dello stesso dispositivo a un costo di processo minimo.

Pubblica i tuoi commenti