The Vitis IDE System Project contains
components:
- Platforms derived from Platform components
- HLS components
- AI Engine components
- Application components
- Components
- The linking configuration for building the system
- The packaging configuration for packing the system
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 hlscommand. - 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 aiecommand.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++ --packagecommand 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.txtby editing content defined betweenSTART OF USER SETTINGS STARTandEND 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.