These kernels are present in the device but are not directly managed by the
software application, instead triggered by the arrival of data at the interface. The
kernels must have at least one AXI4-Stream
interface. The kernel synchronizes with the rest of the system through these streaming
interfaces. These kernels can have scalar inputs and outputs connected through the AXI4-Lite interface. You can read/write to the kernels by native XRT APIs
(xrt::ip::read_register
,
xrt::ip::write_register
).
Data driven kernels do not require a software API, as the host application is not required to interact directly with the kernel. The kernel can be developed as either an RTL IP or synthesized from C/C++ source code.