Introduction to Vitis Flows - 2022.2 English

Vitis Unified Software Platform Documentation: Application Acceleration Development (UG1393)

Document ID
Release Date
2022.2 English

The Vitis™ unified software platform is a development environment for heterogeneous applications supporting Xilinx® devices such as Alveo™ Data Center Accelerator cards, Versal ACAP devices, Kria™ SOM, and Zynq® MPSoC. In the Vitis environment, heterogeneous systems include software applications running on x86 host processors or Arm® embedded processors, compute kernels running in programmable-logic (PL) regions or Versal AI Engine arrays, and extensible platform designs that provide the foundation for building and running the heterogeneous systems. The Vitis unified software platform consists of the following elements:

  • The software development tool stack, such as compilers and cross-compilers to build your software application.
  • Debuggers to help you locate and fix any problems in your system design.
  • Program analyzers to let you profile and analyze the performance of your application.
  • Xilinx Runtime (XRT) provides an API and drivers for your software program to connect with the target platform, and handles transactions and data transfers between the software application and the hardware design.
  • Vitis accelerated libraries provide performance-optimized hardware functions with minimal code changes, and without the need to re-implement your algorithms to harness the benefits of Xilinx adaptive computing. Vitis accelerated libraries are available for common functions of math, statistics, linear algebra and DSP, as well as for domain specific applications, like vision and image processing, quantitative finance, database, data analytics, and data compression. For more information on Vitis accelerated libraries, refer to
The Vitis™ unified software platform combines all aspects of Xilinx® hardware and software development into one unified environment using standard C/C++ for both software and hardware components. The Vitis™ tools provide compilation, linking, profiling and debug capabilities for heterogeneous systems in a number of different design flows including Data Center application acceleration, RTL kernel design, Embedded System design, and traditional embedded hardware and software design. Each of these flows is described in more detail in the following chapters: