02 构建项目并通过仿真运行AIE
1.在FLOW导航器中,确保选择了simple_aie_application组件,然后在AIE SIMULATOR/HARDWARE下点击【Build】

2.要运行System C仿真(称为Emulation-AIE或AIE SIMULATOR),请在FLOW导航器中,选择simple_aie_application组件,然后单击AIE SIMULATOR/HARDWARE下的Run。

3.您可以在控制台中看到仿真成功运行。
输出数据写入文件build/aiesimulator_output/output.txt。您可以将文件output.txt与golden.txt文件进行比 较,数据应该一样。

2.1.3 System Integration系统集成
在这一步骤中,将学习如何将HLS中的可编程逻辑(PL)内核添加到系统项目中,并构建真个系统。
01 修改Graph以在硬件构建
现在已经有了一个可以在AI Engine阵列上运行的应用程序。现在需要修改AI Engine graph以在硬件中使用,并使用vitis编译器(V++)将AI Engine阵列连接到PL。
Project.cpp中的main函数不会在硬件运行中使用,因此需要添加一个开关,以便硬件构建时不会考虑main函数。

02 添加PL内核
在此示例中,使用HLS内核在内存DDR和AXI4-Stream接口之间架起桥梁,用于从内存输入和输出数据。mm2s内核从内存中读取数据并输入到AI Engine数组。s2mm内核接收AI Engine数组的输出数据并将其写入内存。
. 在Vitis IDE中点击File->New Component->HLS。
. 将第一个组件命名为mm2s,并点击【Next】。
. 在Configuration File页面,保持默认配置(Empty File),然后点击【Next】。
. 在Source Files页面,从文件夹中添加文件mm2s.cpp。

. 在同一页面,将mm2s函数设置为top函数(点击Browse,选择mm2s)

. Hardware平台选择页面,选择前面创建的平台base_pfm_evm190
. 然后点击【Next】
. 在Settings页面,在flow_target中选择Vitis Kernel Flow Target
. 在package_output_format中选择Generate a Vitis XO,点击【Next】

. 点击【Finish】
. 重复步骤1~8,使用s2mm.cpp源文件创建另一个名为s2mm的HLS组件
03 配置硬件链接项目
vpp_link,现在您已经导入了内核,您需要告诉Vitis链接器如何将所有内核连接在一起。
单击File->New Component->System Project创建新的系统项目组件。
系统组件命名为:simple_aie_application_system_project并点击【Next】
在平台选择页面选择之前创建的base_pfm_evm190
跳过“嵌入式组件路径”页面(单击Next)。此页面用于运行Linux系统,我们的系统将是裸机系统,所以不用管。
点击【Finish】
打开名为vitis-sys.json的设置文件,然后单击文件底部Components部分中的Add Existing Component。然后单击HLS并选择mm2s和s2mm组件。

在Components中点击Add Existing Components
现在您需要告诉Vitis编译器系统的连接情况。此步骤是使用配置文件完成的。
在设置文件vitis-sys.json中,展开binary_container_1;
单击hw_link/binary_container_1-link.cfg.binary_container_1-link.cfg中将视图更改为源代码编辑器,并在【connectivity】中添加以下行。


binary_container_1-link.cfg配置页面中,将视图更改回设置表单并启用导出硬件(XSA)。

文章来源:威视锐科技