Visualizzazione post con etichetta ASIC. Mostra tutti i post
Visualizzazione post con etichetta ASIC. Mostra tutti i post

27 marzo 2013

ASIC configurabili, una alternativa per dispositivi mixed-signal

Sulla rivista online Embedded, Jack Ganssle parla di un innovativo approccio allo sviluppo di componentistica elettronica altamente integrata capace di implementare complesse funzioni di trattamento "misto", analogico/digitale. Molto spesso questi scenari vengono applicati al mondo della radiofrequenza o del video. In questi casi, scrive Embedded, si parte da una scheda dove le funzioni analogiche e digitali vengono ripartite. A volte il trattamento digitale, nei casi in cui un microprocessore classico non sarebbe all'altezza, viene implementato in logica cablata, con una FPGA. Quando si prevede di vendere un sacco di scatole, la FPGA può essere trasformata in un ASIC, un chip custom-made in cui le malleabili "celle" della logica cablata vengono congelate in una architettura digitale su misura. Ma gli ASIC sono molto costosi e poi resterebbe il problema della parte analogica. 
Una possibile soluzione si prospetta grazie a una novità sviluppata dalla Triad Semiconductor, una azienda fondata una decina d'anni fa nel North Carolina, con il preciso obiettivo di accelerare lo sviluppo (e contenere i costi) di ASIC per applicazioni "mixed signal". La linea di prodotto Triad si chiama VCA, ovvero Via-Configurable Array, una tecnologia che integra come tanti mattoncini lego, tante funzioni analogiche e digitali in "blocchi" che possono essere disposti su quella che viene definita una matrice ASIC preconfigurata. In una specie di catalogo di diverse tipologie di matrici, il progettista può scegliere quella più confacente ai suoi scopi (c'è anche una VCA-RF che permette di implementare un ricevitore RF-to-digital anche per applicazioni come la radio digitale DAB) e all'interno della matrice può selezionare i blocchi funzionali necessari (filtri, op-amp, o per la parte digitale gate locigi, processori, RAM, I/O e così via). Una volta configurata sulla matrice viene applicato una "trama" di instradamento del segnale che fisicamente viene realizzata con microscopiche forature, le "vie", che stabiliscono i contatti fisici. Rispetto a un approccio ASIC tradizionale, Triad VCA costerebbe meno e implicherebbe tempi di ingegnerizzazione molto più brevi. A fronte del milione di dollari di investimenti per 18 mesi della progettazione ASIC, Triad promette risparmi fino all'85%, riducendo i tempi dell'ingegnerizzazione a 3-5 mesi, anche per quantitativi ridotti a mille pezzi: per lavorare sui VAC "basta" una applicazione Windows, ViaDesigner, che mette a disposizione un ambiente di sviluppo EDA completo. Ecco comunque un filmato che riassume tutte queste caratteristiche:

18 aprile 2012

CPU+FPGA: combinazione vincente per l'SDR?

Credo che la lettura di questo breve articolo di Jack Ganssle su EE Times - "The rise of the FPGA?" - possa risultare stimolante per le schiere di sperimentatori dell'SDR (molti dei quali italiani) che utilizzano la logica programmabile delle FPGA per implementare gli algoritmi di "down conversion" nei ricevitori SDR a campionamento diretto. Come il Perseus o il più recente FDM-S1 di Elad. L'editoriale di Ganssle parte dall'annuncio di una nuova tipologia di prodotto della società Xilink, il big della produzione di FPGA (tra lei e Altera controllano oltre l'80% del mercato della logica programmabile), una linea chiamata Zynq. La particolarità di Zynq è il fatto di integrare sullo stesso chip un microcontrollore ARM Cortex-A9, di per sé molto potente, circondato da una grande quantità (fino a 350K celle secondo il datasheet) di logica, appunto, programmabile. Il chip è direttamente cablato sul componente (hard-IP), si tratta in pratica di un ibrido CPU-FPGA.
Inizialmente, confessa l'autore del pezzo, il componente non appariva come una novità sconvolgente. Da tempo, scrive Ganssle, in logica programmabile vengono implementati veri e propri processori general purpose, sia sotto forma di logica cablata "hardwired" (hard-IP, dove IP sta per intellectual property) sia come logica soft (soft-IP) da caricare sulla FPGA al momento in fase di boot, di avviamento. Ora che Xilink ha annunciato l'implementazione Linux per la famiglia di FPGA ibride Zynq-7000 Extensible Processing Platform, la prima reazione di Ganssle è stata di forte scetticismo: perché sprecare tante celle di logica programmabile per implementare un sistema operativo?



Ganssle ammette di non aver preso in considerazione un fattore: su Zynq il "core" del processore ARM è cablato e tutto il resto della logica programmabile resta disponibile per la realizzazione di operazioni più complesse, come l'I/O o certi tipi di trattamento del segnale. Che è poi la missione di una FPGA, considerando che questi dispositivi non sono altro che delle grosse matrici di porte logiche elementari la cui "programmazione" consiste nel settare le linee di comunicazione tra una cella e l'altra in modo che un insieme di celle possa svolgere una funzione logica molto più complessa. Le FPGA lavorano così, implementando in modo molto più veloce algoritmi che programmati su un microprocessore universale (dove la programmazione implica istruzioni software) risulterebbero vincolati al set di istruzioni del processore stesso e al suo passo di esecuzione.
La combinazione CPU-logica programmabile è dunque qualcosa di molto interessante perché offre a chi costruisce dispositivi digitali la convenienza di un microcontrollore generico (che in questo caso per esempio esegue il kernel di un sistema operativo) e la flessibilità e velocita di una logica completamente plasmabile. Tanto da far compiere a Ganssle un ragionamento ulteriore. Nella vulgata dell'industria digitale contemporanea ci sono dispositivi che, come i personal computer o gli smartphone, possono funzionare alla perfezione con un microprocessore. Altri, come certi componenti che troviamo all'interno dei nostri decoder televisivi, che richiedono una logica più personalizzata che viene tuttavia cablata all'interno di chip customizzati come gli ASIC, che oltretutto consumano molto meno. Operazioni veramente di nicchia - vedi il caso dei nostri ricevitori SDR - vengono implementate su FPGA per ragioni di costo. Quando la genericità di un microprocessore costringe i progettisti hardware a ricorrere a logiche personalizzate, solo volumi di produzione molto elevati giustificano l'uso di un ASIC. Mentre per produzioni molto limitate può risultare molto più conveniente, nel complesso, servirsi della logica programmabile FPGA, che singolarmente è un prodotto molto costoso e abbastanza famelico in termini di potenza dissipata.
Questo però è quanto avveniva fino a ieri. Oggi, spiega Ganssle, il mercato degli ASIC sta rapidamente cambiando perché le geometrie del silicio si stanno restringendo sempre di più. Per risultare economici degli ASIC sulla scala dei 28 nm, per esempio, richiedono volumi di produzione enormi, sull'ordine delle centinaia di milioni di pezzi. Con Zynq a chi dovesse realizzare dispositivi in quantità meno importanti, potrebbe risultare più conveniente rinunciare agli ASIC, optando piuttosto per una combinazione FPGA+microcontrollore. Ganssle cita addirittura l'industria automobilistica, oggi alle prese con una problematica nuova come l'implementazione della logica di controllo dei sistemi radar anti-collisione (una funzione che in Europa dovrebbe diventare obbligatoria nei prossimi anni). Questa è una tipica applicazione da logica programmabile o cablata, anche perché i radar che dovevano originariamente entrare in produzione utilizzavano la frequenza di 24 GHz e recentemente la Commissione Europea ha accettato una proroga che sposta al 20118 l'adozione di questi sistemi per consentire all'industria di spingerne la frequenza fino a 79 GHz, una porzione di spettro più praticabile se si punta a un impiego su vasta scala dei sistemi anti-collisione. L'industria automobilistica avrà bisogno di chip molto performanti e a basso consumo ma, conclude Ganssle, non è per forza detto che agli attuali costi degli ASIC, questi ultimi risultino meno costosi della nuova generazione di FPGA ibrida che Xilink ha introdotto sul mercato con Zynq.
Tornando alla questione che ci interessa di più, l'SDR, immaginate le potenzialità di una FPGA che oltre a consentire l'implementazione di un down converter molto efficiente, permettesse anche di gestire funzioni DSP come il filtraggio e la demodulazione e in più la gestione delle interfacce utente. Sarebbe un vero break-through sul fronte delle radio SDR indipendenti da computer e processori esterni.