¿Está volviendo a estar de moda el diseño de FPGA?

Creado: Noviembre 1, 2021
Actualizado: Julio 1, 2024

Derivado de la revolución de los ASIC en los años 70 surgió la revolución de los MCU, MPU y FPGA, donde los controladores anfitriones se construyeron en un solo chip lleno de bloques lógicos y muchas características integradas. En 2021, algunos en la industria han declarado que los FPGA son ahora la plataforma de elección para aplicaciones avanzadas. Ve lo que la gente está diciendo y dónde podrías optar por un FPGA en tu diseño.

No soy lo suficientemente mayor para recordar los años 70, una época en la que los ASIC estaban abriéndose camino en el mercado y finalmente ayudando a mayores niveles de integración y reducción del factor de forma. El legado de los ASIC continúa hasta el día de hoy, y los fabricantes populares todavía ofrecen una amplia gama de chips que realizan funciones especializadas con una pequeña huella. Algunas de las tareas que habrían sido muy difíciles de implementar en lógica programable de propósito general de repente se hicieron fáciles de implementar cuando esas funciones se integraron en un ASIC con lógica especializada o características dedicadas. A principios de la misma década, Intel introdujo los microcontroladores, dando a los diseñadores todo lo que necesitaban para construir sistemas más integrados en lugar de depender de circuitos lógicos discretos.

Después de los ASIC y los MCU vinieron los arreglos de puertas programables en campo en 1984, con el primer componente introducido por Xilinx. Al principio, los diseñadores de ASIC estaban usando FPGA para emular la lógica que pretendían implementar en sus diseños ASIC como una especie de plataforma de prueba. Con el tiempo, los FPGA se implementaron en más hardware de producción, ya sea como complemento de los ASIC típicos o para implementar funciones lógicas especializadas que no estaban disponibles en otros procesadores o ASIC. El número de interfaces disponibles en las plataformas FPGA también se ha expandido hasta el punto en que un FPGA puede usarse como el controlador anfitrión para cualquier sistema embebido.

Hoy en día, el diseño de FPGA sigue siendo popular entre los desarrolladores embebidos experimentados, y las tasas de crecimiento proyectadas en el mercado global de FPGA varían desde un 6.4% hasta un 10% CAGR durante los próximos 6-7 años. Solo para referencia, la estimación más alta está a la par con el CAGR proyectado del 10.1% en el mercado global de MCU. La pregunta para el diseñador embebido es, ¿qué está impulsando la popularidad de los FPGA en comparación con otras plataformas, y debería un FPGA ser tu punto de partida para un nuevo diseño? Examinaremos más estas preguntas mientras comparamos algunas opciones de arquitectura de sistema para un nuevo sistema embebido.

¿Qué está impulsando los nuevos diseños FPGA?

Los FPGA siempre han sido populares en algunos casos amplios gracias a su adaptabilidad, como se discutió en un artículo anterior en este blog. Algunas de las áreas de alto nivel donde los FPGA fueron tradicionalmente exitosos incluyen:

  • Implementación de lógica especializada en plataformas compactas, que normalmente necesitarían ser implementadas usando lógica secuencial lenta en MCUs

  • Áreas de aplicación o productos donde el tiempo de salida al mercado es crítico debido al largo tiempo de desarrollo para los ASICs

  • Cualquier aplicación que requiera virtualización o emulación de hardware

  • Cualquier producto que pueda requerir una reprogramación rápida sin conectarse a un sistema externo

Si no estás familiarizado con el diseño y programación de FPGA, pero conoces algunas de las ideas básicas que rigen la operación de FPGA, entonces la lista anterior no debería ser sorprendente. Estas son áreas bastante amplias a considerar, pero se traducen en aplicaciones reales en varias industrias.

FPGA vs. MPU/MCUs y ASICs

Notarás arriba que he pasado mucho tiempo haciendo referencia a los ASICs como el principal competidor de los FPGA. De hecho, la enorme gama de componentes permite a los desarrolladores embebidos mezclar y combinar su MCU, funciones especializadas con ASICs, y periféricos o interfaces de baja velocidad. Los FPGA llevan varias ventajas en diferentes áreas, y vale la pena comparar todas estas opciones en lo que respecta a un sistema embebido.

De la lista anterior, debería estar claro el papel que pueden jugar los FPGA: controladores anfitriones adaptables para sistemas embebidos que son agnósticos de aplicación y SO. Un diseño FPGA ofrece la ventaja adicional de la actualización, siempre y cuando el diseño de la placa y del sistema puedan acomodar estos cambios. Una vez que miremos algunas aplicaciones más nuevas en la industria, debería estar claro por qué los FPGA son más populares hoy en día, con su popularidad solo esperada para crecer en el futuro cercano.

Principales Usuarios Industriales

No hay una única categoría de producto que haya sido tradicionalmente responsable del consumo de FPGA. Desde que fueron introducidos por primera vez, los principales consumidores industriales de FPGA incluyen sistemas de telecomunicaciones, mil-aero, automotriz, productos de consumo ligero e incluso la industria del petróleo y gas. De hecho, algunas de las tecnologías originales que se convertirían en FPGA fueron originalmente desarrolladas bajo Zilog, una subsidiaria de Exxon cuya PI fue más tarde adquirida por Xilinx.

A medida que los FPGA han ganado popularidad, el enfoque se ha desplazado hacia otras industrias que requieren lógica especializada implementada directamente en un solo procesador, a pesar del enorme número de ASICs de muchos proveedores que podrían cubrir los mismos diseños. Como ejemplo, muchos productos de tarjetas mezzanine y tarjetas hijas en el mercado mil-aero usan FPGA como una plataforma de computación embebida adaptable que proporciona tasas de datos extremadamente rápidas con acceso a múltiples periféricos y tarjetas a través de un backplane. Telecomunicaciones y redes siguen siendo una área de aplicación con un amplio diseño y desarrollo de FPGA debido al tiempo de salida al mercado más rápido requerido y la relativa facilidad de actualizaciones para acomodar cambios en estándares y despliegues tecnológicos.

Diseño y Desarrollo de FPGA Hoy

Las áreas destacadas anteriormente no han visto una disminución en el uso de FPGA. La telecomunicación es un área a destacar; como ejemplo, Huawei es uno de los mayores consumidores de FPGAs del mundo, e incluso comercializan una plataforma de "nube FPGA", ofreciendo computación en la nube acelerada como servicio. Incluso hay un repositorio en GitHub de Huawei Cloud para ayudar a los usuarios a comenzar con el desarrollo de aplicaciones. El uso de FPGA en su infraestructura también ha contribuido a su capacidad para implementar servicios 5G antes que otras telecomunicaciones. Hoy en día, las mismas ventajas identificadas anteriormente están impulsando el diseño y desarrollo de FPGA en dos áreas: robótica e IA. Aunque las dos áreas están profundamente vinculadas, la IA es, sin duda, un motor mucho más grande de nuevo diseño y desarrollo de FPGA.

La IA está Impulsando el Diseño y Uso de FPGA

Los líderes en el espacio de FPGA proyectan que la implementación de IA en más sistemas de hardware impulsará cambios importantes en el uso de silicio en estos componentes. Esto no quiere decir que no se pueda usar un MCU en robótica o IA ligera; la proliferación de módulos aceleradores de IA que se conectan a través de USB o un puente PCIe ilustra un esfuerzo por acomodar a los desarrolladores de MCU/MPU para sistemas embebidos inteligentes. Sin embargo, los FPGAs son una plataforma mucho más adaptable donde los cálculos de inferencia se pueden realizar muy rápidamente paralelizando el cálculo; el tejido FPGA se puede personalizar para ajustarse al algoritmo, mientras que la lógica secuencial en GPUs/MCUs/MPUs no puede.

Un componente más reciente que se está utilizando en sistemas embebidos de alto cálculo, incluidos sistemas que implementan inferencia de IA a bordo, es el Zynq-7000 All Programmable series SoC de Xilinx. Este componente funciona hasta 866 MHz con un procesador de aplicaciones basado en el núcleo ARM Cortex-A9. Interfaces adicionales como Ethernet gigabit, DDR, Flash, PCIe y un alto conteo de GPIO hacen que este componente sea fácil de integrar en sistemas de cómputo periférico. Interfaces de baja velocidad como I2C y SPI también permiten que el Zynq opere con ASICs que capturan datos de sensores analógicos u otras interfaces estándar (CANBus, RS-485, etc.).

Xilinx es uno de los líderes en IA en FPGAs, y proporcionan abundantes recursos para desarrolladores. Un desarrollo interesante con el procesador Zynq es la implementación de Python en Zynq, o PYNQ como lo llama Xilinx. Otros proveedores de FPGA están ampliando sus líneas de productos para competir con Zynq, por lo que los desarrolladores de IA embebida tendrán muchas opciones para el cálculo de IA en dispositivo usando un diseño FPGA.

Desafíos en el Uso de FPGAs

Los FPGAs son excelentes plataformas para el desarrollador experimentado que trabaja en áreas de aplicación más avanzadas. Cuando el panorama de estándares, el panorama de soluciones ASIC y las capacidades de MCU/MPU son insuficientes o están cambiando rápidamente, un FPGA probablemente sea una mejor opción para un nuevo sistema. Aunque los FPGAs han permitido el éxito en una gama de áreas, llevan consigo su propio conjunto de desafíos de hardware y desarrollo:

  • Gestión térmica: Al igual que sus primos los MCU/MPU, los FPGA pueden generar una cantidad significativa de calor, dependiendo del tamaño del componente. Este no es un desafío nuevo, aunque se complica por los requisitos de diseño en sistemas compactos de alto cálculo como la computación en el borde, o en equipos de 5G de alta potencia. Algunos de mis clientes han considerado estrategias de disipación de calor que involucran disipadores de calor únicos o la unión al recinto en estos sistemas.

  • Colocación y enrutamiento: En aplicaciones de alto cálculo, todavía hay un desafío con las tareas de colocación y enrutamiento, donde el software propietario del proveedor se mapea en la tela FPGA. Esto lleva tiempo ya que el software compilador tiene que usar un algoritmo para encontrar un mapeo que soporte todas las funciones lógicas en las aplicaciones. Las áreas de aplicación donde esto es un desafío son la computación de alto rendimiento y los centros de datos. Esto también podría ser problemático en IA cuando un FPGA se usa para tareas a nivel de sistema además de inferencia/entrenamiento.

  • Recursos de desarrollo: La comunidad de desarrolladores de FPGA no es tan grande como la comunidad de ASIC + MCU, o la comunidad de software de código abierto en su conjunto. Los MCU son más fáciles para los desarrolladores inexpertos de comenzar a usar gracias a plataformas enormemente populares como Arduino y ESP32. Sin embargo, los proveedores de FPGA han mejorado mucho en proporcionar recursos a los desarrolladores para que puedan implementar rápidamente soluciones en FPGAs. El número de nuevos proyectos de FPGA en GitHub también ha mantenido el ritmo con los proyectos de MCU, como se muestra en la tabla a continuación.

¿Cómo serán los FPGA en el futuro?

Los FPGA actuales asignan aproximadamente el 50% o más del área de silicio a IOs ya que los productos basados en FPGA anteriores requerían la interfaz con una amplia gama de periféricos a través de múltiples interfaces. A medida que el enfoque se desplaza más hacia aplicaciones de alto cálculo como la IA, no se sorprenda cuando se dedique más área de silicio a bloques de cálculo de IA, posiblemente con interconexiones en evolución y movimiento de datos flexible en tiempo de ejecución. La integración heterogénea también se filtrará en los SoC FPGA, donde los bloques de IA, GPU/TPU, memorias de alto ancho de banda y front-ends de RF se combinan en un solo paquete compacto.

Aunque los FPGA pueden tener características de ASIC implementadas y reprogramadas en la tela FPGA según sea necesario, todavía son un excelente complemento para los sistemas basados en ASIC. Una arquitectura de diseño que tiene sentido es colocar todas las características que pueden requerir actualizaciones en el FPGA, mientras se utiliza la estandarización de ASICs para interactuar con periféricos más simples como sensores y buses de datos. Esto ciertamente reduce el tiempo de diseño de FPGA ya que los desarrolladores pueden concentrarse en perfeccionar las características de alto cálculo que se necesitan en el producto final. Si desea utilizar este tipo de arquitectura en sistemas embebidos inteligentes, probablemente necesitará varios otros componentes:

Cuando necesites encontrar componentes para tu próximo diseño FPGA, utiliza las funciones avanzadas de búsqueda y filtrado en Octopart. Al usar el motor de búsqueda de electrónica de Octopart, tendrás acceso a datos de precios de distribuidores actualizados, inventario de partes y especificaciones de partes, y todo es libremente accesible en una interfaz amigable. Echa un vistazo a nuestra página de circuitos integrados para encontrar los componentes que necesitas.

Mantente al día con nuestros últimos artículos suscribiéndote a nuestro boletín.

 

 

 

 

 

Recursos Relacionados

Volver a la Pàgina de Inicio
Thank you, you are now subscribed to updates.