System Project Configuration Files - 2023.2 English

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

Document ID
UG1393
Release Date
2023-12-13
Version
2023.2 English

There are two types of configuration files for a Vitis system project:

CMake Files

The parameters defined in this file are translated to configuration settings to the compilers by CMake, a commonly used build utility. The Vitis Unified IDE provides a context editor for CMakeList.txt file. For more information see CMake.org.

In the CMakeList.txt file, Vitis Unified IDE creates templates for you to edit. The options managed by you are wrapped by comments such as:

####    START OF THE USER SETTINGS    ####

####    END OF USER SETTINGS SECTION    ####

The template provides explanations and examples to each user setting. For example:

# Add any compiler definitions, they will be added as extra definitions
# Example adding VERBOSE=1 will pass -DVERBOSE=1 to the compiler.
set(USER_COMPILE_DEFINITIONS
""
)

You should read the explanations and add the contents of the settings to the quote. For example;

# Add any compiler definitions, they will be added as extra definitions
# Example adding VERBOSE=1 will pass -DVERBOSE=1 to the compiler.
set(USER_COMPILE_DEFINITIONS
"VERBOSE=1"
)
Note: If a parameter has multiple values, each value with quote should take a new line. For more information about CMakeList.txt syntax, see CMake help document.

Configuration Files

The new Vitis Unified IDE provides a Config File editor with GUI rendering for option selection with example syntax. The default view is GUI rendering, but you can view the text form of the config file by clicking the </> button to switch to the code view. The code view can be used for manual entry of configuration commands, which can be necessary in some circumstances. There are four configuration files used in the system:

AI Engine Configuration (aiecompiler.cfg)
This is the configuration file for the AI Engine component for compilation and simulation of the component. The aiecompiler.cfg file is used by the v++ -c --mode aie command, in addition to the x86simulator and aiesimulator commands.
HLS Configuration (hls_config.cfg)
This is the configuration file for the HLS component to drive synthesis of the C/C++ code into an RTL module. It can be used to define properties of the design for synthesis, simulation, co-simulation, and implementation. The hls_config.cfg file is used by the v++ -c --mode hls command in addition to the vitis-run command.
Hardware Link Configuration (hw_link/binary_containers_1-link.cfg)
This is a configuration file for the System project and defines build instructions for linking the system of components with the platform. The hw_link/binary_containers_1-link.cfg configuration file is used by the v++ --link command.
Package Configuration (package/package.cfg)
This is another configuration file for the System project and defines packaging instructions for packaging boot files for the system, and creating an SD card. The package/package.cfg configuration file is used by the v++ --link command.