System-on-a-chip

Unsystem on a chip(osystem-on-a-chip,abbreviatoSoC,lett."sistema su circuito integrato"), nell'elettronica digitale, è uncircuito integratoche in un solochipcontiene un intero sistema, o meglio, oltre alprocessore centrale, integra anche unchipseted eventualmente altricontrollercome quello per la memoriaRAM, la circuiteria input/output o il sotto sistema video.
Un singolo chip può contenere componenti digitali, analogici e circuiti in radiofrequenza in un unico integrato. Questa tipologia di integrati viene utilizzata comunemente nelle applicazioniembedded, date le dimensioni ridotte che essi raggiungono con l'integrazione di tutti i componenti. Una alternativa è costituita dasystem in package(SiP), ovvero un singolopackageche racchiude in sé diversi circuiti integrati.
Intel, aveva tentato già nel2001di sviluppare un SoC, grazie al progettoTimna(destinato ai PC economici) ma che venne poi abbandonato per questioni strategiche in favore del primoPentium MBaniasche era sempre un processore tradizionale. Successivamente Intel non ha più parlato di SoC nelle sue presentazioni alla stampa o al pubblico, continuando a percorrere uno sviluppohardwaretradizionale. Altre compagnie tuttavia presentarono alcuni prodotti SoC e tra queste una delle più attive negli anni è stataVIAche li destinava però soprattutto per il settoreembedded.
Nel2007Intel è tornata a parlare di SoC con il progettoTolapai, destinato anch'esso proprio al settore embedded, e che integra al suo interno il controller della memoria RAM e la circuiteria di input/output. Tolapai quindi è un processore perfettamente integrato con il chipset, e in particolare sia con ilNorthbridge, sia con ilsouthbridge.
Quasi contemporaneamente venne annunciato anche il prossimo arrivo del primo processore SoC destinato all'impiego nei sistemi ultra portatiliUMPC,Lincroft, che sarà alla base della futura piattaforma IntelMoorestownprevista inizialmente per il2009.
Altri sistemi SoC famosi sono ad esempioNvidia Tegra,Qualcomm Snapdragon,MediaTek,Samsung Exynos,ST-Ericsson NovaThor,i.MXdi Freescale Semiconductor,Apple AxedM1(anni '20 del 2000) eZiiLABSdi ZMS.
Un tipico sistema SoC comprende:
I vari blocchi funzionali sono collegati tramite BUS proprietari o BUS standard come il BUSAMBAprogettato daARM. Una gestioneDMAdei trasferimenti tra la memoria e i bus esterni incrementa le prestazioni senza appesantire il processore.
Un Soc è composto dai blocchi descritti sopra ma anche dalsoftwareche controlla i vari componenti e li fa interagire. I programmi sono progettati in modo da creare dei flussi paralleli all'interno del chip in modo da seguire un approccioparallelo. Molti SoC sono sviluppati a partire da blocchi standard che descrivono i componenti hardware e dai driver che gestiscono i blocchi. Di particolare importanza sono i driver che gestiscono l'interfacciamento con i bus standard. I moduli hardware sono uniti in un unico integrato tramite strumentiCADmentre i singoli driver sono uniti in un unico programma tramite opportuni ambienti di sviluppo.
Il progetto di un sistema SoC passa per la fase fondamentale dell'emulazione. I moduli del sistema SoC vengono caricati entro un chipFPGAmentre il programma viene memorizzato dalla RAM dell'ambiente di sviluppo. Questo permette di testare e affinare il chip SoC in modo rapido e semplice dato che l'emulatore replica perfettamente il chip SoC ma consente una modifica rapida dell'hardware modificando semplicemente il programma caricato dall'FPGA. Dopo la fase di emulazione il chip SoC segue le fasi classiche di sviluppo di unchip custom.
Il chip viene sottoposto alla fase di verifica. I linguaggi tipoVerilogeVHDLsono utilizzati per la verifica dell'integrato. Per integrati complessi si utilizzano anche sistemi come SystemVerilog, SystemC e Vera. I difetti e gli errori individuati dalla fase di verifica sono riferiti alla progettazione per le opportune correzioni. Normalmente il 70% del tempo di sviluppo di un chip viene utilizzato durante la fase di verifica.
I SoC possono essere realizzati con diverse tecnologie, tra le quali:
I sistemi SoC normalmente sono dispositivi a basso consumo e a basso costo oltre ad avere un'affidabilità maggiore dei sistemi multichip che rimpiazzano. Il numero ridotto di componenti inoltre riducono il costo di montaggio e le dimensioni del prodotto.
Tuttavia come tutti i progetti VLSI gli elevati costi di sviluppo di soluzioni custom incidono in misura notevole sui costi totali e quindi questi integrati in genere finiscono per costare più di soluzioni basate su integrati generici.