Cómo utilizar FPGA en aplicaciones con recursos limitados

Por Kenton Williston

Colaboración de Editores de DigiKey de América del Norte

La necesidad de lógica configurable es cada vez mayor en los sistemas integrados con recursos limitados. Aplicaciones como la inteligencia artificial avanzada, la visión artificial y la automatización industrial requieren una lógica flexible y específica de la aplicación para satisfacer las cambiantes demandas de rendimiento al tiempo que se opera dentro de estrictos límites de potencia, tamaño y costo. Las modernas matrices de puertas programables en campo (FPGA) pueden dar respuesta a estas demandas contrapuestas.

En este artículo se repasan los principales criterios de diseño que deben tenerse en cuenta a la hora de seleccionar una FPGA para aplicaciones con recursos limitados. A continuación, describe cómo las diferentes líneas de productos se alinean con escenarios específicos utilizando ejemplos de la cartera de FPGA de potencia y coste optimizados de Altera. Concluye destacando los kits de desarrollo y las placas de evaluación que pueden utilizarse para crear prototipos y validar conceptos de diseño.

Consideraciones para elegir una FPGA

La elección de una FPGA para un sistema con recursos limitados implica la consideración de múltiples requisitos de diseño y su adecuación a la solución correcta. Hay que tener en cuenta varias características clave de las FPGA:

Capacidad de elementos lógicos (LE): Como componente fundamental de una FPGA, el número de LE determina la cantidad de lógica personalizada que se puede implementar. Los recuentos más altos permiten diseños más complejos: la contrapartida es un aumento de la potencia, el costo y el tamaño del paquete.

E/S y memoria: Las FPGA se utilizan a menudo para conectar componentes dispares dentro de un sistema, por lo que el número de pines de E/S es una consideración clave. Para aumentar el rendimiento de E/S, muchas FPGA incorporan bloques lógicos fijos y reforzados para interfaces como PCI Express (PCIe), memoria de alta velocidad y transceptores multigigabit.

Además, algunas FPGA integran funciones como convertidores analógico-digitales (ADC) y memoria Flash. Estas mejoras pueden reducir la necesidad de chips complementarios, lo que ahorra espacio en la placa y mejora la eficiencia energética.

Integración del procesador: En lugar de utilizar un procesador externo, se puede implementar una unidad de microprocesador "blanda" (MPU) dentro de la FPGA. Este enfoque puede reducir la huella de un sistema, pero es más adecuado para aplicaciones con cargas de trabajo de MPU menos exigentes.

Para aplicaciones que necesitan MPU más rápidas y eficientes, los diseñadores pueden considerar una FPGA con un sistema de procesador duro (HPS) que implementará una MPU como un bloque de lógica fija dentro de la FPGA.

Aceleradores de hardware: Las FPGA suelen incluir bloques dedicados al procesamiento digital de señales (DSP) que gestionan con eficacia tareas de cálculo intensivo como el control del movimiento. Los dispositivos de gama alta pueden incorporar bloques tensoriales especializados para cargas de trabajo de IA. Las capacidades de estos bloques aceleradores varían significativamente entre familias de FPGA y pueden influir drásticamente en el rendimiento global del sistema.

Optimización del encapsulado y la potencia: Algunas FPGA están diseñadas específicamente para minimizar su huella física y eléctrica. Por ejemplo, pueden ofrecer modos de suspensión de bajo consumo.

Herramientas: Crear una lógica personalizada puede ser un reto desalentador, sobre todo para los diseñadores que se inician en el proceso. Herramientas como el software de diseño Quartus Prime de Altera han surgido para agilizar el proceso.

Construido para hacer más accesible el diseño FPGA, Quartus Prime ofrece una experiencia fácil de usar para el desarrollador, un amplio catálogo de bloques lógicos preconstruidos y la posibilidad de interconectar estos bloques lógicos automáticamente. La herramienta se integra con los flujos de trabajo de IA y aprendizaje automático (ML) más conocidos, lo que permite a los desarrolladores implantar sistemas operativos (SO) populares como Linux y Zephyr en una FPGA.

Capacidades como éstas pueden acelerar considerablemente el diseño de FPGA, por lo que las características de la herramienta son fundamentales a la hora de seleccionar un dispositivo.

Computación de alto rendimiento para cargas de trabajo integradas avanzadas

Para ilustrar cómo influyen los requisitos de diseño en la selección de FPGA, resulta útil empezar con aplicaciones de gama alta que requieren una densidad de cálculo, un ancho de banda y una integración excepcionales. Algunos ejemplos son las aplicaciones avanzadas de inteligencia artificial y las puertas de enlace industriales de alto rendimiento.

Las FPGA Agilex 3 (Figura 1) están diseñadas para satisfacer estas demandas de aplicación, ofreciendo hasta 135,000 LE. Los chips están disponibles en variantes de solo FPGA y de sistema en chip (SoC). Los dispositivos SoC integran un doble núcleo de 800 megahercios (MHz) Arm® Cortex®-A55, lo que permite a la FPGA asumir pilas de software complejas, como interfaces hombre-máquina (HMI) o pilas de red.

La estructura programable incluye bloques AI Tensor capaces de realizar hasta 2.8 teraoperaciones INT8 por segundo (TOPS). Estos bloques admiten varios formatos de cálculo, como FP16, FP19, FP32 y BFLOAT16, y están optimizados para la ejecución eficiente de cargas de trabajo de IA. También se incluyen bloques DSP de precisión variable, que ofrecen un rendimiento de hasta 180 gigas de operaciones de coma flotante por segundo (GFLOPS) para el procesamiento de señales de propósito general.

Imagen de Altera Agilex 3 que se destaca por sus bloques DSP y AI Tensor de alto rendimientoFigura 1: Agilex 3 destaca por sus bloques DSP y AI Tensor de alto rendimiento. (Fuente de la imagen: Altera)

La conectividad de alta velocidad es otro de los puntos fuertes de la arquitectura Agilex 3. Los transceptores admiten velocidades de datos de hasta 12.5 gigabits por segundo (Gbits/s), con bloques de E/S reforzados disponibles para PCIe 3.0, 10 gigabit Ethernet (GbE) e interfaces de memoria LPDDR4. La compatibilidad con la sincronización horaria de precisión IEEE 1588 mejora aún más su idoneidad para las redes industriales en tiempo real.

El dispositivo A3CZ135BB18AE7S ilustra las capacidades de esta familia. Incluye 135.000 LE, 184 bloques DSP y ofrece 2.54 TOPS.

Integración avanzada para sistemas complejos

Para aplicaciones como la automatización industrial y los sistemas de visión de gama media, la potencia de cálculo bruta puede ser menos importante que la capacidad de admitir configuraciones complejas con grandes cantidades de lógica y E/S personalizadas. Las FPGA Cyclone V son idóneas para este tipo de situaciones, ya que ofrecen hasta 300,000 LE y numerosas interfaces de alta velocidad. Al igual que el Agilex 3, estos chips están disponibles en variantes de solo FPGA y SoC. En este caso, los dispositivos SoC integran un Arm Cortex-A9 de doble núcleo.

La estructura programable de estos chips incluye bloques DSP de precisión variable que admiten la multiplicación en coma fija triple 9 × 9 y doble 18 × 18, así como la multiplicación en coma fija o flotante 27 × 27. Estos bloques pueden utilizarse para el procesamiento avanzado de señales y la IA.

Una amplia mezcla de E/S admite múltiples niveles de tensión y tipos de interfaz. Los bloques lógicos reforzados permiten una conectividad avanzada de alta velocidad, incluidos PCIe 2.0, controladores DDR3 y transceptores que funcionan a una velocidad de hasta 6.144 Gbits/s.

Los desarrolladores pueden evaluar la familia de SoC Cyclone V con el kit de desarrollo DK-DEV-5CSXC6N-B (Figura 2). Este kit está diseñado para la creación rápida de prototipos de sistemas complejos de alto rendimiento.

Imagen del kit de desarrollo Cyclone V DK-DEV-5CSXC6N-B de AlteraFigura 2: El kit de desarrollo DK-DEV-5CSXC6N-B Cyclone V admite la creación de prototipos de alto rendimiento. (Fuente de la imagen: Altera)

El kit incluye varias características notables:

  • Dos puertos Ethernet, un conector PCIe x4 y una tarjeta mezzanine de alta velocidad (HSMC) con 16 canales LVDS en cada dirección
  • USB 2.0 OTG, CAN, UART y una interfaz LCD de texto de dos líneas
  • SDRAM DDR3 de 1 gigabyte (Gbyte) para la FPGA y el HPS, Flash SPI cuádruple de 128 megabytes (Mbytes) y una tarjeta microSD de 4 Gbytes.

La placa incorpora el dispositivo 5CSXFC5D6F31C8N, que incluye un procesador Arm Cortex-A9 de doble núcleo que funciona a 600 MHz, con 85,000 LE, 87 bloques DSP y 288 pines de E/S en un encapsulado 896-FBGA de 31 mm × 31 mm.

Lógica configurable de bajo consumo en un paquete compacto

Las limitaciones de espacio y consumo energético definen muchas aplicaciones. Algunos ejemplos son las interfaces de sensores, la secuenciación de energía y el control de periféricos. Las FPGA como la familia MAX 10 ofrecen una solución eficaz en estos casos. Los dispositivos MAX 10 están disponibles en configuraciones de 2000 a 50,000 LE y encapsulados tan pequeños como 3 mm × 3 mm.

Entre sus principales características se incluyen hasta dos ADC de 12 bits integrados, una interfaz de memoria DDR3 y bloques multiplicadores compatibles con los modos de punto fijo 18 × 18 y doble 9 × 9. La memoria Flash en chip compatible con el almacenamiento de imágenes duales permite a la FPGA configurarse a sí misma sin necesidad de un dispositivo de memoria externo.

El ahorro de energía es uno de los atributos más distintivos de la familia MAX 10. Un modo de reposo integrado puede reducir el consumo dinámico de energía hasta en un 95%. Gracias a la Flash en chip, los dispositivos también pueden apagarse por completo y reanudar su funcionamiento en menos de 10 milisegundos (ms).

La opción de una sola fuente de alimentación simplifica aún más el suministro de energía. Esto hace que los dispositivos MAX 10 sean especialmente adecuados para funciones de supervisión, en las que puede ser necesario que los dominios de potencia se conecten antes que el resto del sistema.

Los desarrolladores interesados en la MAX 10 pueden evaluar la familia utilizando la placa de evaluación EK-10M08E144 MAX 10 FPGA (Figura 3). Esta placa proporciona acceso a señales externas a través de conectores Arduino UNO R3 y puntos de prueba, con una disposición diseñada para soportar la medición del rendimiento del ADC y el comportamiento general de la potencia.

Imagen de la placa de evaluación EK-10M08E144 MAX 10 FPGA de AlteraFigura 3: La placa de evaluación EK-10M08E144 MAX 10 FPGA ofrece fácil acceso a las E/S clave. (Fuente de la imagen: Altera)

La placa incorpora el dispositivo 10M08SAE144C8G, que incluye 8000 LE y un único ADC en un paquete LQFP de 144 pines. Además de sus recursos de hardware integrados, esta FPGA es compatible con el procesador Nios V basado en RISC-V, lo que permite a los diseñadores implementar funciones de control ligeras sin necesidad de una unidad microcontroladora (MCU) externa.

Rendimiento equilibrado para aplicaciones de gama media

Algunas aplicaciones requieren más capacidad lógica y de E/S de la que pueden ofrecer las FPGA básicas. Algunos ejemplos son la fusión de sensores, el control del movimiento y el puente entre chips. Las FPGA Cyclone 10 LP responden a estos requisitos ofreciendo hasta 120,000 LE y 525 pines de E/S en dispositivos optimizados para equilibrar la potencia y el ancho de banda en aplicaciones sensibles a los costes.

Al igual que la MAX 10, la familia incluye bloques DSP adecuados para cargas de trabajo como filtrado, bucles de control e inferencias básicas de IA. A diferencia del MAX 10, los dispositivos Cyclone 10 LP incorporan verdaderos transceptores LVDS y terminación en chip (OCT) para soportar interfaces digitales de alta velocidad.

Los desarrolladores interesados en Cyclone 10 LP pueden evaluar la familia con el kit de evaluación EK-10CL025U256 Cyclone 10 (Figura 4). Esta placa ofrece conectores Arduino UNO R3 y Digilent Pmod para una fácil expansión. Otras características son GbE, USB 2.0, SDRAM de 128 megabits (Mbits) y memoria Flash de 64 Mbits.

Diagrama del kit de evaluación EK-10CL025U256 Cyclone 10 de Altera (haga clic para ampliar)Figura 4: El kit de evaluación EK-10CL025U256 Cyclone 10 permite ampliar fácilmente los periféricos. (Fuente de la imagen: Altera)

La placa incorpora el dispositivo 10CL025YU256C8G, que incluye 25.000 LE, 66 bloques DSP y 150 pines de E/S en un encapsulado de 14 mm × 14 mm. Al igual que el MAX 10, la familia Cyclone 10 LP es compatible con el procesador Nios V soft.

Conclusión

Los diseñadores disponen ahora de más flexibilidad que nunca a la hora de implementar lógica personalizada en sistemas integrados. Las aplicaciones de alto rendimiento pueden beneficiarse de las FPGA con aceleradores de IA integrados. Los diseños de bajo consumo pueden aprovechar los dispositivos con modos de suspensión. Los sistemas de E/S intensiva pueden aprovechar chips con un gran número de pines e interfaces de alta velocidad. Y lo que es más importante, todas estas capacidades pueden realizarse dentro de las estrechas limitaciones de los sistemas integrados con recursos limitados y con kits fáciles de usar.

DigiKey logo

Descargo de responsabilidad: Las opiniones, creencias y puntos de vista expresados por los autores o participantes del foro de este sitio web no reflejan necesariamente las opiniones, las creencias y los puntos de vista de DigiKey o de las políticas oficiales de DigiKey.

Acerca de este autor

Image of Kenton Williston

Kenton Williston

Kenton Williston se licenció en Ingeniería eléctrica en 2000 y comenzó su carrera como analista de referencias de procesadores. Desde entonces ha trabajado como redactor en el grupo EE Times y ha ayudado a lanzar y dirigir múltiples publicaciones y conferencias al servicio de la industria electrónica.

Acerca de este editor

Editores de DigiKey de América del Norte