自动重启 HLS 设计需要 Vitis HLS 指定的 ap_ctrl_chain
或 ap_ctrl_hs
协议,其中,ap_ctrl_chain
是建议的协议。
- 设计应在 INTERFACE 编译指示或指令上指定
mode=ap_ctrl_chain
。 - 自动重启设计支持串流接口 (
axis
) 以及标量实参 (s_axilite
) 和存储器映射 (m_axi
) 实参(可读取和写入)。
可在多个不同的场景中使用自动重启设计:
- 仅限包含串流接口 (
axis
) 的自动重启内核,此内核完全不需要与主机应用交互。例如,要将配置数据编译到内核的快速傅里叶变换 (FFT),或者要将系数编译到内核的 FIR 滤波器。 - 使用标量和存储器映射 (
m_axi
) 实参的自动重启内核,包含或不含axis
接口。标量和存储器映射实参需要邮箱才能在需要时更新内核参数。例如,基于规则的简单防火墙(其规则由主机应用在复位时编写),以及丢包计数器(可由主机代码读取,所有值都必须来自单次内核执行)。又例如,使用散列映射向服务器发送数据的负载均衡器(必须同时更新服务器列表、服务器映射以及对应的 IP 地址)。