System-on-Chip, l’ultima frontiera

Riunire tutte le funzioni di un sistema elettronico in un singolo circuito integrato: è questa, in sostanza, la funzione dei dispositivi indicati dall’espressione System-on-Chip (SoC). In linea di principio i SoC offrono due tipi di vantaggi: a livello di silicio, il singolo dispositivo costa meno e consuma meno della somma delle sue parti, poiché non ha bisogno degli elementi funzionali che sarebbero altrimenti necessari per far dialogare tra loro numerosi chip; a livello di sistema, la riduzione del numero dei componenti consente di semplificare il circuito stampato e quindi di contenere i costi e gli ingombri. L’intero percorso evolutivo della microelettronica può essere interpretato come una corsa verso la realizzazione dei SoC, poiché l’aumento del livello di integrazione è stato sempre uno dei principali obiettivi della miniaturizzazione. Sarebbe però azzardato sostenere che i SoC rappresentino la punta di diamante della microelettronica, poiché l’effettiva complessità di questi dispositivi dipende dal tipo di sistema in questione. Un sistema elettronico semplice potrà essere integrato per intero in un chip relativamente semplice, meno sofisticato rispetto a grandi chip monofunzionali come, ad esempio, i potenti processori multicore di ultima generazione. Oggi probabilmente uno dei modi migliori per definire i SoC consiste nel fare riferimento al processo di progettazione tipico di questi dispositivi, che è basato sull’assemblaggio di numerosi blocchi di IP (Intellectual Property), cioè progetti di singoli elementi funzionali pronti per l’uso: processori, interfacce ecc.

Le applicazioni
In linea di principio tutti i sistemi elettronici potrebbero trarre vantaggio dall’adozione di un unico chip che integri tutte le funzioni; nella pratica, però, non sempre la soluzione SoC è la più conveniente, perché l’uso di un unico processo di fabbricazione per tutti i blocchi funzionali può limitare le prestazioni di alcuni circuiti che hanno requisiti particolari, ad esempio circuiti analogici o in radiofrequenza. Esistono inoltre sistemi che non si prestano a un drastico aumento del livello di integrazione: è il caso dei computer, che presumibilmente continueranno a essere sempre basati su un notevole numero di chip. In concreto, quindi, i SoC sono utilizzati prevalentemente nelle applicazioni embedded e nei casi in cui i requisiti delle funzioni analogiche o RF non siano molto stringenti. Uno dei settori applicativi più importanti per i SoC è l’elettronica di consumo, che offre volumi produttivi sufficienti a giustificare la realizzazione di chip dedicati e che richiede espressamente i vantaggi offerti da questi dispositivi: riduzione dei costi e - nel caso dei prodotti portatili, oggi sempre più importanti - basso consumo e dimensioni ridotte. I SoC utilizzati nel settore dell’elettronica di consumo sono spesso prodotti da società specializzate: è il caso, ad esempio, della taiwanese MStar, che occupa una posizione di grande rilievo a livello mondiale nel settore dei SoC per televisori e per set-top box. In altri casi i dispositivi vengono prodotti direttamente dalla società che realizza il prodotto finito, come fa Apple, ad esempio, per i propri iPhone e iPad. I System-on-Chip, tuttavia, trovano applicazione anche in molti altri settori diversi dall’elettronica di consumo; citiamo, unicamente a titolo d’esempio, quello delle stazioni base per la telefonia cellulare.

Core di elaborazione e bus di comunicazione
Come si è detto, la progettazione dei SoC impiega un processo basato sull’assemblaggio di numerosi blocchi di IP (Intellectual Property). In questo ambito occupano un ruolo di particolare rilievo i core di elaborazione e in primo luogo i processori Arm, utilizzati in una miriade di SoC; vanno inoltri ricordati gli altri processori offerti in forma di IP, come ad esempio quelli realizzati da Tensilica. La necessità di far dialogare tra loro i diversi blocchi di IP presenti nel chip ha portato alla messa a punto di vari protocolli, alcuni dei quali “proprietari” (cioè sviluppati da singole società) e altri in forma di standard aperto. Tra i protocolli proprietari sono compresi quella della famiglia Amba (Advanced Microcontroller Bus Architecture) di Arm e il bus Pif di Tensilica; il principale standard aperto è l’Open Core Protocol sviluppato dalla Ocp International Partnership (OCP-IP).

Aumento della complessità
La principale tendenza evolutiva nel campo dei SoC è probabilmente l’aumento della complessità; uno degli aspetti più significativi da questo punto di vista è la crescente diffusione dei MpSoC (Multiple Processor Systen on Chip), che integrano diversi processori. All’aumento della complessità si affianca ovviamente un aumento delle dimensioni e del numero medio di blocchi di IP integrati nel chip. I dispositivi tendono a diventare più grandi per ospitare un maggior numero di funzioni, spesso perché il prodotto-target diviene sempre più complesso con l’aggiunta di nuove caratteristiche. Un esempio interessante – analizzato recentemente da Chipworks, società canadese specializzata nel “reverse engineering” - riguarda i SoC sviluppati da Apple per i propri iPad e iPhone, basati su core Arm. Il primo dispositivo della serie, indicato dalla sigla A4, aveva un’area di 53,3 millimetri quadrati; il dispositivo della generazione successiva, l’A5, è sensibilmente più grande, ma l’aumento delle dimensioni è particolarmente netto nell’ultima versione A5X, che misura ben 165 millimetri quadrati, cioè più del triplo rispetto al capostipite. Questa crescita ha avuto luogo in tempi molto brevi, e infatti i tre chip condividono la stessa geometria di processo a 45 nanometri. L’aumento delle dimensioni dei SoC, rende sempre più difficile l’assemblaggio – per così dire - dei blocchi di IP, che divengono sempre più numerosi. Uno dei problemi riguarda la progettazione, in particolare la produttività dei progettisti nel processo di integrazione e verifica dei blocchi di IP. L’altro riguarda invece l’architettura del SoC, cioè le soluzioni hardware utilizzate per interconnettere i diversi blocchi, che si riflettono sull’area del die e sulle prestazioni.

Progettazione
Le difficoltà riguardanti la progettazione derivano dal fatto che il processo di integrazione dei blocchi di proprietà intellettuale non è stato ancora totalmente perfezionato, sebbene negli ultimi anni abbia compiuto progressi significativi. In altri termini, assemblare “pezzi” di progetti pronti per l’uso non è semplice come unire i mattoncini del Lego. Stando ai dati diffusi da Cadence, infatti, i produttori di SoC spendono per l’attività di integrazione il doppio o il triplo di quanto sborsino per acquistare i blocchi di IP, inoltre nei progetti a 65 nanometri la certificazione della IP acquistata può assorbire fino a un quarto del budget riservato alla progettazione hardware. Tra le attività più complesse è compresa la verifica dei progetti; altre complicazioni riguardano il software del sistema, un elemento che assume importanza crescente. Per ovviare a questi inconvenienti, alcune società Eda puntano a realizzare un proprio ecosistema di IP pre-certificata e ottimizzata per l’integrazione. Ovviamente l’ideale sarebbe poter offrire ai progettisti una soluzione slegata dai fornitori del software Eda e che garantisca comunque un’integrazione davvero “plug and play” dei blocchi di IP. Si tratta di un problema aperto.

Architettura
Per quanto concerne l’architettura, un problema di crescente importanza riguarda – come si è detto – le interconnessioni tra i diversi blocchi di IP che compongono il chip. L’aumento lineare del numero dei blocchi si traduce in un aumento esponenziale del numero di interconnessioni necessarie per farli dialogare tra loro; questi collegamenti richiedono spazio e quindi, se l’area del die è predeterminata, provocano aree di “congestione” nel posizionamento e sbroglio, cioè zone in cui diviene difficile se non impossibile far passare tutte le linee volute. La congestione sta divenendo un problema sempre più grave per vari motivi: le interfacce tra i blocchi di IP evolvono verso una maggiore complessità, ad esempio, con riferimento all’interfaccia Amba sviluppata da Arm, il protocollo Axi usa segnali molto più “larghi” (in termini di numero di bit paralleli) rispetto al precedente protocollo AHB; nel passaggio a geometrie di processo sempre più piccole, la riduzione di dimensioni dei diversi elementi del chip non è uniforme: la larghezza delle linee di collegamento cala di meno rispetto alle dimensioni dei transistor, pertanto la percentuale di area occupata da esse tende ad aumentare. Il problema della congestione può tradursi in una maggiore complessità della progettazione, in un aumento dell’area del die (per fare spazio alle interconnessioni), o in un maggior numero di livelli di metallizzazione (nel caso occorra creare dei ponti per i collegamenti). Una delle soluzioni utilizzate per diminuire la congestione consiste nell’affidare le interconnessioni tra i blocchi di IP a una vera e propria rete di comunicazione, ovviamente integrata nel chip come tutti gli altri elementi; in altri termini, una NoC (Network on Chip). L’uso di una rete, al posto delle normali soluzioni di interconnessione basate su bus o su crossbar, consente di ridurre il numero delle linee in due modi: organizzando i bit in “pacchetti”, similmente a quanto avviene nelle reti basate sul protocollo Internet; “serializzando” i pacchetti, cioè inviando i bit uno dopo l’altro su una singola linea seriale. Una delle società principali nel campo delle NoC è la californiana Arteris, la cui soluzione consente di scegliere diversi compromessi tra larghezza della connessione (in termini di numero di bit paralleli) e latenza (dovuta all’aggiunta di bit per l’intestazione dei pacchetti). Il progettista potrà quindi usare connessioni larghe a bassa latenza per i collegamenti brevi che richiedono alta velocità (ad esempio quelli tra i core di elaborazione grafica o elaborazione video) e connessioni strette a latenza più alta per i collegamenti lunghi con periferiche relativamente lente (ad esempio Usb, Flash, I2C, Gpio). La conversione tra il protocollo proprio dei blocchi di IP (ad esempio Amba4 di Arm, Ocp, Pif di Tensilica ecc.) e il formato di trasporto utilizzato da Arteris viene effettuata automaticamente dalle interfacce che fanno parte della NoC.

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome