In the Vitis Integrated Flow, the linker automatically runs Vivado synthesis and implementation on the project (hence the name "Integrated"), and creates a fixed hardware platform (.xsa) for use by the Vitis packaging process as described in Packaging for Vitis Flow.
The following is an example command line to link a PL kernel
(vadd.co) with an AI Engine graph (libadf.a) and a Versal adaptive
SoC platform, using specific linking options (system.cfg):v++ -t hw_emu --platform xilinx_vck190_base_202420_1 --link vadd.xo libadf.a --config ./system.cfg -o binary_container.xsa
This command contains the following arguments:
-
-t <arg> - Specifies the build target. When linking, you must use the
same
-tand--platformarguments specified when compiling the PL kernels and AI Engine graph application. -
--platform <arg> - Specifies the platform to link with the system design. In
the example command above the
custom_vck190platform is a custom platform designed to work with the--export_archivecommand. -
--link - Link the kernels, graph, and platform into a system design.
-
<input>.xo - Specifies the input PL kernel object files (
.xo) to link with the AI Engine graph and the target platform. This is a positional parameter. -
libadf.a - Specifies the input compiled AI Engine graph application to link with the PL kernels and
the target platform. This is a positional parameter. If your design uses
multiple partitions, you need to specify each corresponding
libadffile when linking the design. For detailed instructions on handling multiple partitions, refer to Compiling AI Engine Graph for Independent Partitions in the AI Engine Tools and Flows User Guide (UG1076) . -
--config ./system.cfg - Specify a configuration file that is used to provide
v++command options for a variety of uses, including connectivity and debug options. Refer to Vitis Compiler Configuration File in the Vitis Reference Guide (UG1702) for more information on the--configoption. - -o binary_container.xsa
- Specifies the output file name. The output file in the link stage will be an .xsa file due to the use of a Versal platform. The default output name is a.xsa.