Configuration Files - 2023.1 English

Vitis Unified IDE and Common Command-Line Reference Manual (UG1553)

Document ID
UG1553
Release Date
2023-07-17
Version
2023.1 English

Configuration files are the recommended way of working with either the Vitis Unified IDE, or the common command-line supported by v++. A configuration file provides an organized way of passing options to the tools by grouping similar commands together, creating reusable configuration files to perform specific tasks like connectivity or profiling, and minimizing and simplifying the v++ command line. Some of the features that can be controlled through config file entries include:

  • AI Engine commands to configure component creation or simulation
  • HLS commands to configure flow targets and interface definition
  • Connectivity directives for system linking specifying the number of kernels to instantiate, or assigning AI Engine streaming ports to PL kernel ports
  • Package directives to configure the v++ --package process.
  • Directives for the Vivado Design Suite to manage hardware synthesis and implementation.
  • Comments can be added to the configuration file by starting the line with a "#".
Tip: Multiple processes can be defined in a single configuration file using section heads. However, it is recommended to keep separate configuration files for separate processes, such as HLS component creation, Application linking, and system packaging.

The Vitis Unified IDE use configuration files to drive component build and simulation processes. The configuration file can be created by the tool at the time of component creation, can be imported from an existing component, or can be custom created and added to the component separately.

For the command-line flow the configuration file is specified through the use of the v++ --config option. An example of the --config option follows:

v++ --link --config ../src/system.cfg

Switches are read in the order they are encountered. If the same switch is repeated with conflicting information, the first switch read is used. The order of precedence for switches is as follows, where item one takes highest precedence:

  1. Command line switches.
  2. Config files (on command line) from left-to-right.
  3. Within a config file, precedence is from top-to-bottom.