内核代码是以 C、C++、 OpenCL™ C 或 RTL 编写的,通过将内核代码编译到赛灵思对象 (XO) 文件中来进行构建,并将 XO 文件链接到赛灵思二进制文件 (.xclbin),如下图所示。
图 1. 器件构建进程
该进程(如上所述)分 2 个步骤:
- 从内核源代码构建赛灵思对象文件。
- 对于 C、C++ 或 OpenCL 内核,
v++ -c
命令可将源代码编译到赛灵思对象 (XO) 文件中。多个内核将编译到不同的 XO 文件中。 - 对于 RTL 内核,Vivado IP 封装器命令会生成要用于链接的 XO 文件。如需了解更多信息,请参阅 RTL 内核。
- 您也可以创建可在 Vitis™ HLS 工具中直接使用的内核对象 (XO) 文件。如需了解更多信息,请参阅 使用 Vitis HLS 编译内核。
- 对于 C、C++ 或 OpenCL 内核,
- 编译后,
v++ -l
命令会将一个或多个内核对象 (XO) 与硬件平台 XSA 文件链接到一起,以生成赛灵思二进制文件 .xclbin。