In the Vitis Export to Vivado flow, the linker stops before running RTL synthesis and outputs a project archive (VMA file) for export to the Vivado Design Suite. This flow lets you open the Vitis archive in the Vivado tools for directed synthesis, place and route, and timing closure. The Vitis Export to Vivado flow requires custom Versal platforms designed specifically to support this feature.
An example command follows:
v++ --target hw --platform custom_vck190 --link vadd.xo libadf.a --config ./system.cfg \
--export_archive -o hw-vadd.vma
--export_archive command cannot be used with the
--target hw_emu (or -t) command. An error will be returned.This command is similar to the prior command, with the following differences:
-
--export_archive - Specifies the creation of the
.vmafile to export to the Vivado Design Suite. This option stopsv++from automatically running Vivado synthesis and place and route, and instead lets you manually launch and direct the implementation and timing closure of the design as described in Vitis Export to Vivado Flow. -
--platform custom_vck190 - The
--export_archivecommand can only be used with a custom platform compatible with the Vitis export to Vivado flow. -
-o hw-vadd.vma - Specifies the output file name for the
.vmafile produced by the--export_archivecommand.
The .vma file is imported
into the original extensible platform project in the Vivado Design Suite using the vitis::import_archive Tcl procedure. Development can then continue in
the Vivado project, including additional
design modifications, simulation, synthesis, and implementation.
After implementation and timing closure, the write_hw_platform -fixed command has been enhanced to
encapsulate the XRT metadata from the .vma
file into the output .xsa. You can also export
the XSA for the hardware emulation target from the Vivado tool and run emulation in the Vitis tool.
If the .vma is updated or
iterative design methodology is used, the previously imported VMA needs to be
removed using vitis::remove_archive_hierarchy
before the updated VMA is imported.
Vitis Export to Vivado Flow Detailed Example further explains the flow.