Kernel Types - 2021.1 English

Versal ACAP Hardware, IP, and Platform Development Methodology Guide (UG1387)

Document ID
UG1387
Release Date
2021-07-26
Version
2021.1 English

As explained in Programming Model in the Application Acceleration Development flow of the Vitis Unified Software Platform Documentation (UG1416), following are the different types of Vitis kernels:

Software Controllable Kernels
Software controllable kernels expose a programmable register interface, allowing a host software application to interact with kernels through register reads and write. These are the most common and widely applicable types of kernels. There are two types of software controllable kernels: user-managed and XRT-managed. User-managed kernels have fewer interface requirements than XRT-managed kernels and tend to be the most natural option for designers creating PL kernels from RTL code or Vivado IP blocks.
Non-Software Controlled Kernels
These kernels are present in the device but are not visible to or directly accessible by the software application. These kernels do not have a programmable register interface. The kernels must have at least one AXI4-Stream interface. The kernel synchronizes with the rest of the system through these streaming interfaces.