O que é um SoC?

¿Qué es un SoC?

Un System on Chip o SoC es un circuito integrado que incorpora la mayoría de los componentes presentes en un ordenador. Como su nombre indica, se trata de un sistema completo fabricado sobre un chip de silicio. La belleza de un SoC es que integra todos los componentes en un único sustrato. En los semiconductores, un sustrato es una fina película de silicio que se utiliza para fabricar circuitos integrados. A diferencia de la placa base tradicional, el SoC integra componentes reemplazables en un solo chip, reduciendo así el tamaño y aumentando la eficiencia.

Junto con el circuito integrado, un SoC incluye software y una estructura de interconexión para la integración. El enfoque de integración de hardware y software hace que el SoC sea más pequeño, permite un menor consumo de energía y es más confiable que un sistema multichip estándar.

Figura 1. De PCB a SoC.

Componentes de un SoC
Los SoC se pueden identificar en los siguientes tipos: construidos alrededor de un microcontrolador, construidos alrededor de un microprocesador, construidos para aplicaciones específicas y SoC programables (PSoC). Las partes integrales de un SoC incluyen un procesador, almacenamiento de memoria primaria y secundaria y puertos de entrada/salida. Los otros componentes vitales incluyen una unidad de procesamiento de gráficos (GPU), un módulo WiFi, un procesador de señal digital (DSP) y varios periféricos como USB, Ethernet, SPI (interfaz periférica serie), ADC, DAC e incluso FPGA. Normalmente tiene varios núcleos. Dependiendo de varios factores y preferencias decisivos, el núcleo puede ser un microcontrolador, un microprocesador, un DSP o incluso un ASIP (procesador de conjunto de instrucciones específicas de aplicación). Los ASIP tienen conjuntos de instrucciones basados ​​en una aplicación específica. Normalmente, los SoC utilizan la arquitectura ARM, que es una familia de RISC (Computación con conjunto de instrucciones reducidas), que requiere menos diseño digital, lo que lo hace compatible para su uso en sistemas integrados. La arquitectura ARM es mucho más eficiente energéticamente que procesadores como el 8051 porque, a diferencia de los procesadores que utilizan la arquitectura CISC, los procesadores con arquitectura RISC requieren menos transistores. Esto también reduce la disipación de calor y el costo.

El siguiente diagrama muestra un ejemplo de un diagrama de bloques de SoC.

FIG 2: Ejemplo de diagrama de bloques de SoC.

Procesador
En el corazón del SoC está su procesador. Suele tener varios núcleos de procesador. Varios núcleos permiten que se ejecuten diferentes procesos al mismo tiempo, lo que aumenta la velocidad del sistema al permitir que la computadora realice múltiples operaciones al mismo tiempo. Básicamente, el sistema operativo ve varios núcleos como varias CPU, lo que aumenta el rendimiento. Dado que se instalan varios núcleos en el mismo chip, hay menos latencia debido a una comunicación más rápida entre los núcleos. Un sistema multinúcleo tiene solo un zócalo de CPU multinúcleo. Por ejemplo, el siguiente sistema tiene cuatro núcleos y un zócalo.

Debido al hyper-threading, para un sistema operativo, un único núcleo aparece como dos unidades lógicas. Hyper-threading permite compartir recursos físicos entre dos CPU.

Figura 3. Ejemplo de procesadores multinúcleo y sus descripciones.

Procesador de señal digital (DSP)
El procesador de señal digital (DSP) es un chip optimizado para operaciones de procesamiento de señales digitales. Esto incluye operaciones para sensores, actuadores, procesamiento de datos y análisis de datos. Se puede utilizar para decodificar imágenes. El uso de DSP ahorra ciclos de CPU para otras tareas de procesamiento, lo que aumenta el rendimiento. Los DSP dedicados son más eficientes energéticamente, lo que los hace adecuados para su uso en SoC. El conjunto de instrucciones utilizado para los núcleos DSP es SIMD (instrucción única, datos múltiples) y VLIW (palabra de instrucción muy larga). El uso de esta arquitectura permite el procesamiento de instrucciones en paralelo y la ejecución superescalar. Los DSP se utilizan para realizar operaciones como la transformada rápida de Fourier, la convolución y la acumulación múltiple.

Recuerdos en un SoC
Los SoC tienen memorias basadas en aplicaciones. Las memorias son bloques de memoria semiconductores con fines informáticos. La memoria semiconductora generalmente se refiere a celdas de memoria semiconductoras de óxido metálico, que se fabrican en un solo chip de silicio. Los tipos de recuerdos son:

  • Memorias volátiles: Memorias que pierden datos después del apagado. En otras palabras, necesitan una fuente de energía constante para retener información. Las memorias volátiles son más rápidas y económicas, razón por la cual se eligen a menudo.

La RAM es un tipo de memoria volátil. Las RAM más utilizadas son la SRAM (RAM estática) y la DRAM (RAM dinámica). La SRAM está formada por celdas de memoria que constan de 1, 3 o 6 transistores (MOSFET). Por el contrario, la DRAM tiene sólo un MOSFET y un condensador que se carga y descarga según el estado del FET. Sin embargo, la DRAM está sujeta a corrientes de fuga de condensadores. Una ventaja importante de la DRAM es que es más barata que la SRAM. Si un SoC tiene una jerarquía de caché, se usa SRAM para el caché y DRAM para la memoria principal. Esto se debe a que la memoria caché requiere un tipo de memoria más rápida en comparación con la memoria principal.

También existen tipos de RAM diseñados para funciones no volátiles. Se trata de FRAM (RAM ferroeléctrica), MRAM (memoria de acceso aleatorio magnetorresistiva), que almacena datos en estados magnéticos, PRAM (memoria de acceso aleatorio de parámetros), que se utiliza en las computadoras Macintosh para almacenar configuraciones del sistema, incluida la configuración de visualización y zona horaria. . . Además de estos, existe la RRAM (Resistive Random Access Memory), que tiene un componente llamado memristor. Un memristor es una resistencia cuyo voltaje varía según el voltaje aplicado.

  • Memorias no volátiles: Memorias que retienen información incluso en ausencia de una fuente de energía. ROM (Memoria de sólo lectura) es un tipo de memoria no volátil. Los tipos de ROM incluyen EPROM (memoria de solo lectura programable y borrable), que es un conjunto de transistores de puerta flotante. UVROM (memoria de solo lectura programable y borrable por ultravioleta), que se borra con luz ultravioleta y se reprograma con datos, EEPROM (ROM programable y borrable eléctricamente) y flash.

El tipo de memoria seleccionado depende del diseño y las especificaciones de la aplicación.

Figura 4: Clasificación de memorias semiconductoras en un SoC.

Las empresas que fabrican principalmente memorias semiconductoras son Micron Technology, Intel Corporation, Western Digital.

Comunicación en chip
Tradicionalmente, la arquitectura de bus se utilizaba para la comunicación entre unidades de ejecución de SoC. Sin embargo, hoy en día, la tecnología de interconexión Network-On-Chip ha surgido como una tendencia para superar la arquitectura de bus.

Un ejemplo popular de comunicación por bus es el protocolo de bus AMBA (Arquitectura avanzada de bus de microcontrolador) de ARM. La arquitectura de bus se utiliza para conducir datos entre componentes. La arquitectura de bus en chip se puede clasificar en topologías de bus compartido, bus jerárquico y en anillo. Diferentes empresas han diseñado diferentes arquitecturas según el diseño y la aplicación del chip. Algunos ejemplos son Altera AVALON, IBM CORECONNECT, WISHBONE de Silicore Corporation.

Figura 5. Ejemplo de bus AMBA en un SoC.

Network-On-Chip emplea técnicas de red a nivel de sistema para la gestión del tráfico en el chip. El NOC es una red de estructura de conmutación homogénea y escalable que se utiliza para transportar paquetes de datos multifuncionales. Esta arquitectura está naturalmente superpuesta con tecnología definida por el usuario. La comunicación se produce a través de un esquema de comunicación de tres capas, a saber, Transacción, Transporte y Física.

El propósito de una estructura de interconexión NOC es reducir la congestión del enrutamiento de cables en el chip, mejorar el cierre de tiempos y una forma estandarizada de realizar cambios en múltiples IP en el diseño del SOC. Las arquitecturas NOC han demostrado ser más eficientes energéticamente y pueden cumplir con los requisitos de rendimiento.

Figura 6. Capas en una red en chip.

Interfaces externas
Las interfaces SOC se diferencian según la aplicación prevista. Las interfaces externas comúnmente se basan en protocolos de comunicación como WiFi, USB, Ethernet, I2C, SPI, HDMI. Si es necesario, se pueden agregar interfaces analógicas para interactuar con sensores y actuadores.

Otros componentes
Otros componentes necesarios para un SOC completamente funcional son fuentes de temporización como relojes, temporizadores, osciladores, sistemas de bucle de bloqueo de fase, reguladores de voltaje y unidades de administración de energía.

Flujo de diseño de SoC
El flujo de diseño de SoC apunta al codiseño arquitectónico, que diseña hardware y software al mismo tiempo. El flujo de diseño debe tener en cuenta los objetivos de optimización y diversas restricciones. El siguiente diagrama es un ejemplo de un flujo de diseño de SoC, desde las especificaciones hasta la fabricación. Equipos separados realizan cada uno de los pasos involucrados en la fabricación de un SoC.

Un SoC se fabrica utilizando tecnología MOS. Hoy en día, la tecnología MOS más pequeña es la tecnología de 3 nm desarrollada por TSMC y Samsung. Sin embargo, la mayoría de los dispositivos actuales utilizan tecnología de 10 nm. El proceso de fabricación implica generar el diseño de la lista de redes, seguido del flujo de diseño físico. Durante todo el proceso se presta especial atención al análisis de temporización estática (STA), que es el cálculo de temporizaciones en un circuito digital. La STA también se utiliza para validar el rendimiento del tiempo y verificar cualquier infracción del tiempo. Las violaciones de sincronización pueden conducir a la metaestabilidad, que ocurre cuando los flip-flops en un circuito digital están en un estado desconocido (ni 1 ni 0).

Figura 7. Flujo de diseño de SoC.

En la Etapa 1 de fabricación, se analizan las especificaciones de diseño y se genera una lista de IP necesarios para realizar las especificaciones. Estas IP o propiedades intelectuales a menudo se subcontratan a proveedores de IP externos. Estas IP pueden ser Soft Cores, Hard Cores o Firm Cores, dependiendo del nivel de flexibilidad para cambiar parámetros. Las IP también pueden ser realizadas por la misma empresa.

En el Paso 2, las IP se integran para generar una descripción RTL de todo el proyecto. RTL significa Register Transfer Level, que incluye el uso de varios lenguajes descriptivos de hardware como Verilog, System Verilog y VHDL. RTL modela un circuito digital síncrono entre registros de hardware.

En el paso 3, el integrador de SoC genera una lista de red a nivel de puerto. Una lista de red a nivel de puerto contiene datos sobre la conectividad lógica de celdas estándar, incluidas celdas combinacionales, secuenciales y de red. Una red es un grupo de dos o más componentes interconectados. Las herramientas de diseño para prueba (DFT) se utilizan para mejorar la capacidad de prueba.

En el paso 4, la lista de red a nivel de puerta se convierte en un diseño basado en el proceso de diseño físico que también se puede importar en esta etapa. El diseño físico implica convertir las representaciones de circuitos de un diseño en formas geométricas, lo que hace que los componentes funcionen después de la fabricación.

En el Paso 5, asumiendo que el análisis de sincronización estática y el análisis de potencia están completos, se desarrolla un diseño final y se envía a fabricación.

En el Paso 6, se verifica el chip fabricado en su ensamblaje. Antes de este paso se comprueba cuidadosamente la corrección lógica de los chips. Esta verificación se denomina verificación funcional y es responsable de una parte importante del proceso. Para realizar la verificación, lenguajes como SystemC y System Verilog se están volviendo cada vez más populares para adaptarse a la complejidad.

Es importante recordar que realizar cambios en un chip después de su fabricación es muy difícil y costoso. En consecuencia, la emulación del diseño (creación de prototipos) se realiza antes de la fabricación. Esto se hace popularmente usando FPGA (Field Programmable Gate Array) porque es reprogramable y permite la depuración.

Ventajas y desventajas del SoC
El principal objetivo de un SoC es minimizar los componentes externos. Por tanto, tiene las siguientes ventajas frente a un ordenador de placa única:

  1. Tamaño: El SoC tiene el tamaño de una moneda. Debido al tamaño cada vez menor de la tecnología MOS, los SOC pueden ser muy pequeños y aun así poder realizar tareas complejas. El tamaño no afecta las capacidades del chip.
  2. Disminución del consumo de energía: Un SoC está optimizado para dispositivos de bajo consumo de energía, como teléfonos móviles. El bajo consumo de energía da como resultado una mayor capacidad de la batería de los teléfonos móviles.
  3. Flexibilidad: los SoC son fácilmente reprogramables, lo que los hace flexibles. Permiten la reutilización de IP.
  4. Fiabilidad: los SoC ofrecen una alta seguridad de circuito y una complejidad de diseño reducida.
  5. Rentable: principalmente debido a la menor cantidad de componentes físicos y la reutilización del diseño.
  6. Operación de circuito más rápida

Los SoC también tienen algunas desventajas:

  1. Consume mucho tiempo: todo el proceso, desde el diseño hasta la fabricación, puede tardar de 6 meses a 1 año. En consecuencia, el tiempo de comercialización de la demanda es muy alto.
  2. Los requisitos de verificación del diseño son muy altos y consumen el 70% del tiempo total. DV es tedioso debido a la creciente complejidad del diseño de SoC.
  3. La disponibilidad y compatibilidad de las IP desempeñan un papel muy importante, lo que puede aumentar el tiempo de comercialización.
  4. Aumento exponencial de los costes de fabricación.
  5. Para productos de bajo volumen, es posible que SoC no sea la mejor opción.

Formularios
La aplicación más común de los SOC en la actualidad son las aplicaciones móviles, incluidos teléfonos inteligentes, relojes inteligentes y tabletas. Otras aplicaciones incluyen procesamiento de señales de voz, interfaces de PC y comunicaciones de datos. Los SoC también se están aplicando a las computadoras personales debido a la integración de módulos de comunicación como LTE y redes inalámbricas en el chip.

Los SoC más populares del mercado actual son fabricados por Qualcomm Technologies para teléfonos inteligentes, relojes inteligentes y la próxima compatibilidad con la red 5G. Otros fabricantes incluyen Intel Technology, Samsung Inc, Apple Inc., entre muchos otros.

contenido relacionado

Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.