Descripción general

Con su flexibilidad inherente, los SoC adaptables y las FPGA (Field-Programmable Gate Arrays, matrices de puertas lógicas programables en campo) de AMD son ideales para aplicaciones de DSP (digital signal processing, procesamiento de señales digitales) de alto rendimiento o multicanal que pueden aprovechar el paralelismo de hardware. Los SoC adaptables y las FPGA de AMD combinan este ancho de banda de procesamiento con soluciones integrales, incluidos herramientas de diseño fáciles de usar para diseñadores de hardware, desarrolladores de software y arquitectos de sistemas.

Paralelismo de hardware

Una arquitectura de DSP Von Neumann estándar requiere 256 ciclos para completar un filtro de FIR (finite impulse response, respuesta finita al impulso) de 256 golpes, mientras que los SoC adaptables y las FPGA pueden lograr el mismo resultado en un solo ciclo de reloj.

DSP Diagram

Este paralelismo masivo se traduce en niveles excepcionales de rendimiento de DSP:

  • 49,5 TeraMAC de rendimiento de punto fijo (8 bits)
  • 23,1 TeraFLOP para punto flotante de precisión simple

Soluciones DSP integrales

Las soluciones DSP de AMD incluyen chip, IP, diseños de referencia, placas de desarrollo, herramientas, documentación y capacitación para permitir una amplia gama de aplicaciones en una variedad de mercados, incluidos, entre otros, comunicaciones inalámbricas, centros de datos y sistemas aeroespaciales y de defensa.

Flujos integrales de desarrollo

Hay varios flujos de herramientas disponibles para diferentes modelos de uso y diferentes niveles de abstracción de diseño:

Los diseñadores de hardware pueden diseñar en:

Los desarrolladores de software acostumbrados a desarrollar en C/C++ pueden diseñar utilizando:

Los arquitectos de sistemas pueden evaluar rápidamente nuevos algoritmos con:

Elige tu solución

Con los SoC adaptables y las FPGA de AMD, los diseñadores pueden usar múltiples flujos para implementar sus aplicaciones de DSP según el enfoque de diseño y el nivel de abstracción.

Versal AI Engine: satisfacer las demandas de procesamiento DSP de alto rendimiento de las aplicaciones de última generación

En muchos mercados DSP dinámicos y en evolución, como el aeroespacial, de defensa, automotor/industrial, y de pruebas/mediciones, las aplicaciones están presionando para aumentar la aceleración de procesamiento DSP y mantener al mismo tiempo el ahorro de energía. 

Dado que la ley de Moore y la escala de Dennard ya no siguen su trayectoria tradicional, pasar al nodo de chip de última generación por sí solo no puede ofrecer los beneficios de menor consumo de energía y menor costo con un mejor rendimiento, como en las generaciones anteriores.

En respuesta a este aumento no lineal de la demanda de aplicaciones DSP de última generación, como la canalización polifásica y la formación de haces, AMD desarrolló una nueva tecnología de procesamiento innovadora, el motor de IA, como parte de la arquitectura AMD Versal™.

Una mirada más cercana a Versal AI Engine:

Arquitectura de motor de IA

Los motores de IA están diseñados como matrices 2D compuestas por múltiples mosaicos de motor de IA y permiten una solución muy escalable en toda la cartera de productos Versal, que abarca de 10s a 100s de motores de IA en un solo dispositivo, lo que satisface las necesidades de procesamiento de una amplia gama de aplicaciones. 

Los beneficios incluyen las siguientes opciones:

Programabilidad de software
  • C programable a través de la plataforma de software unificada de Vitis
  • Programación basada en modelos a través de Vitis Model Composer 
  • Obtén más información sobre el proceso de diseño DSP del motor de IA 
Determinista
  • Instrucciones y memorias de datos dedicadas
  • Conectividad dedicada emparejada con motores de DMA (Direct Memory Access, acceso directo a memoria) para el movimiento de datos programado mediante la conectividad entre los mosaicos del motor de IA 
Eficiencia
  • Ofrece una mayor densidad de procesamiento DSP en comparación con la lógica programable tradicional, al tiempo que reduce el consumo energético dinámico. Haz clic aquí para obtener más información. 

Basados en una arquitectura de clase ASIC (Application-Specific Integrated Circuit, circuito integrado para aplicaciones específicas), los SoC adaptables y FPGA de AMD combinan un ancho de banda de E/S de cientos de gigabits por segundo con más de 49 TeraMAC de rendimiento DSP de punto fijo en la Serie Versal™ Premium. La partición de DSP AMD y su paralelismo es clave para el rendimiento DSP alcanzable en la última generación de FPGA AMD.

Arquitectura de partición de DSP

La partición DSP58 en dispositivos Versal es la 6.ª generación de particiones de DSP en las arquitecturas AMD.

Este bloque de procesamiento DSP dedicado se implementa en chip completamente personalizado que ofrece potencia/rendimiento líderes, lo que permite implementaciones eficientes de funciones DSP populares, como MACC (multiply-accumulator, multiplicación-acumulación), MADD (multiply-adder, multiplicación-adición) o multiplicación compleja.

El segmento también ofrece capacidades para realizar diferentes tipos de operaciones lógicas, como AND, OR y operaciones XOR.

La arquitectura DSP58 de los dispositivos Versal se basa en el éxito de la FPGA UltraScale™ DSP48E2 con mejoras adicionales:

  • Multiplicador más amplio (27 x 24 bits)
  • Multiplicador de punto flotante de precisión simple
  • Multiplicación compleja 18 x 18 usando dos DSP consecutivos
  • Modo de producto punto de vector INT8

Estas mejoras ayudan a las aplicaciones fundamentales de DSP a realizar más procesamiento dentro del segmento DSP48E2 antes de entrar en la estructura FPGA, lo que en última instancia conduce a ahorros de recursos y energía.

Funciones del segmento DSP48E2 (UltraScale) frente a DSP58 (Versal)

Función UltraScale Versal
Tipo de mosaico/segmento DSP DSP48E2 DSP58
Múltiples operaciones de suma/resta/acumulación
Multiplicador y MACC 27x18 27x24
Cuadratura:  [(A o B) +/- D]2
CMACC multiplicación compleja ultraeficiente de retroalimentación WMUX Tres unidades DSP48E2 Dos unidades DSP58
Compatibilidad con SIMD
Circuitos integrados de detector de patrones
Unidad Lógica Integrada
Funciones Mux amplio 48 bits 58 bits
XOR amplio 96 bits 116 bits
Multiplicador de punto flotante de precisión simple  
Salida opcional de 96 bits
Enrutamiento en cascada
Registros de canalización
D Preadicionador
Multiplicación compleja secuencial, acceso din. AB
Equilibrio de canalización de registro AB mejorado

Videos destacados:

  1. Utilización del MUX de cuadratura en el segmento DSP48E2 (video)
  2. Utilización de la retroalimentación MUX amplia en el segmento DSP48E2 (video)

Herramientas y flujos

Según tus preferencias de diseño, AMD tiene herramientas compatibles con RTL, C/C++ y entrada de diseño basado en modelos. Esta flexibilidad en el flujo de diseño, junto con un extenso catálogo IP DSP, facilita la adopción de herramientas y dispositivos AMD.

Versal Prime block diagram

Visita Herramientas, bibliotecas y marcos para obtener más información.

Métricas de rendimiento DSP

En la siguiente tabla, se muestran algunas de las métricas clave de rendimiento DSP para las familias de Serie 7, UltraScale™ y UltraScale+™. Para conocer el rendimiento de dispositivos de SoC adaptable, consulta la sección Desarrollador de software.

  Kintex UltraScale Kintex UltraScale+ Virtex UltraScale Virtex UltraScale+ Versal AI Core Versal AI Edge Versal AI Prime Versal AI Premium
Elementos lógicos del sistema (miles) De 318 a 1451 De 356 a 1143 De 783 a 5541 De 862 a 3780 De 540 a 1968 De 44 a 1139 De 329 a 2233 De 833 a 7352
Particiones de DSP De 768 a 5520 De 1368 a 3528 De 600 a 2880 De 2280 a 12 288 De 928 a 1968 De 90 a 1312 De 464 a 3984 De 1140 a 14 352
Multiplicadores 27x18 De 768 a 5520 De 1368 a 3528 De 600 a 2880 De 2280 a 12 288 De 928 a 1968 De 90 a 1312 De 464 a 3984 De 1140 a 14 352
INT8 GOP1 De 1774 a 14 315 De 4263 a 11 000 De 1554 a 7469 De 7108 a 38 318 De 6403 a 13 579 De 62 a 9052 De 3201 a 27 489 De 7866 a 99 029
INT16 GOP De 1014 a 8180 De 2436 a 6286 De 888 a 4268 De 4062 a 21 896 De 2134 a 4526 De 21 a 3017 De 1067 a 9163 De 2622 a 33 010
INT18 GOP complejos De 676 a 5453 De 1624 a 4191 De 592 a 2845 De 2708 a 14 597 De 913 a 1937 De 8 a 1291 De 456 a 3920 De 1122 a 14 122
Punto flotante de precisión simple (GFLOP)2 De 320 a 2685 De 800 a 1673 De 294 a 1411 De 1354 a 7299 De 1494 a 3168 De 14 a 2112 De 747 a 6414 De 1835 a 23 107

Lanzamos entornos de desarrollo de software y un conjunto completo de herramientas, bibliotecas y metodologías conocidas y potentes que permiten a los desarrolladores de software dirigirse fácilmente a los SoC adaptables y FPGA de AMD. Con la plataforma de software unificada Vitis™ de entorno de abstracción de alto nivel. Podemos ofrecer experiencias de desarrollo y tiempo de ejecución de aplicaciones integradas conocidas y similares a la GPU (graphics proccesing unit, unidad de procesamiento gráfico) para desarrollo de C, C++ u OpenCL.

Dispositivos de MPSoC (Multiprocessor system-on-chip, sistema multiprocesador en chip) y Versal de AMD

El MPSoC Zynq™ UltraScale+™ y la arquitectura Versal combinan un potente PS (processing system, sistema de procesamiento), que incorpora procesadores Arm® Cortex® y PL (user-programmable logic, lógica programable por el usuario), en un solo dispositivo.

Perfil de aplicaciones para aceleración

La plataforma de software unificada Vitis ofrece la capacidad de perfilar una aplicación determinada y permite la creación de aceleradores de hardware para funcionar de manera más eficiente en la PL (lógica programable), en la que la flexibilidad y el paralelismo de la FPGA se aprovechan para proporcionar grandes mejoras de rendimiento. Esto también permite que otras funciones de la aplicación se ejecuten en el PS (sistema de procesamiento) en paralelo si se desea.

Al dirigirse a los SoC adaptables y FPGA de AMD, muchas aplicaciones DSP e integradas tendrán mejoras en la eficiencia y un menor consumo de energía en sus aplicaciones.

Funciones y rendimiento DSP de los dispositivos SoC de AMD

En las siguientes tablas, se muestran algunas de las funciones clave y las métricas de rendimiento DSP para las familias de MPSoC Zynq UltraScale+ y los dispositivos Versal™ de AMD. Para conocer el rendimiento de dispositivos no SoC, consulta la sección Diseñadores de hardware.

Sistema de procesamiento SoC Zynq-7000 MPSoC Zynq UltraScale+
Aplicación
Unidad de procesamiento (APU)
  • ARM Cortex-A9 MPCore™ de núcleo único/doble de hasta 1 GHz
  • Arquitectura ARMv7-A
  • Motor de procesamiento de medios NEON™
  • Unidad de coma flotante vectorial de precisión simple y doble (VFPU)
  • ARM Cortex-A53 MPCore de dos/cuatro núcleos hasta 1,5 GHz
  • Arquitectura ARMv8-A
  • Motor de procesamiento de medios Neon Advanced SIMD
  • Unidad de coma flotante (FPU) de precisión simple/doble
En tiempo real
Unidad de procesamiento (RPU)
-
  • ARM Cortex-R5 MPCore de doble núcleo hasta 600 MHz
  • Arquitectura ARMv7-R
  • Unidad de coma flotante (FPU) de precisión simple/doble
Procesamiento multimedia -
  • GPU ARM Mali™-400 MP2 de hasta 667 MHz
    • Compatibilidad con OpenGL ES 1.1 y 2.0
    • Compatibilidad con OpenVG 1.1
  • Códec de video compatible con H.264-H.265 (dispositivos EV solamente)
Memory Interface dinámica DDR3, DDR3L, DDR2 y LPDDR2 DDR4, LPDDR4, DDR3, DDR3L y LPDDR3
Periféricos de alta velocidad USB 2.0, Gigabit Ethernet, SD/SDIO PCIe® de 2.ª generación, USB3.0, SATA 3.1, DisplayPort, Gigabit Ethernet y SD/SDIO
Seguridad RSA, AES y SHA, ARM TrustZone® RSA, AES y SHA, ARM TrustZone
Pines de E/S máx. 128 214

 

Lógica programable SoC Zynq-7000 MPSoC Zynq UltraScale+
Elementos lógicos del sistema (miles) De 23 a 444 De 103 a 1045
Memoria máxima (Mb) De 1,8 a 26,5 De 5,3 a 70,6
Pines de E/S máx. De 100 a 362 De 252 a 668
Particiones de DSP De 60 a 2020 De 240 a 3528
Multiplicadores 18 x 18 De 60 a 2020 De 240 a 3528
Rendimiento de punto fijo (GMAC) (1) De 42 a 1313 De 213 a 3143
Rendimiento de punto fijo para filtros simétricos (GMAC) (1) (2) De 84 a 2626 De 426 a 6286
INT8 GOP (1) (3) De 84 a 2626 De 745 a 11 000
INT16 GOP (1) De 84 a 2626 De 426 a 6286
Punto flotante de precisión simple (GFLOP) (1) (4) De 23 a 716 De 142 a 1673
Punto flotante de precisión simple (GFLOP) (1) (5) De 17 a 537 De 106 a 1571
Punto flotante de precisión media (GFLOP) (1) (6) De 34 a 1074 De 212 a 3142

Notas:

  1. Todos los cálculos de rendimiento se basan en piezas de grado de velocidad -2 para el SoC adaptable Zynq 7000 y -3 para el MPSoC Zynq UltraScale+
  2. Utilizando el preadicionador, rendimiento DSP puede aumentarse dos veces para los filtros simétricos
  3. Consulta WP486: Aprendizaje profundo con optimización INT8 en dispositivos AMD (no aplicable para dispositivos Zynq)
  4. Rendimiento de punto flotante de precisión simple utilizando el núcleo de operador de punto flotante con tres particiones de DSP
  5. Rendimiento de punto flotante de precisión simple utilizando el núcleo de operador de punto flotante con cuatro particiones de DSP
  6.  Rendimiento de punto flotante de precisión media utilizando el núcleo de operador de punto flotante con dos particiones de DSP

Para obtener más información sobre los SoC adaptables y los MPSoC de AMD, visita:

DSP en el subsistema de procesamiento

El PS (sistema de procesamiento) proporciona capacidades de procesamiento DSP a través de los diferentes núcleos de procesamiento de ARM.

Para obtener más información sobre las capacidades DSP en los procesadores ARM, visita:

Encontrarás algunos ejemplos útiles en las siguientes ubicaciones:

Para MPSoC Zynq UltraScale+, consulta UG1211 para ver una demostración de una FFT usando el conjunto de instrucciones de ARM NEON.

Para SoC Zynq 7000, las siguientes recomendaciones técnicas están disponibles en la wiki de Xilinx cuando se dirige a Cortex-A9 y ARM SIMD:

Compatibilidad con tipo de datos AMD

AMD tiene una compatibilidad de tipo de datos muy flexible en sus dispositivos. Las diferentes precisiones de punto fijo, punto flotante y entero se admiten de manera nativa en las herramientas AMD con la implementación de punto flotante con la ayuda del núcleo IP del operador de punto flotante.

Los diseños de punto flotante implementados en FPGA siempre conducirán a un mayor uso de recursos y energía en comparación con las implementaciones de punto fijo o entero. La conversión a una solución de punto fijo siempre que sea posible tiene grandes beneficios:

  • Menos recursos de FPGA
  • Menos energía
  • Costos más bajos

Para obtener más detalles sobre los beneficios de la conversión de tipos de datos de punto flotante a punto fijo, lee WP491.

Evaluaciones comparativas

En las siguientes tablas, se muestra una pequeña selección de algoritmos y posibles mejoras de rendimiento mediante el uso de un dispositivo AMD y en particular la estructura en la PL (lógica programable) para acelerar el diseño.

Algoritmo CPU/GPU MPSoC Zynq UltraScale+ Advantage
Estéreo LocalBM a 2K ARM: 0,5 FPS/vatio
NVIDIA: 3,5 FPS/vatio
146 FPS/vatio 292x
42x
Flujo óptico
(Lucas-Kanade)
ARM: 0,1 FPS/vatio
NVIDIA: 0,8 FPS/vatio
7,1 FPS/vatio 9.3x
GoogleNet
(Lote=1)
ARM: 0,1 img/s/w
NVIDIA: 8,8 img/s/w
53 img/s/w 530x
6x

Notas:

  1. ARM: A53 de cuatro núcleos ejecutándose en Raspberry Pi a 1200 MHz
  2. Las evaluaciones comparativas de NVIDIA se realizaron utilizando Tegra X1
  3. Flujo óptico (LK): tamaño de ventana 11x1
Algoritmo CPU/DSP Zynq 7000 Advantage
Proyección hacia delante ARM: 3 s/vista 0,016 s/vista 188x
Detección de movimiento ARM: 0,7 FPS 67 FPS 90x
Reducción de ruido Sobel ARM: 1 FPS 67 FPS 60x
Detección de Canny Edge ARM: 0,66 FPS 40 FPS 45x
Reconstrucción de imágenes 3D ARM: 75k 8k 9x
DPD ARM: 506 ms 31,3 ms 16x
FIR TI DSP: 64 020 ns 1200 ns 53x
FFT TI DSP: 1036 ns 128 ns 8x

Notas:

  1. El núcleo Cortex-A9 se utiliza solo en los dispositivos Zynq cuando se dirige a ARM
  2. Las evaluaciones comparativas de TI se realizaron utilizando el núcleo DSP C66

Las herramientas de diseño de alto nivel de AMD como Vitis Model Composer para DSP y la síntesis de alto nivel proporcionan un nivel de abstracción que permite a los arquitectos de sistemas y los expertos de dominios evaluar rápidamente nuevos algoritmos y centrarse en el desarrollo de las partes que diferencian su diseño. La solución completa de DSP de AMD es una combinación de estas herramientas de diseño, IP, diseños de referencia, metodologías y placas que trabajan en conjunto para lograr un diseño de producción operativo en el menor tiempo posible.

Vitis Model Composer es una herramienta de diseño basada en modelos que utiliza el entorno MATLAB y Simulink para definir, probar e implementar algoritmos DSP de calidad de producción en lógica programable en una fracción de los tiempos de desarrollo de RTL tradicionales.

La herramienta proporciona:

  • Más de 100 bloques DSP optimizados, muchos con modelos de simulación C para una simulación dos o tres veces más rápida en comparación con RTL
  • Integración de componentes RTL, IP, Simulink, MATLAB y C/C++ de un sistema DSP
  • Simulaciones de punto fijo y flotante de bit y ciclo precisos
  • Cosimulación de hardware para acelerar la simulación y validar algoritmos en hardware de trabajo
  • Generación automática de código de Simulink a IP empaquetada o HDL (hardware description language, lenguaje de descripción de hardware) de bajo nivel
  • Generación automática de banco de prueba de HDL, incluidos vectores de prueba

Obtén más información sobre Vivado System Generator for DSP:

Síntesis de alto nivel

La síntesis de alto nivel, incluida la plataforma de software unificada Vitis, permite que las especificaciones de algoritmos C, C++ y System C portátiles se dirijan directamente a los SoC adaptables y FPGA de AMD sin la necesidad de crear RTL. Al igual que hay compiladores de C/C++ a diferentes arquitecturas de procesador, el compilador HLS proporciona la misma funcionalidad de C/C++ para SoC adaptables y FPGA de AMD.

Obtén más información sobre la síntesis de alto nivel de Vivado:

Herramientas y ecosistema

AMD proporciona las mejores herramientas de su tipo para permitir que las aplicaciones de DSP (procesamiento de señales digitales) se implementen de manera eficiente y con bajo consumo de energía en los SoC adaptables y FPGA de AMD. Ya sea que estés diseñando con RTL, C/C++/SystemC o Matlab/Simulink, las herramientas de AMD a continuación pueden facilitar tu diseño de DSP y reducir el tiempo de comercialización.

Bibliotecas y marcos

AMD ofrece una gama de bibliotecas de rendimiento, utilización de recursos y la facilidad de uso optimizados.

Bibliotecas y marcos Descripción
Aplicación
Repositorios de GitHub AMD creó repositorios de GitHub, los que contienen ejemplos útiles para muchas aplicaciones, incluidas funciones relacionadas con DSP.

Vitis

Model Composer Vitis

Aceleración de Vitis

Bibliotecas aceleradas de Vitis AMD creó un amplio conjunto de bibliotecas de código y rendimiento optimizado que ofrecen una aceleración lista para usar sin tener que implementar casi ningún cambio de código en tus aplicaciones existentes. Bibliotecas de Vitis

Socios, placas y kits

AMD y sus socios trabajan juntos para producir herramientas y placas que faciliten la adopción de FPGA y SoC de AMD para aplicaciones de DSP en diversos segmentos de mercado. 

Socio Descripción Solución
Kits y módulos de desarrollo centrados en DSP Avnet

MathWorks y el proveedor líder de analogía de alta velocidad Avnet ofrecen kits de desarrollo centrados en DSP y SoM (System on module, sistema en módulo) listos para la producción para visión integrada, radio definida por software y control de motores de alto rendimiento.

Avnet
Software de informática MathWorks MathWorks MATLAB® y Simulink® pueden reducir significativamente el tiempo de desarrollo de sistema de los SoC adaptables y FPGA si se permite a los usuarios:
  • Crear procesos de señales e imágenes, comunicaciones y algoritmos de control complejos
  • Validar los requisitos del sistema al inicio del proceso de desarrollo
  • Generar y verificar códigos HDL y C dirigidos a FPGA y SoC de AMD
MathWorks
Placas complementarias de Analog Devices La placa FMC AD-FMCDAQ2-EBZ es una plataforma de prototipos de adquisición de datos y síntesis de señal autónoma que admite un funcionamiento fácil y permite un desarrollo de procesamiento de señales del sistema final más rápido.
  • AD9680 presenta un ADC JESD204B de 14 bits a 1,0 GSPS
  • AD9144 presenta un DAC JESD204B cuádruple de 16 bits a 2,8 GSPS
  • AD9523-1 es impulsado por un reloj de 14 salidas y 1 GHz
Analog Devices

Recursos

Filtro SRC fraccional multicanal en HLS

Esta nota de la aplicación se centra en el diseño de un filtro de SRC (sample rate conversion, conversión de frecuencia de muestreo) fraccional multicanal utilizando la herramienta Vivado, que toma el código fuente en lenguaje de programación C++ y genera código Verilog o VHDL sintetizable altamente eficiente para FPGA.

Mantente informado

Únete a la lista de notificaciones de SoC adaptable y FPGA para recibir las noticias y las actualizaciones más recientes.

Notas al pie
  1. Consulta WP486: Aprendizaje profundo con optimización INT8 en dispositivos AMD
  2. Rendimiento de punto flotante de precisión simple utilizando el núcleo de operador de punto flotante con tres particiones de DSP en UltraScale+