Export hardware supports both fixed and extensible platforms. Fixed platforms contain the complete set of hardware files for the device and are exported to the Vitis tools to add software to the design. Extensible platforms allow the Vitis tools to add hardware accelerators to the design. For more information on fixed and extensible platforms, see the Vitis Unified Software Platform Documentation: Application Acceleration Development (UG1393).
You can export the design using the write_hw_platform
Tcl command or using the menu command in the Vivado IDE. Using
this command from the Vivado IDE defaults to the
active parent configuration and generates the XSA type defined in the project settings.
To generate the XSA for a child run, open that implementation run first before exporting
hardware via write_hw_platform
.
For fixed hardware platforms, there are several command-line switches,
currently available in Tcl only, to configure write_hw_platform
. The following table shows the contents of the Xilinx
support archive (XSA) file for specific command line arguments related to the
programmable device image (PDI) file and hardware hand off (HWH). These options are
available for Versal devices only.
Command Line Arguments | Exported PDI | Exported HWH |
---|---|---|
Default (only option available in the GUI via Export Hardware) | Complete PDI for active configuration | Complete HWH for active configuration |
-static
|
Complete PDI for active configuration | Reconfigurable partitions are black boxed |
-rp -rm
|
Partial PDI for the specified RM in the specified partition | HWH for the specified RM in the specified partition |
After export, the Vitis tools use the XSA file to complete the software platform.
Extensible platforms require the following additional properties to be set so they can be passed to the Vitis tools:
-
set_property platform.platform_state "impl" [current_project]
-
set_property platform.uses_pr true [current_project]
-
set_property platform.dr_inst_path { <dynamic region impl hierarchy path> } [current_project]
A call to write_hw_platform
without the
-fixed
option creates an extensible platform. For
more information on extensible dynamic platforms, see the Versal Adaptive SoC Custom DFX Platform Creation
Tutorial available from the GitHub repository.