将各种域应用工程添加到顶层系统工程时,只需使用hw_link工程来定义 AI 引擎 graph 与 PL 内核之间的连接即可。在创建 AI 引擎 graph 工程期间,会自动生成此工程。
- 在Explorer(资源管理器)视图中双击hw_link工程将其打开。右键单击Hardware Functions(硬件函数)窗口中的binary_container,然后选择Edit V++ Options(编辑 V++ 选项)命令。
- 编辑V++ Options(V++ 选项)字段。添加 config 文件的正确路径至关重要,因为
v++
命令需要将此路径用于 Vitis IDE 工作空间。
- 将指定的 config 文件导入 hw_link 工程文件夹。
提示: 系统配置文件会被添加到 hw_link 工程文件夹内,而不是添加到 src 文件夹内。如 系统链接 中所述,对于 AI 引擎 graph 应用,Vitis 编译器需要获取有关如何将 PL 内核连接到 graph 的指令。在 IDE 中已配置要例化的内核数量。但必须指定 PL 内核与 graph 之间的连接定义。
对于 Vitis IDE,配置文件示例如下所示:
[connectivity] stream_connect=mm2s_1.s:ai_engine_0.DataIn1 stream_connect=ai_engine_0.clip_in:polar_clip_1.in_sample stream_connect=polar_clip_1.out_sample:ai_engine_0.clip_out stream_connect=ai_engine_0.DataOut1:s2mm_1.s
连接 sc
选项用于定义 AI 引擎 graph 的端口与 PL 内核的串流端口之间的连接。连接可定义为将某一个内核的串流输出连接到另一个内核的串流输入,或者连接到目标平台中实现的 IP 的串流输入端口。
在 Vitis IDE 与命令行流程之间,system.cfg 文件存在某些差异,如 系统链接 中所述。主要差异在于,IDE 提供 config 文件的连接 nk
选项,按内核例化指定数量的计算单元 (CU),此数量在构建设置内指定。此外,IDE 为 CU 使用的命名约定形式为 <kernel>_#
,其中 #
表示 CU 实例。如果仅有 1 个 CU 实例,那么它会包含 _1
扩展。这表示对于 Vitis IDE,system.cfg 不应指定 nk
选项,并且 sc
选项应使用来自 IDE 的 CU 实例名称。