PL kernels can also be developed using RTL kernels and the Vivado Design Suite. This approach is convenient for hardware engineers that have existing RTL IP, including Vivado IP integrator-based designs, or prefer creating new functions by writing RTL code.
An RTL kernel is a regular design packaged as Vivado Design Suite IP, but the kernel must comply with specific interface rules and requirements to be usable in the Vitis environment design flow. For more information about RTL kernels, see RTL Kernels in the Application Acceleration Development flow of the Vitis Unified Software Platform Documentation (UG1416).
Creating an RTL kernel follows traditional RTL design guidelines. Xilinx highly recommends that you create custom test benches and use
behavioral simulation to thoroughly verify the RTL code before packaging and using the
code as PL kernels in the Vitis environment design flow. After an
RTL design is fully verified and meets all the requirements for a Vitis kernel, the design can be compiled into a Vitis
kernel object (XO file) using the package_xo
command.