如果您的 RTL IP 不满足 Vitis 编译器的 AXI 接口要求(如 内核接口要求 中所述),那么您必须修改 IP 以实现所需接口。但如果您的 RTL IP 不满足 XRT 控制协议 ap_ctrl_hs
或 ap_ctrl_chain
,那么您可将其定义为用户管理的内核,而无需重写 IP。
用户管理的内核无需满足 XRT 的控制要求,并且可实现各种执行机制。用户管理的内核允许您利用 Vitis 编译器的系统构建功能,同时允许您的内核实现您自己的控制方案。在此情况下并没有规定的内核启动、停止或控制方法。这些方法很大程度上取决于您的应用或系统的具体要求。可用的控制方案包括:
- 通过
s_axilite
控制接口访问寄存器,类似于 XRT 所使用的方法,但也可供您自己的实现使用 - 通过软件驱动程序(例如,UIO 驱动程序)来访问主机应用中实现的硬件
- 从独立组件提供的信号或者从其它内核触发您的内核的启动或停止响应
- 提供数据驱动的方法,如 使用自动重启内核 中所述
重要: 在
s_axilite
接口中为用户管理的内核实现控制寄存器的局限性之一在于此控制寄存器不得名为 CTRL。此名称为保留名称,专用于 XRT 管理的内核,在用户管理的内核(或 ap_ctrl_none
内核)上发现使用此名称时会返回“Critical Warning”(严重警告)。