System-on-a-chip oSoC (traduït seria sistema en un xip), descriu la tendència cada vegada més freqüent d'usar tecnologies de fabricació que integren tots o gran part dels mòduls components d'unordinador o qualsevol altre sistemainformàtic oelectrònic en un úniccircuit integrat o xip. El disseny d'aquests sistemes pot estar basat en circuits desenyal digital,senyal analògic, o fins i tot de senyal mixt (tantanalògic comdigital), i sovint mòduls o sistemes deradiofreqüència (mòduls decomunicació sense fils:Wi-Fi,Bluetooth, etc.). Un àmbit comú d'aplicació de la tecnologia SoC són elssistemes embeguts.
Les diferència principal d'un SoC amb unmicrocontrolador tradicional no ha de passar per alt, ja que aquests poques vegades disposen de més de 100Kilobytes dememòriaRAM (de fet, el més freqüent és que lesmemòries d'unmicrocontrolador només consti (n) d'uns pocsKilobytes), i gran part d'aquests són estructures mono-xip, mentre que el terme SoC és usat perprocessadors més potents i complexos, com són els dels ordinadors actuals, i que depenen dexip sobre mòduls dememòria externs per ser eficaços.[1] Per a sistemes més grans i complexos seria impropi parlar de SoCs, convertint-se el terme, en aquest cas, en una mera referència o directiva seguir que la pròpia realitat d'aquests:
Resultaria impropi, principalment, perquè els interessos de la majoria dels projectes desenvolupats en aquesta àrea fixen els seus objectius en dissenys tan específics i complexos que no solen permetre-a causa del cost d'aquests-la implementació de tot el sistema en un solxip.Aquests solen ser dissenyats expressament per a una optimització en la realització d'un (o més) dels processos que suposen gran part de la rutina de funcionament.
Una alternativa al disseny i fabricació d'un SoC-quan això no sigui rendible, per exemple-per a una determinada aplicació és un sistemaSystem-in-package (o SiP), que comprèn un nombre determinat dexips acoblats en un de sol. Tot i això, s'estima que la fabricació en gran volum de SoCs serà més rendible que la de sistemes SiP, pel fet que el rendiment de fabricació unitari per a un SoC és gran i el seu muntatge i empaquetat molt més senzills.[2]
Una tercera opció en la integració de sistemes electrònics, present per exemple en telèfonsmòbils d'alta gamma, o elBoard (un senzill ordinador de baixa potència basat en el processadorOMAP deTexas Instruments), és l'apilament de diferents plaques de circuits en assemblar el sistema (package-on-package oPOP). Consisteix, bàsicament, en la soldadura de la placa principal-la que conté el processador-amb plaques superiors i inferiors mitjançant un entramat d'esferes metàl·liques (BGA,ball grid array) en forma d'anell. Aquestes proporcionen consistència a l'estructura en forma de sandvitx alhora que interconnecten el processador (i altres components principals) amb elsbusos dememòria situada a una placa diferent apilades sota o sobre la principal. Normalment aquestes plaques són fabricades i distribuïdes per diferents empreses que les que dissenyenmicrocontroladors, microprocessadors i SoCs.[3]
Un SoC estàndard està constituït per:
Aquests mòduls estan interconnectats d'acord ambestàndards industrials de connexió debusos com també a tecnologies propietàries com ara l'especificacióAMBA, arquitectura debus dissenyada perARM Ltd. ControladorsDMA dedicats dirigeixen la informació entreinterfícies externes i la memòria principal, evitant el pas innecessari d'aquesta a través del processador i incrementant així elvolum de treball del SoC.
Un SoC està constituït, d'una banda, pelmaquinari amunt descrit, i per una altra delprogramari que gestiona els (o els) nucli (s) delmicrocontrolador,processador, oprocessador de senyals digitals, a més delsperifèrics iports o interfícies. Una bona planificació del disseny d'un SoC tractarà de desenvolupar paral·lelament l'arquitectura física o maquinari i el programari.
La majoria de SoCs són desenvolupats a partir de mòduls demaquinari bàsics prèviament testejats per a la construcció de diversos elements (llistats anteriorment) més complexos juntament amb elscontroladors de programari que proporcionen les instruccions per al seu maneig. De gran importància són lesfamílies de protocols d'Internet que manegen interfíciesuniversals com el famósuniversal serial bus (USB). Els mòduls de maquinari es posicionen sobre les plaques de la manera més òptima (compactant en l'espai disponible la major quantitat possible de components) amb ajuda d'einesCAD, permetent elaborar un disseny previ de l'arquitectura que es desitja fabricar sense cost addicional. Al seu torn, elsmòduls de programari s'implementen en el sistema final usant potents eines de desenvolupament, conegudes com aIDE iSDE.
Un pas clau en la confecció del SoC és l'emulació: elmaquinari es mapa tal com serà fabricat en una plataforma d'emulació basada en unFPGA, que reprodueix fidelment el comportament del SoC, per tal de testejar els mòduls deprogramari. Per això, aquests són carregats a lamemòria volàtil de l'emulador. Un cop posada a punt, la plataforma és posada en funcionament: tant el maquinari com el programari rèpliques del futur SoC arrenquen per ser testejats idepurats sota les condicions més pròximes a la màxima velocitat de treball del SoC. (L'emulació va generalment precedida d'una àmpliasimulació per programari, de fet, elsFPGAs són usats principalment per accelerar alguna part concreta del procés desimulació).
Després de l'emulació satisfactòria del maquinari del SoC, es procedeix a la fase deposicionament i encaminat de lacircuiteria (per a això s'utilitzen aplicacionsCAD, com ja s'ha dit abans), obtenint el disseny més òptim per a la seva fabricació en sèrie.
Elsxips són testejats i verificats per possibles correccions lògiques abans d'enviar a fosa definitivament. Aquesta tasca s'anomenaverificació funcional, i garanteix uns correctes funcionament, temps d'operació i energia consumida, durant gran part del seucicle de vida (encara que el percentatge del 70% sovint assegurat pel fabricant és exagerat).[4]
HDLs comVerilog oVHDL són eines comunament usades en el procés deverificació. A causa de la creixent complexitat delsxips, s'estan començant a usar HDLs més avançats com sónSystemVerilog,SystemC, i (llenguatge de verificació), oOpenVera. Elsbugs trobats durant la verificació són redactats en un informe enviat al dissenyador, per la seva corresponent reparació.
Els SoCs poden ser fabricats utilitzant diferents tecnologies, incloent:
Un SoC normalment consumeix menys energia, té un cost inferior i una major fiabilitat que els sistemes multi-xip als que acaben reemplaçant. Així doncs, amb menys peces necessàries per al sistema, els costos de material i acoblament es veuen reduïts.[5]
Tanmateix, com en molts projectesVLSI, el cost total inicial és superior per a unxip més gran que per a la mateixa funcionalitat distribuïda enxips més petits, a causa a rendiments més baixos per la reduïda grandària de la tecnologia de fabricació, més propensa a errors, i uns costosNRE més elevats (els costosNRE poden entendre com la inversió inicial per al desenvolupament, investigació, fabricació i testeig d'un producte nou, capital susceptible de no ser recuperat en no estar assegurat el volum mínim de vendes per a la rendibilitat del producte).