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.
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.