System on a chip

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
AMD Geode es un ejemplo de un system-on-a-chip basado en la arquitectura x86

System-on-a-chip o SoC (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 componentes de un computador 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 radio-frecuencia (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 la(s) memoria(s) de un microcontrolador tan sólo conste(n) 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 complejos, como son los de los ordenadores 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 SoCs, convirtiéndose el término, en este caso, en una mera referencia o directiva a seguir que la propia realidad de estos:

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 proceso(s) que suponen gran parte de la rutina 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 en uno solo. A pesar de esto, se estima que la fabricación en gran volumen de SoCs será más rentable 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 computador 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. Éstas proporcionan consistencia a la estructura en forma de sándwich 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 empresas diferentes de las que diseñan microcontroladores, microprocesadores y SoCs).[2]

Arquitectura[editar]

Un SoC estándar está constituido por:

Estos módulos están interconectados 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[editar]

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 SoCs 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 testeados 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 testeados 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[editar]

Los SoCs 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[editar]

Referencias[editar]

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

Enlaces externos[editar]