El entorno de desarrollo de la plataforma de software Vitis

La plataforma de software AMD Vitis™ es un entorno de desarrollo para elaborar diseños que incluyen la estructura de FPGA (Field-Programmable Gate Arrays, matriz de puertas lógicas programable en campo), subsistemas de procesador Arm® y motores de IA. Las herramientas de Vitis funcionan en conjunto con AMD Vivado™ Design Suite a fin de proporcionar un nivel más alto de abstracción para el desarrollo del diseño. 

AMD Vitis Infographic

La plataforma de software Vitis incluye las siguientes herramientas:

  • Vitis Embedded: para desarrollar código de aplicación C/C++ que se ejecuta en procesadores integrados Arm
  • Compilador y simuladores: para implementar diseños mediante la matriz de motor de IA
  • Vitis HLS: para desarrollar bloques IP basados ​​en C/C++ que se enfocan en la estructura de FPGA
  • Vitis Model Composer: una herramienta de diseño basada en modelos que permite una rápida exploración del diseño dentro del entorno de MathWorks Simulink®
  • Un conjunto de funciones de biblioteca de código abierto y rendimiento optimizado, como DSP (Digital Signal Processing, procesamiento de señales digitales), Vision, Solver, Ultrasound, BLAS y muchas más, que se pueden implementar en la estructura de FPGA o mediante motores de IA.

Herramientas y bibliotecas

Data technology background. Abstract background. Connecting dots and lines on dark background. 3D rendering. 4k.
Vitis Embedded

Vitis™ Embedded es un paquete de desarrollo de software integrado independiente que permite desarrollar aplicaciones host que se ejecutan en procesadores integrados Arm.

Abstract connected dots and lines
Herramientas de diseño de DSP de Vitis AIE
Compiladores y simuladores

Los dispositivos SoC adaptables AMD Versal™ cuentan con matrices de motor de IA que permiten la implementación de funciones de DSP de alto rendimiento de una manera optimizada en términos de recursos y energía.  El uso de motores de IA junto con los recursos de la estructura de FPGA puede permitir una implementación muy eficiente de aplicaciones de DSP de alto rendimiento.

Programming code abstract technology background
HLS de Vitis

La herramienta de HLS (high-level synthesis, síntesis de alto nivel) de Vitis permite a los usuarios crear con facilidad algoritmos de FPGA complejos sintetizando una función C/C++ en el RTL (register-transfer level, nivel de transferencia de registros). 

La herramienta de HLS de Vitis está estrechamente integrada tanto en Vivado™ Design Suite para la síntesis, la ubicación, la ruta, como en la plataforma de software unificada Vitis, para diseños y aplicaciones de sistemas heterogéneos.

digital blocks
Model Composer Vitis

Vitis Model Composer es una herramienta de diseño basada en el modelo que permite una exploración rápida del diseño dentro del entorno de MathWorks Simulink®.

La herramienta también te permite modelar y simular un diseño con una combinación de motor de IA y bloques de lógica programable (HDL/HLS).

3D Rendering of abstract wire cable tunnel with digital binary data transmitting
Bibliotecas de Vitis

Bibliotecas de código abierto y rendimiento optimizado que ofrecen aceleración lista para usar con cambios de código mínimos o nulos en sus aplicaciones existentes, escritas en C, C++.

Aprovecha las bibliotecas aceleradas específicas del dominio tal como están, modifícalas para adaptarlas a tus requisitos o utilízalas como bloques de creación algorítmicos en tus aceleradores personalizados.

Usos de herramientas

Se deben utilizar diferentes herramientas de Vitis para construir diferentes partes de SoC adaptables y FPGA de AMD.

FPGA (lógica programable) Subsistema de procesamiento Motores AI
Vivado Design Suite/Vitis HLS/Vitis Model Composer Vitis Embedded Compiladores y simuladores de AIE/Vitis Model Composer

Flujos de diseño

Flujo de desarrollo de software de Vitis Embedded

(Tradicionalmente llamado SDK integrado para familias de FPGA anteriores)

Exporta el hardware desde Vivado como un archivo de plataforma
Arrow
Desarrolla el código de aplicación
 
Arrow
Depura y genera imagen de arranque

Los diseñadores que desarrollan código C/C++ para el subsistema de procesador integrado Arm® en SoC adaptables de AMD normalmente utilizarán este flujo.

  • Los ingenieros de hardware diseñan lógica programable y exportan el hardware como un archivo Xilinx Support Archive (XSA) mediante AMD Vivado™ Design Suite. 
  • Los ingenieros de software incorporan esta información de diseño de hardware en su plataforma de destino y utilizan el software Vitis Embedded para desarrollar el código de su aplicación.

Los desarrolladores pueden realizar toda la verificación a nivel del sistema dentro del software Vitis Embedded y generar imágenes de arranque para iniciar la aplicación. 

Para obtener más información sobre el flujo de trabajo de desarrollo de aplicaciones de software integrado mediante la plataforma de software Vitis, consulte la sección Herramientas de Vitis para el desarrollo de software integrado en la Guía del usuario (UG1400).

Flujo de diseño del sistema Vitis

(Hardware y software)

Vitis System Design Flow Chart

Los diseñadores de sistemas que integran las partes de software y hardware de su diseño en SoC adaptables de AMD normalmente utilizarán este flujo.

Este flujo se utiliza para desarrollar diseños de sistemas integrados heterogéneos que comprenden aplicaciones de software que se ejecutan en procesadores integrados Arm® y núcleos de procesamiento que se ejecutan en PL (programmable logic, lógica programable) o matrices de motores de IA de Versal™.

Este flujo comprende:

  • Una aplicación host de software escrita en C/C++ y que normalmente se ejecuta en el subsistema del procesador integrado Arm. Utiliza la API nativa implementada por la biblioteca de tiempo de ejecución AMD Vitis para interactuar con los núcleos de hardware dentro del dispositivo AMD. 
  • Núcleos de hardware que pueden generarse desde C++ con la herramienta AMD Vitis™ HLS o describirse directamente en RTL con AMD Vivado™ Design Suite.

Para obtener más información sobre el flujo de diseño de sistemas heterogéneos mediante la plataforma de software unificada Vitis, consulta la sección Herramientas de Vitis para el diseño de sistemas heterogéneos en la Guía del usuario (UG1393).

Las tarjetas aceleradoras del centro de datos AMD Alveo™ emplean el mismo flujo de diseño de sistema: el programa de software se ejecuta en un host x86 y los núcleos se ejecutan en la FPGA en una tarjeta de aceleración conectada a PCIe®. Para obtener más información sobre el flujo de aceleración del centro de datos mediante la plataforma de software unificada Vitis, consulta la sección Herramientas de Vitis para la aceleración del centro de datos en la Guía del usuario (UG1393).

Novedades para el 2024.2

Mejoras para los diseños DSP del motor de IA AMD Versal™
  • Estimación de latencia y rendimiento con Vitis Analyzer
  • Marca qué PLIO no están disponibles con Vitis Analyzer
  • Informes de las memorias heap, stack y del programa
  • Nuevo flujo para la creación rápida de prototipos de diseños de Versal AI Engine
Nuevas y mejoradas funciones de la biblioteca Vitis para motores de IA
  • Funciones de biblioteca DSP mejoradas para Versal AI Core Series con AIE: Filtrado de FIR (finite impulse response, respuesta finita al impulso) y TDM (Time Domain Multiplexed, multiplexación por división en el tiempo), GEMM/GEMV de mayor rendimiento e IFFT 2D
  • Nuevas funciones de biblioteca de DSP para Versal AI Edge Series con AIE-ML: Filtrado de FIR y TDM, compatibilidad con FFT de Radix-3/Radix-5, GEMM/GEMV
Mejoras clave en AMD Vitis IDE (nueva interfaz gráfica de usuario)
  • Nuevo terminal serie: Monitorea los mensajes en serie desde el hardware
  • Mercado de extensión: instala y explora extensiones de terceros
  • PS Trace: nueva función para depurar y optimizar el rendimiento de sistemas integrados
AMD Vitis Software

Para obtener más detalles, visita nuestras páginas Novedades y AMD Vitis IDE.

Recursos