Showing results for 
Show  only  | Search instead for 
Did you mean: 
Registered: ‎01-29-2021

Vitis v++ -c compile vs package_xo TCL command in Vivado


As far as I understood so far Xilinx object files .xo can be created as follows:

- with Vitis v++ -c command from an Open CL 1.2 source file that takes the particular target platform as argument to run this v++ -c command.

- with package_xo TCL command in Vivado from an RTL model as input for this command. Nonetheless according to the details provided on the following link, it seems the package_xo command does not need to know the target platform to b able to create the Xilinx object file.

Could anyone make clear why Vitis v++ -c needs to know the target platform to be able to create an .xo Xilinx object file while the package_xo TCL command in Vivado does not need it?


0 Kudos
1 Reply
Xilinx Employee
Xilinx Employee
Registered: ‎01-04-2013

The package_xo command is run in the context of the VIvado tool. The Vivado project requires a Xilinx board or part to create the IP. The board or part is the target device, and aligns with the platform specified in the v++ -c command. 

By the way, you can also use Vitis HLS to create an xo object, and this also requires a part or board. The v++ -c command is actually running Vitis HLS in the background.