Sistema en un chip

Unsistema en chip(SoC, del ingléssystem on a chip) describe la tendencia cada vez más frecuente de usar tecnologías de fabricación que integran todos o gran parte de los módulos que componen uncomputadoro cualquier otro sistemainformáticooelectrónicoen un únicocircuito integradoochip.
El diseño de estos sistemas puede estar basado en circuitos deseñal digital,señal analógica, o incluso de señal mixta (tantoanalógicacomodigital), y a menudo módulos o sistemas deradiofrecuencia(módulos decomunicación inalámbrica:Wi-Fi,Bluetooth, y otros).
Un ámbito común de aplicación de la tecnología SoC son lossistemas embebidos.
La diferencia principal de un SoC con unmicrocontroladortradicional no debe pasarse por alto, puesto que estos rara vez disponen de más de 100kilobytesdememoriaRAM(de hecho, lo más frecuente es que lasmemorias, tanto laRAMcomo laflash, de un microcontrolador consten de unos pocoskilobytes), y gran parte de estos son estructuras monochip, mientras que el término SoC es usado paraprocesadoresmás potentes y de arquitectura más compleja, como son los que integran los ordenadores y dispositivos actuales que dependen dechipso módulos de memoria externos para ser eficaces.
Para sistemas más grandes y complejos sería impropio hablar de SoC, convirtiéndose el término en tal caso, más en una mera referencia o directiva a seguir que en la propia realidad de estos:
Resultaría impropio, principalmente, porque los intereses de la mayoría de los proyectos desarrollados en esta área fijan sus objetivos en diseños tan específicos y complejos que no suelen permitir -debido al coste de estos- la implementación de todo el sistema en un solochip.
Estos suelen ser diseñados expresamente para una optimización en la realización de uno o varios de losprocesosque suponen la mayor parte de su rutina cotidiana de funcionamiento.
Una alternativa al diseño y fabricación de un SoC —cuando esto no sea rentable, por ejemplo— para una determinada aplicación es un sistemasistema en paqueteo SiP (system in package), que comprende un número determinado dechipsensamblados —no integrados como en un SoC— formando un solo paquete (de ahí el término).
A pesar de esto, se estima que la fabricación en gran volumen de SoC será más y más rentable (por unidad) que la de sistemas SiP, debido a que el rendimiento de fabricación unitario para un SoC es mayor y su montaje y empaquetado mucho más sencillos.​
Una tercera opción en la integración de sistemas electrónicos (presente, por ejemplo, enmóvilesde alta gama de hace menos de una década ominicomputadoresbasados en procesadoresOMAPdeTexas Instruments), es el apilado de diferentes capas de circuitos al ensamblarse el producto final (package-on-package, o PoP). Consiste, básicamente, en la soldadura de la placa/capa principal —normalmente la que contiene el procesador o circuito integrado primario— con placas superiores e/o inferiores mediante un entramado de esferas metálicas (encapsulado de tipo BGA, acrónimo deBall Grid Array). Este ensamblado proporciona a la estructura una forma de sándwich a la vez que interconecta el procesador o circuito primario con, por ejemplo, losbusesdememoriade una placa y capa diferentes que se apila con la principal.​ En algunos casos, cada una estas placas o capas independientes que formarán parte del producto final son fabricadas y distribuidas por empresas distintas entre sí, o de las que típicamente fabrican microcontroladores, microprocesadores o SoC.
Un SoC estándar está constituido por:
Estos módulos están unidos de acuerdo aestándaresindustriales para la interconexión debuses, aunque pueden seguir directrices de carácter propietario como por ejemplo laespecificación AMBA,arquitectura de busdiseñada porARM.
ControladoresDMAdedicados dirigen la información entreinterfacesexternas y la memoria principal, evitando el paso innecesario de ésta a través del procesador e incrementando así elvolumen de trabajodel SoC.
Un SoC está constituido, por una parte, delhardwarearriba descrito, y por otra delsoftwareque maneja el núcleo/s delmicrocontrolador,procesador, oDSP, además de losperiféricosypuertoso interfaces. Una buena planificación del diseño de un SoC tratará de desarrollar paralelamente la arquitectura física ohardwarey elsoftware.
La mayoría de SoC son desarrollados a partir de módulos dehardwarebásicos previamente probados para la construcción de diversos elementos (listados anteriormente) más complejos junto con loscontroladoresdesoftwareque proporcionan las instrucciones para su manejo. De gran importancia son lasfamilias de protocolos de Internetque manejan interfacesuniversalescomo el famosoUniversal Serial Buso USB. Los módulos dehardwarese posicionan sobre las placas de la manera más óptima (compactando en el espacio disponible la mayor cantidad posible de componentes) con ayuda de herramientasCAD, permitiendo elaborar un diseño previo de la arquitectura que se desea fabricar sin coste adicional. A su vez,los módulos desoftwarese implementan en el sistema final usando potentes herramientas de desarrollo, conocidas comoIDEySDE.
Un paso clave en la confección del SoC es laemulación: elhardwarese mapea tal y como será fabricado en una plataforma de emulación basada en unFPGA, que reproduce fielmente el comportamiento del SoC, con el fin de probar los módulos desoftware. Para ello, estos son cargados en lamemoriavolátil del emulador.
Una vez puesta a punto, la plataforma es puesta en funcionamiento: tanto elhardwarecomo elsoftwareréplicas del futuro SoC arrancan para ser probados ydepuradosbajo las condiciones más próximas a la máxima velocidad de trabajo del SoC. (La emulación va generalmente precedida de una ampliasimulaciónporsoftware, de hecho, losFPGAson usados principalmente para acelerar alguna parte concreta del proceso desimulación).
Tras la emulación satisfactoria delhardwaredel SoC, se procede a la fase deposicionamiento y encaminadode la circuitería (para lo cual se utilizan aplicacionesCAD, como ya se ha dicho antes), obteniendo el diseño óptimo para su fabricación en serie.
Loschipsson probados y verificados para posibles correcciones lógicas antes de enviarse a fundición definitivamente. Esta tarea se denominaverificación funcional, y garantiza un correcto funcionamiento, tiempo de operación y energía consumida, durante gran parte de suciclo de vida(aunque el porcentaje del 70 % a menudo asegurado por el fabricante es exagerado).​
LosHDLcomoVerilogoVHDLson herramientas comúnmente usadas en el proceso deverificación. Debido a la creciente complejidad de loschips, se están empezando a usarHDLmás avanzados como sonSystemVerilog,SystemC,e, oOpenVera.
Losbugsencontrados durante laverificaciónson redactados en un informe enviado al diseñador, para su correspondiente reparación.
Los SoC pueden ser fabricados usando diferentestecnologías, incluyendo:
Un SoC normalmente consume menos energía, tiene un coste inferior y una mayor fiabilidad que los sistemasmultichipa los que acaban reemplazando. Así pues, con menos piezas necesarias para el sistema, los costes de material y ensamblado se ven reducidos.
No obstante, como en muchos proyectosVLSI, el coste total inicial es superior para unchipmayor que para la misma funcionalidad distribuida enchipsmás pequeños, debido a rendimientos más bajos por el reducido tamaño de la tecnología de fabricación, más propensa a fallos, y unos costesNREmás elevados (los costesNREpueden entenderse como la inversión inicial para el desarrollo, investigación, fabricación y comprobación de un producto nuevo, capital susceptible de no ser recuperado al no estar asegurado el volumen mínimo de ventas para la rentabilidad del producto).