Linking a VSS Component - Linking a VSS Component - 2024.2 English - UG1701

Embedded Design Development Using Vitis User Guide (UG1701)

Document ID
UG1701
Release Date
2025-01-24
Version
2024.2 English

A Vitis Subsystem (VSS) is a platform-independent reusable design component with customizable AI Engine and PL content. The VSS is integrated into a larger system through Vitis tools.

To integrate the various PL and AIE components, a configuration file is used to declare what components to use and which interfaces to connect. The syntax is similar to how Vitis connects components to an extensible platform, except for declaring what needs to be added to a vss archive. Specifying the VSS component archive requires the following syntax:

vss=amd.com:<vss_library_name>:<vss_component_name>:<version_number>:<list_of_instances>
Table 1. Description of the VSS Component Syntax
Item Example Description
vss_library_name my_vss_lib Identifier name to associate the VSS to a library
vss_component_name vss_top Will be used as VSS archive name and concatenated with instance names to provide unique name when integrating VSS component to an extensible platform
version_number 1.0 To keep track of library/component version
list_of_instance counter_0,ai_engine_0 Comma separated list of instance names. The names need to match kernel names declared with "nk" in the config file.
Note: The ai_engine_0 instance name need to match the default instance name in Vivado HW platform

The VSS archive is generated using the linker with --mode vss. An example command is shown below:

v++ --link --mode vss --save-temps --part <part_name> --config ./src/vss_conn.cfg <list_of_xo> <libadf.a> --out_dir <build_folder>