Supported Interfaces - 2023.2 English

Vitis High-Level Synthesis User Guide (UG1399)

Document ID
Release Date
2023.2 English

Auto-restarting HLS design require the ap_ctrl_chain or ap_ctrl_hs protocol specified by Vitis HLS, where ap_ctrl_chain is the recommended protocol.

  • The design should specify the mode=ap_ctrl_chain on the INTERFACE pragma or directive.
  • Auto-restarting designs support streaming interfaces (axis) and both scalar arguments (s_axilite) and memory mapped (m_axi) arguments which can be both read and written.

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

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