System on a chip

De El Museo de los 8 Bits
(Redirigido desde «SoC»)
Ir a la navegación Ir a la búsqueda
AMD Geode es un ejemplo de un system-on-a-chip basado en la arquitectura x86
La Raspberry Pi usa un system on a chip como un microordenador casi completamente autocontenido (este SoC no contiene RAM o cualquier tipo de memoria de almacenamiento que es común para SoC microprocesador).
AMD Am286ZX/LX, SoC basado en 80286

System-on-a-chip o SoC (sistema en chip, también referido como system-on-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 un ordenador o cualquier otro sistema informático o electrónico en un único circuito integrado o chip.

El diseño de estos sistemas puede estar basado en circuitos de señal digital, señal analógica, o incluso de señal mixta (tanto analógica como digital), y a menudo módulos o sistemas de radiofrecuencia (módulos de comunicación inalámbrica: Wi-Fi, Bluetooth, etc.).

Un ámbito común de aplicación de la tecnología SoC son los sistemas embebidos.

La diferencia principal de un SoC con un microcontrolador tradicional no debe pasarse por alto, puesto que estos rara vez disponen de más de 100 Kilobytes de memoria RAM (de hecho, lo más frecuente es que las memorias, tanto la RAM como la flash, de un microcontrolador tan solo consten de unos pocos Kilobytes), y gran parte de estos son estructuras mono-chip, mientras que el término SoC es usado para procesadores más potentes y de arquitectura más compleja, como son los que integran los ordenadores y dispositivos actuales que dependen de chips o 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 éstos:

Aumentar la integración en un mismo chip con el objetivo de reducir costes y construir sistemas cada vez más reducidos (capaces de lo mismo o más que sistemas más antiguos y voluminosos).

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 solo chip. Estos suelen ser diseñados expresamente para una optimización en la realización de uno o varios de los procesos que 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 sistema System-in-package (ó SiP), que comprende un número determinado de chips ensamblados (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.[1]

Una tercera opción en la integración de sistemas electrónicos, presente por ejemplo en teléfonos móviles de alta gama, o el Beagle Board (un sencillo ordenador de baja potencia basado en el procesador OMAP de Texas Instruments), es el apilado de diferentes placas de circuitos al ensamblarse el sistema (package-on-package, o PoP). Consiste, básicamente, en la soldadura de la placa principal -la que contiene el procesador- con placas superiores e inferiores mediante un entramado de esferas metálicas (BGA, Ball Grid Array) en forma de anillo. Estas proporcionan consistencia a la estructura en forma de sandwich a la vez que interconectan el procesador (y demás componentes principales) con los buses de memoria situada en una placa diferente apilada debajo o sobre la principal.

(Normalmente estas placas son fabricadas y distribuidas por diferentes empresas que las que diseñan microcontroladores, microprocesadores y SoCs).[2]

Arquitectura

Un SoC estándar está constituido por:

Estos módulos están unidos de acuerdo a estándares industriales de conexión de buses como también a tecnologías propietarias como por ejemplo la Especificación AMBA, arquitectura de bus diseñada por ARM Ltd.

Controladores DMA dedicados dirigen la información entre interfaces externas y la memoria principal, evitando el paso innecesario de ésta a través del procesador e incrementando así el volumen de trabajo del SoC.

System-on-a-Chip basado en un microcontrolador

Proceso de diseño

Un SoC está constituido, por una parte, del hardware arriba descrito, y por otra del software que maneja el (o los) núcleo(s) del microcontrolador, procesador, o DSP, además de los periféricos y puertos o interfaces. Una buena planificación del diseño de un SoC tratará de desarrollar paralelamente la arquitectura física o hardware y el software.

La mayoría de SoC son desarrollados a partir de módulos de hardware básicos previamente testeados para la construcción de diversos elementos (listados anteriormente) más complejos junto con los controladores de software que proporcionan las instrucciones para su manejo. De gran importancia son las familias de protocolos de Internet que manejan interfaces universales como el famoso Universal Serial Bus. Los módulos de hardware se posicionan sobre las placas de la manera más óptima (compactando en el espacio disponible la mayor cantidad posible de componentes) con ayuda de herramientas CAD, permitiendo elaborar un diseño previo de la arquitectura que se desea fabricar sin coste adicional. A su vez, los módulos de software se implementan en el sistema final usando potentes herramientas de desarrollo, conocidas como IDE y SDE.

Un paso clave en la confección del SoC es la emulación: el hardware se mapea tal y como será fabricado en una plataforma de emulación basada en un FPGA, que reproduce fielmente el comportamiento del SoC, con el fin de testear los módulos de software. Para ello, estos son cargados en la memoria volátil del emulador.

Una vez puesta a punto, la plataforma es puesta en funcionamiento: tanto el hardware como el software réplicas del futuro SoC arrancan para ser testados y depurados bajo las condiciones más próximas a la máxima velocidad de trabajo del SoC. (La emulación va generalmente precedida de una amplia simulación por software, de hecho, los FPGAs son usados principalmente para acelerar alguna parte concreta del proceso de simulación).

Tras la emulación satisfactoria del hardware del SoC, se procede a la fase de posicionamiento y encaminado de la circuitería (para lo cual se utilizan aplicaciones CAD, como ya se ha dicho antes), obteniendo el diseño más óptimo para su fabricación en serie.

Los chips son testados y verificados para posibles correcciones lógicas antes de enviarse a fundición definitivamente. Esta tarea se denomina verificación funcional, y garantiza unos correctos funcionamiento, tiempo de operación y energía consumida, durante gran parte de su ciclo de vida (aunque el porcentaje del 70% a menudo asegurado por el fabricante es exagerado).[3] HDLs como Verilog o VHDL son herramientas comúnmente usadas en el proceso de verificación. Debido a la creciente complejidad de los chips, se están empezando a usar HDLs más avanzados como son SystemVerilog, SystemC, e, o OpenVera.

Los bugs encontrados durante la verificación son redactados en un informe enviado al diseñador, para su correspondiente reparación.

Diagrama de flujo que ilustra el proceso de diseño de un System-on-a-Chip

Fabricación

Los SoC pueden ser fabricados usando diferentes tecnologías, incluyendo:

Un SoC normalmente consume menos energía, tiene un coste inferior y una mayor fiabilidad que los sistemas multi-chip a 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 proyectos VLSI, el coste total inicial es superior para un chip mayor que para la misma funcionalidad distribuida en chips má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 costes NRE más elevados (los costes NRE pueden entenderse como la inversión inicial para el desarrollo, investigación, fabricación y testeo 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).

Véase también

Referencias

  1. «The Great Debate: SOC vs. SIP». Eetimes.com. Consultado el 12 de agosto de 2009.
  2. Listado de fabricantes de memorias informáticas
  3. «Is verification really 70 percent?». Eetimes.com. Consultado el 12 de agosto de 2009.
  4. Application-specific instruction-set processor (en inglés)
  5. Krait (CPU) (en inglés)

Enlaces externos

Atribución

Este artículo proviene originalmente de Wikipedia
que lo licencia simultáneamente bajo las licencias

Creative Commons Reconocimiento - CompartirIgual 3.0
y la licencia de documentación libre GNU v.1.2 y posteriores
El Museo de los 8 Bits lo integra en su wiki bajo cc-by-sa-3.0

Creative Commons License
GNU head