Under the Packaging Steps, Select Review and Package. This displays the Review and Package window. You are now ready to package the IP. However, first check that an archive file will be generated when packaging the IP. This is the default behavior when Package for Vitis is enabled.
Look in the After Packaging section of the Review and Package window. If you see that an archive will not be generated, then you should enable the archive by selecting Edit packaging settings. This displays the Settings dialog box with the IP Package section displayed.
Under the After Packaging section of the dialog box, enable Create archive of IP as shown below, and click OK. You should see the Review and Package window change to reflect that an archive will now be created.
Click Package IP.
After packaging the IP you should see dialog box indicating that the IP packaged successfully.
With Package for Vitis enabled, the tool automatically runs the package_xo
command to create the Vitis kernel (.xo
) file. The package_xo
command also packages the IP files and the kernel.xml
file into the generated .xo
file. You can examine the Tcl Console window to see that the package_xo
command has been run.
package_xo -xo_path <tutorial_path>/rtl_kernel/rtl_kernel.srcs/sources_1/imports/src/xo/Vadd_A_B.xo -kernel_name Vadd_A_B -ip_directory <tutorial_path>/rtl_kernel/rtl_kernel.srcs/sources_1/imports/src/IP -ctrl_protocol user_managed
Where:
package_xo: Command name to create a compiled object file (
.xo
) from the Vivado IP.-xo_path: Path and name of the xo file.
-kernel_name: Name of the kernel to create, and should match the RTL module name.
-ip_directory: Path to look for the packaged Vivado IP.
-ctrl_protocol: Specifies the control protocol the kernel implements.
After the package_xo
command returns, navigate to the reference-files/rtl_kernel/rtl_kernel.srcs/sources_1/imports
folder where you can see the IP
folder and the xo
folder. Look at the Vadd_A_B.xo
file in the xo
folder. The .xo
file contains the IP representation of the kernel, as well as the kernel.xml file used by the Vitis compiler to link the kernel into the device binary (.xclbin
).
You will use the .xo
file in the Vitis application acceleration flow as explained later in this tutorial.