Supported Kernel Interface - 2022.1 English

Vitis Unified Software Platform Documentation: Application Acceleration Development (UG1393)

Document ID
Release Date
2022.1 English

These kernels require the ap_ctrl_chain or ap_ctrl_hs protocol specified by Vitis HLS, where ap_ctrl_chain is the recommended protocol.

  • The kernel should specify the mode=ap_ctrl_chain INTERFACE pragma on the function return.
  • The kernel supports streaming interfaces (axis).
  • The kernel also both scalar arguments (s_axilite) and memory mapped (m_axi) arguments which can be both read and written.

Auto-restart kernels can be used in a couple of different scenarios:

  1. Scenario 1: Auto-Restarting Kernel with Streaming Interface: Auto-restart kernel with streaming interfaces (axis) only, that does not require the kernel to interact with the host application at all. Examples of this would be a Fast-Fourier Transform (FFT) with configuration data compiled into the kernel, or FIR filters with coefficients compiled into the kernel.
  2. Auto-restart kernel using scalars and memory mapped (m_axi) arguments, either with axis interfaces or without. The scalar and memory mapped arguments require the mailbox to update the kernel parameters when needed. Examples of this would include a simple rule-based firewall with rules written by the host application at reset, with a counter of dropped packets that can be read by the host code but where all values must come from a single kernel execution. Or, a load balancer that uses a hash map to send data to a server, must update the server list, server map, and corresponding IP addresses simultaneously.