System Project Structure - System Project Structure - 2026.1 English - UG1702

Vitis Reference Guide (UG1702)

Document ID
UG1702
Release Date
2026-06-23
Version
2026.1 English
The Vitis IDE System Project contains components:
  • Platforms derived from Platform components
  • HLS components
  • AI Engine components
  • Application components
The System Project contains:
  • Components
  • The linking configuration for building the system
  • The packaging configuration for packing the system
The following figure shows the elements of the System Project under the System Project Settings.
Figure 1. Project Structure

Application Component
Software applications that run on x86 CPU for data center acceleration, or on ArmĀ® processors for embedded systems. The host program interacts with the AI Engine kernels and kernels in the PL region.
HLS Component
Programmable logic (PL) kernels that run on FPGA fabric written with C/C++ code and synthesized into RTL code. The tool compiles HLS components for implementation in the PL region of the target platform using the v++ --compile --mode hls command.
AI Engine Component
Asynchronous dataflow graphs and kernels that run on AI Engines of specific Versal devices. AI Engine components are compiled into libadf.a files using the v++ --compile --mode aie command.
Note: This setting is for the embedded flow only.
Platform Component
Defines a custom platform for use in embedded system designs. The acceleration flow also supports the inclusion of predefined platforms installed with the system, or downloaded separately. You can create custom platforms; see Integrating the System in the Embedded Design Development Using Vitis (UG1701).
HW Linker Settings
The hardware link process connects the PL kernels and/or AI Engine graph with the platform and builds the hardware system device binary. The hw_link/binary_container.cfg file defines the configuration settings for the linking process.
Package Settings
The Package settings define the files required to package the finished system for use. The system package process uses the v++ --package command to gather the required files to configure and boot the system, to load and run the application, including the AI Engine graph and PL kernels. This builds the necessary package to run emulation and debug, or run your application on hardware.
Note: This setting is for the embedded flow only.

The top directory stores files for project settings.

vitis-sys.json, vitis-comp.json
This is the top level settings file for applications and components. It defines the components of the application, their source code and the compiler settings file.
CMakeList.txt
The Vitis IDE uses CMake to manage the project. The top level CMakeList.txt defines the global build parameters and adds the component level of the build settings CmakeList.txt as sub-modules. You can modify the settings in CMakeList.txt by editing content defined between START OF USER SETTINGS START and END OF USER SETTINGS
Component/compile_commands.json
The auto-generated file to enable IntelliSense support using Clang.
Component/config.cfg
The configuration file for PL kernel compilation. Vitis passes v++ compiler.

The build output for each target reside in its own folder under the ./build directory. For example, aie_component/build/x86sim

Vitis stores the configuration file (xrt.ini) in <project>/<application_component>/runtime/<target>_xrt.ini. <target> is hardware emulation or hardware.