Un System-on-Chip è un particolare tipo di circuito integrato che in un singolo chip ingloba un intero sistema elettronico. Ecco quali sono le soluzioni che il mercato offre ai progettisti.
Negli ultimi anni i processi di integrazione dei chip elettronici (attualmente giunti a soluzioni che arrivano a 45 nm) sono diventati sempre più efficienti e raffinati, fornendo di conseguenza la possibilità, alle case produttrici, di integrare un sempre maggiore numero di blocchi e componenti all’interno di un singolo die di silicio. E’ così che si sono venuti sempre più affermando negli ultimi anni i cosiddetti System-on-a-chip, in genere conosciuti con l’abbreviazione SoC. Un SoC è un particolare tipo di circuito integrato che in un singolo chip ingloba un intero sistema elettronico. Tali sistemi dispongono, tipicamente, al loro interno, oltre che del processore centrale anche di altri chipset, come ad esempio il controller della memoria RAM ed il sottosistema video (ad esempio una GPU). Un singolo system-on-chip, nell’accezione più generale possibile del termine, può arrivare a contenere al suo interno periferiche analogiche (come convertitori A/D, D/A e comparatori), circuiti digitali (CPU, Chipset e controller) e anche circuiti a radiofrequenza, insomma un sistema elettronico completo dotato anche di tutte le interfacce, incluse quelle wireless. Naturalmente il campo di applicazione più sentito è quello dei dispositivi embedded date le ridotte dimensioni che si riescono ad ottenere con l’integrazione di tutti i componenti in un singolo chip.
STRUTTURA DI UN SYSTEM ON CHIP
Un tipico System on Chip comprende al suo interno diversi blocchi funzionali principali e periferiche, una struttura tipica in genere è composta da:
- Un processore (che può essere single core o multicore). I core possono essere core di processori, microcontrollori o anche DSP (Digital Signal Processor).
- Una o più memorie e relativi controller. Le memorie possono essere di vario tipo: RAM, ROM, EEPROM o
- Un generatore di clock e un PLL (Phase Locked Loop).
- Periferiche digitali di diverso tipo: Timer, contatori, Real Time
- Controller per interfacce di comunicazione standard come ad esempio USB, Firewire, Ethernet, CAN, USART, SPI, I2C ed
- Periferiche analogiche come Convertitori A/D e D/A e modulatori
Regolatori di tensione ed altri tipi di circuiti di gestione dell’alimentazione. I vari blocchi funzionali sono naturalmente interconnessi tramite BUS proprietari o BUS standard, per l’intercambio di informazioni tra un blocco e l’altro. In genere è sempre presente un controller DMA che gestisce il trasferimento dati tra la memoria e i bus esterni, in modo da non gravare sul processore per questo tipo di operazioni. In figura 1 è rappresentato lo schema a blocchi di un SoC basato su core ARM.
Naturalmente un System-on-chip non è composto solo da hardware, ma ne fanno parte anche alcune componenti software che ne consentono il funzionamento. Ad esempio la gestione dei bus di interfacciamento è gestita tramite opportuni driver caricati all’interno del chip ed è parte integrante del sistema stesso, in modo che il cliente finale non si debba curare delle problematiche relative all’interfacciamento. Trattandosi di sistemi estremamente complessi, il progetto di un SoC passa attraverso varie fasi. Dopo un fase iniziale di “concept” il progetto viene affinato attraverso una successiva fase di emulazione, che in generale viene effettuata caricando i vari moduli funzionali all’interno di una FPGA (Field Programmable Gate Array). L’affinamento del progetto avviene per fasi successive, sfruttando la possibilità di riprogrammare di volta in volta l’FPGA. Terminata la fase di emulazione si passa allo sviluppo vero e proprio del chip, che in genere è eseguito con tecniche classiche. Una fase fondamentale è la verifica e la validazione finale del chip. Durante questa fase viene fatto un massiccio uso di linguaggi per lo sviluppo di sistemi digitali come VHDL, Verilog, SystemC e Vera. Gli errori individuati in questa fase vengono corretti ritornando alla progettazione e ripetendo il ciclo. Chiaramente per sistemi complessi questo processo può essere anche molto lungo, e si stima che in alcuni casi arrivi a coprire anche il 70% del tempo totale di sviluppo. I SoC sono attualmente una delle più recenti linee di sviluppo nel campo dei sistemi digitali, e molti teorici ed esperti del settore vedono in questa tecnologia il futuro di settori come quello dei dispositivi portatili multimediali, degli Samrtphone e di altri ancora. Attualmente solo i grossi produttori di chip hanno iniziato a diffondere le prime soluzioni complete di questo tipo. In questo articolo esamineremo le architetture di dei seguenti SoC:
- Apple/Samsung A4
- NVIDIA Tegra
- Intel Tolapai
APPLE/SAMSUNG A4
L’Apple A4 è un RISC SoC della Apple Inc., e trova impiego in alcuni prodotti dell’azienda californiana, come ad esempio il tablep iPad ed il nuovo iPhone 4. L’A4. Si tratta di un system-on-chip in tecnologia a 45 nm, costituito da un processore centrale (un ARM Cortex), da una GPU (Graphic Processing Unit) e da alcuni controller (in particolare abbiamo sia il NorthBridge che il SouthBridge, oltre al controllore della memoria). Il processore centrale è un ARM Cortex A9, in grado di supportare operazioni a 2 GHz, ma attualmente limitato al funzionamento ad 1 GHz, per limitare consumi e dissipazione termica. Ci sono state varie diatribe sulla provenienza, all’interno di Apple, del know how necessario alla realizzazione di un simile dispositivo, dato che Apple, negli ultimi anni, ha acquisito varie società del settore seminconduttori. Le prime indiscrezioni sembravano indicare che il progetto scaturisse dal know how interno di P.A. Semi, società acquisita da Apple nel 2008, ma successivi esami hanno indicato che l’SoC è un progetto della Intrisity (società acquisita da Apple nel 2010), sviluppato durante il 2009 e denominato inizialmente Hummingbird, customizzato per Apple e prodotto dalla Samsung. Esperti del settore ritengono che SoC come l’A4 rivoluzioneranno il mondo dei PC, garantendo ai dispositivi portatili le stesse funzionalità dei PC desktop con consumi ridottissimi, fornendo al mercato famiglie di dispositivi ad alte prestazioni ed in grado di funzionare per giorni con una singola carica.
NVIDIA TEGRA
Anche NVIDIA, società nota per la produzione di chip grafici e moterboard, è entrata prepotentemente nel mercato dei SoC. La prima famiglia di prodotti commerciali della società di Santa Clara prende il nome di Tegra, e si tratta di un System-on-Chip basato su un core ARM11. La caratteristica peculiare del Tegra è quella di avere un’architettura estremamente “eterogenea”, ossia il chip è costituito da diversi core, ognuno ottimizzato per uno specifico compito, in accordo con il paradigma che vede, nel futuro, più che l’aumento del parallelismo dei processori, una maggiore ottimizzazione dei singoli core in funzione del compito che andranno svolgere. In particolare all’interno di un Tegra, distinguamo i seguenti processori:
- Un core ARM11 operante ad 800 MHz
- Un core video HD
- Un processore d’immagine
- Un Processore Audio
- Una GPU derivata dalla nota famiglia di processori grafici GeForce, caratterizzata da un bassissimo consumo energetico
In figura 5 è riportato uno schema a blocchi di massima del Tegra. Il Tegra 650 è in grado di garantire una durata della batteria di circa 130 ore di riproduzione audio e 30 ore di riproduzione video ad alta definizione. Tra le altre caratteristiche offerte da tale SoC si possono citare il supporto per fotocamere che possono arrivare fino a 12 MPixel, e la capacità di offrire all’utente il pieno sfruttamento delle potenzialità tipiche delle applicazioni web 2.0. Inoltre il system-on-chip supporta nativamente lo standard HDMI, tramite una porta dedicata ed è predisposto per connettività wireless su standard wifi, senza necessità di componenti aggiuntivi.
INTEL TOLAPAI
Naturalmente anche il colosso mondiale del mercato del silicio non poteva non includere nel suo già vastissimo portafoglio prodotti, una famiglia di dispositivi SoC. In effetti Intel è stata tra i primi a lanciarsi nel mercato dei dispositivi SoC, con l’immissione sul mercato del Tolapai. Intel è stata tra i primi produttori di chip per PC a comprendere l’importanza dell’introduzione dei sistemi SoC per il mondo dei dispositivi embedded destinati alla grande distribuzione (Smartphone, tablet PC e quant’altro), così lanciò sul mercato, nel 2007, un chip noto con il nome commerciale di Intel EP80579. Il chip integra al suo interno sia il processore principale che il controller per la gestione della memoria e la circuiteria di I/O. Si era così ottenuto un processore nativamente integrato con il chipset, ed in particolare sia con il NorthBridge che con il SouthBridge. L’architettura del processore è derivata direttamente dalla famiglia Pentium M, con 256 KB di cache di secondo livello (L2) e un controller di memoria DDR2, in grado di supportare fino a 2GByte di memoria. La circuiteria di I/O invece è in grado di consentire la gestione delle interfacce PCIExpress, oltre ad USB, SATA ed Ethernet.
Grazie all’autore per questa interessante rassegna sui SoC.
In questo mio post provo a riassumere vantaggi e svantaggi dei SoC.
In sintesi, i principali vantaggi dei SoC, sono
1. Una dimensione più piccola, il che significa che i SoC possono essere oltre che piccoli anche molto leggeri.
2. Un SoC consuma meno energia poiché nei sistemi in generale un elevato consumo di energia si verifica nel cablaggio di dati e bus. Poiché in un SoC tutti i componenti si trovano sullo stesso chip e sono collegati internamente, e anche le loro dimensioni sono molto ridotte, il consumo energetico è fortemente ridotto.
3. Considerando inoltre i progressi nei processi di integrazione, il costo dei SoC potrà ridursi sempre di più. Ad esempio, come appena detto, il cablaggio non è richiesto nei SoC e quindi il costo ad esso associato sarebbe abbattuto.
4. Un SoC offre una maggiore sicurezza di progettazione a livello di hardware e firmware.
5. Un SoC potrebbe inoltre garantire esecuzioni di istruzioni e accessi a memoria a maggiore velocità.
Gli svantaggi di un SoC, potrebbero essere riassunti nei seguenti punti:
1. Il costo iniziale di progettazione e sviluppo è molto alto. Pertanto se la diffusione dei SoC è bassa, il costo per singolo SoC sarà molto alto.
2. Anche un danno ad un singolo componente o in generale un danno al sistema può rivelarsi molto costoso in quanto la scheda completa deve essere sostituita e la sua manutenzione è molto costosa.
3. L’integrazione di tutti i sistemi su un singolo chip aumenta la complessità.
4. Potrebbe non risultare adatto per applicazioni ad alta intensità di energia date le dimensioni ridotte che potrebbero introdurre per applicazioni ad alta energia problematiche riguardanti lo smaltimento del calore e la gestione di tensioni elevate.
I sistemi portatili utilizzeranno sempre più la tecnologia SoC. Le spinte progettuali nelle applicazioni elettroniche sono orientate verso soluzioni compatte e di dimensioni ridotte che inglobano in un unico chip l’intero sistema elettronico con i suoi componenti.
Anche la riduzione dei consumi energetici e delle perdite per dissipazione sono dei parametri su cui si concentra la progettazione.