软件可控内核会公开一个可编程的寄存器接口,以允许主机软件应用通过寄存器读取和写入来与内核进行交互。这些都属于最常见且适用最广泛的 PL 内核类型。有 2 种类型的软件可控内核:用户管理的内核和 XRT 管理的内核。
注释: XRT 管理的内核是用户管理的内核的其中一种专用格式。
用户管理的内核与 XRT 管理的内核的主要区别在于内核执行模式。由于 XRT 依赖于 HLS 编译器所生成的 ap_ctrl_chain
和 ap_ctrl_hs
执行协议,XRT 管理的内核更适合 C++ 开发者,如 使用 C++ 开发 PL 内核 所述。另一方面,用户管理的内核可支持现有 Vivado RTL IP 中常见的各种不同用户定义的执行协议,因此更适合 RTL 设计师,如 封装 RTL 内核 中所述。
Vitis 开发流程支持使用 XRT 本机 C/C++ API 编写软件应用以便与 PL 内核搭配使用,此 API 同时支持用户管理的内核与 XRT 管理的内核以及某些高级设计,如 执行模式 中所述。后续章节将简要描述编程 API 以及 XRT 管理的内核或用户管理的内核所需的不同硬件接口。
XRT 管理的内核 | 用户管理的内核 |
---|---|
|
|