¿Qué es Vitis Model Composer?

AMD Vitis™ Model Composer es una herramienta de diseño y simulación de alto nivel que conecta el desarrollo de algoritmos con la implementación en hardware. Se integra profundamente con MathWorks MATLAB® y Simulink®, permitiendo a los desarrolladores:

  • Diseñar y simular algoritmos acelerados por hardware de forma gráfica dentro de Simulink.
  • Realizar una exploración temprana del espacio de diseño sin necesidad de escribir inicialmente código HDL de bajo nivel o código C para AI Engine.
  • Generar IP de hardware sintetizable directamente desde modelos de MATLAB/Simulink dirigidos a SoC adaptables y FPGA de AMD, incluidos los dispositivos Versal™ más recientes con motores AI Engine.

Vitis Model Composer está disponible como una licencia complementaria que funciona junto con AMD Vivado™ Design Suite (Standard o Enterprise) y AMD Vitis™ Unified Software Platform. Es especialmente útil para desarrolladores de algoritmos que prefieren un enfoque de diseño basado en modelos y desean acelerar la transición del algoritmo a la implementación en hardware.

Características principales de Vitis Model Composer

Utiliza el entorno de MATLAB y Simulink para analizar y visualizar tu diseño:

  • Utiliza los bloques optimizados de motores de IA, HLS y HDL directamente desde el navegador de la biblioteca de Simulink.
  • Importa código personalizado de motores de IA, HLS y HDL como bloques.
  • Ejecuta simulaciones rápidas en el entorno de Simulink.
  • Compara los resultados con referencias doradas en el entorno de MATLAB y Simulink.
  • Toca las señales intermedias para depurar y obtener visibilidad en el diseño.

Simula conjuntamente un sistema heterogéneo:

  • Utiliza directamente motores AI Engine/HLS/lógica programable (PL) optimizados desde el navegador de bibliotecas o importa el código como bloques
  • Conecta sin problemas las matrices de motor de IA con bloques de kernel HLS o bloques HDL.

Aumenta la productividad generando código a partir de tu diseño:

  • Genera código gráfico junto con restricciones.
  • Genera RTL (Verilog/VHDL).
  • Genera código HLS optimizado con pragmas insertados.
  • Genera un banco de prueba

Valida fácilmente tu diseño en el hardware:

  • Genera motores de datos, código de sistema de procesamiento y archivos de configuración.
  • Genera los archivos Makefile para construir el diseño de hardware
  • Mueve el diseño al hardware con solo un clic

Creación y simulación de diseños de Vitis Model Composer

Obtén una visión general de la herramienta AMD Vitis™ Model Composer y aprende a crear y simular diseños HDL, HLS y AI Engine. Además, explicaremos cómo crear un diseño heterogéneo (es decir, un diseño con AI Engine y componentes lógicos programables).

Uso del bloque de AMD Vitis™ Model Composer Hub

Una introducción al bloque de AMD Vitis Model Composer Hub. Aprenderás a usar el bloque para seleccionar hardware, generar código, analizar y verificar un diseño, y finalmente validar en hardware.

Diseño con motores Versal AI Engine en Vitis Model Composer

Los motores Versal AI Engine son unidades de procesamiento especializadas optimizadas para tareas de aprendizaje automático, procesamiento de señales digitales (DSP) y procesamiento de señales en SoC adaptables de AMD. Vitis Model Composer permite el uso eficaz de estos motores AI Engine al proporcionar:

Bloques de la biblioteca de AI Engine

  • Bloques IP preconstruidos para AI Engine: Incluye bloques listos para usar de DSP y procesamiento de señales, tales como:
    • Filtros FIR (respuesta finita al impulso)
    • FFT (Fast Fourier Transform) e iFFT
    • DDS (síntesis digital directa)
    • Mezcladores

Estos bloques modelan la funcionalidad de los motores AI Engine y permiten a los diseñadores prototipar y simular rápidamente algoritmos basados en AI Engine.

Importación de kernel e integración de flujo de datos

  • Importación de kernel personalizado: Los usuarios pueden importar kernels personalizados de AI Engine (escritos en C++ o HLS) como bloques en Simulink. Esto permite combinar código personalizado de AI Engine con modelos gráficos.
  • Importación de gráfico de flujo de datos: Admite la importación de gráficos de flujo de datos de AI Engine, permitiendo a los usuarios configurar y conectar visualmente complejas canalizaciones de procesamiento de AI Engine.

Simulación de diseño mixto

  • Vitis Model Composer admite la simulación mixta donde los bloques de AI Engine operan junto con bloques de lógica programable (HDL o HLS). Esto permite a los diseñadores verificar las interacciones a nivel de sistema, el tiempo y el movimiento de datos a través de recursos de procesamiento heterogéneos.

Visualización y depuración

  • Los bloques de origen y destino de Simulink pueden conectarse directamente con los bloques de AI Engine para monitorear y visualizar señales durante la simulación.
  • La compatibilidad con la simulación de aproximación por ciclos ayuda en la estimación temprana del rendimiento de las cargas de trabajo de AI Engine.

Lo nuevo

Aspectos destacados de la versión 2025.2

Bloques adicionales disponibles para AI Engine y HDL

AIE, AIE-ML, AIE-ML v2 (p. ej., las Series Versal AI Core y Versal AI Edge, y la Serie Versal AI Edge de 2.ª generación)

  • Nuevo: Aproximación​de función
  • Nuevo: Correlación/Convolución​
  • Nuevo: Suma acumulada

Bloques de biblioteca HDL

  • Mejorado: FFT (SSR nativa de punto flotante añadido = 32, 64)​
  • Mejorado: FIR (admite interpolación de tasa fraccionaria con SSR)

Otras mejoras de Vitis Model Composer

  • Los bloques del puente HLS-AIE admiten la modelización de sistemas de velocidad múltiple; proporcionan un método eficiente para modelar diseños con distintos dominios de reloj y transferir datos de manera segura sin corrupción.
  • Se agregó compatibilidad con MATLAB® R2025b
  • Se agregó compatibilidad con Red Hat® Enterprise Linux® (RHEL) 9.6, 10.0

Soporte para múltiples subsistemas AI Engine de nivel superior

Bloques adicionales disponibles para AI Engine y HDL

Motor de IA

  • Clasificación bitónica (Serie Versal AI Core, Serie Versal AI Edge, Serie Versal AI Edge de 2.ª generación)
  • DFT/FFT (Serie Versal AI Edge de 2.ª generación)
  • FIR: tasa única, media banda, cambio de tasa, remuestreo fraccional (Serie Versal AI Edge de 2.ª generación)
  • DDS/mezclador (Serie Versal AI Edge de 2.ª generación)

Biblioteca de HDL

  • FFT mejorado: modos SSR adicionales
    • SSR 8, 16, 32, 64 (punto flotante nativo)
    • SSR 2, 4 (punto fijo)
  • Multiplicador complejo mejorado: menos recursos DSP58
    • Nuevo soporte para CFLOAT MAC
    • Vector IFFT flotante: nuevo bloque

Actualizaciones de Versal AI Engine DSP Library para Vitis Model Composer:

  • AIE (disponible en las Series Versal AI Core y Versal Premium) 
    • FFT de base mixta 
    • Mejoras de rendimiento de la FFT de Stockham 
    • FIR con TDM 
  • AIE-ML (disponible en la Serie Versal AI Edge) 
    • FIR con TDM 
    • DDS (Direct Digital Synthesis, síntesis digital directa; utilizada para la generación de forma de onda) 
    • Mezclador (utilizado para el cambio de frecuencia) 
  • AIE-MLv2​(disponible en la Serie Versal AI Edge de 2.ª generación) 
    • FIR 
    • DFT 
    • DDS 
    • Mezclador 

GitHub - Xilinx/Vitis_Model_Composer en 2024.2

Nuevos bloques HDL en Vitis Model Composer:

  • RAM simple de doble puerto (bloque nuevo) 
  • Compilador de síntesis digital directa (DDS) (compatibilidad nativa de punto flotante agregada) 
  • FFT 
    • Compatibilidad nativa de punto flotante agregada con SSR = 2, 4 
    • Asignación de primitiva DSPFP32 en dispositivos Versal 

Otras mejoras

  • Utiliza Vitis Debugger con kernels AIE/HLS integrados en Vitis Model Composer. 
  • Exporta el subsistema de Vitis desde Vitis Model Composer como archivo .vss. 
  • Tipos de datos adicionales para Vitis Model Composer 
    • Compatible con cbfloat16 
    • Compatible con señales en cascada: int8/uint8, int16/uint16/cint16, int32, uint32, cint32, float/cfloat 
  • Comprobaciones de DRC (design rule check, comprobación de reglas de diseño) para ayudar en la detección e indicación de problemas de diseño al principio del proceso de construcción (por ejemplo, simulación). 
  • Tiempo de respuesta rápido para la generación de código. 
    • La simulación se ejecuta solo una vez para cualquier diseño. 
  • Guarda configuraciones de bloques de Hub como un archivo JSON (para procesamiento por lotes, rápida creación de prototipos, etc.). 

Compatibilidad agregada de estas versiones del SO y MATLAB con la versión 2024.2

  • MATLAB R2024a 
  • Red Hat Enterprise Linux® (RHEL) 8.10, 9.4 

Nuevos ejemplos de diseño​disponibles en GitHub

Descargar

Comprar

Vitis Model Composer se puede comprar como licencia adicional para las ediciones estándar o empresariales de Vivado y la plataforma de software unificado de Vitis. 
Para evaluarlo, genera una licencia de evaluación gratuita de 90 días desde el Sitio de licencias de productos

Descargar

Se puede seleccionar Vitis Model Composer adicionalmente como una herramienta de diseño e instalado a través del instalador Vivado o instalador Vitis.

Recursos

AI Engine Library

Biblioteca de HLS

Estos tutoriales ayudan a examinar la biblioteca de HLS de Vitis Model Composer, crear un diseño simple con bloques de HLS y aprender acerca de los tipos de datos compatibles con Vitis Model Composer.

Biblioteca de HDL

En estos tutoriales, se muestra cómo usar la biblioteca de HDL de Vitis Model Composer para especificar un diseño en Simulink® y sintetizarlo en una FPGA. 

Notas al pie
  1. Basado en pruebas realizadas el 10 de agosto del 2023, en 1000 diseños de biblioteca de códigos de L2/L3 de Vitis, con Vitis HLS versión 2023.2 en comparación con Vitis HLS 2023.1. Configuración del sistema durante las pruebas: CPU Intel Xeon E5-2690 v4 a 2,6 GHz, 256 GB de RAM, Red Hat Enterprise Linux 8.6. El rendimiento real variará. Los fabricantes de sistemas pueden variar las configuraciones, lo que arroja resultados diferentes. -VGL-04
  2. Las evaluaciones comparativas se realizaron en los 1208 diseños de código en C de la biblioteca de L1 de Vitis al 12 de febrero del 2023. Todos los diseños se ejecutaron utilizando un sistema con CPU 2P Intel Xeon E5-2690 con CentOS Linux, SMT habilitado y Turbo Boost deshabilitado. No se espera que la configuración de hardware afecte los resultados de las pruebas de software. Los resultados pueden variar en función de la configuración del software y del firmware: VGL-03