本文转载自:<span id="profileBt"><a href="https://mp.weixin.qq.com/s?__biz=Mzg3NDAxNzU1MA==&mid=2247487128&idx=1&…; Xilinx技术社区微信公众号</a></span>
这是《创建 Vitis 加速平台》系列的第 4 篇博文。
在本系列博客的前几篇博文中,我们讲解了如何创建硬件和软件工程。下一步,我们将讲解如何在Vitis™中封装此工程。
随后,我们将在 Vitis 中通过创建简单应用并对其进行加速,以便对该工程进行测试。
创建应用:
启动 Vitis 并创建应用工程。
选择“Select a platform from therepository”以从存储库中选择平台,然后单击 + 图标:
<center><img src="http://xilinx.eetrend.com/files/2020-11/wen_zhang_/100058379-111255-1.p…; alt=""></center>
浏览至您的定制平台:
<center><img src="http://xilinx.eetrend.com/files/2020-11/wen_zhang_/100058379-111256-2.p…; alt=""></center>
注:确保流程设置为“嵌入式加速 (Embedded Accel)”。
我们还可以看到部分资源,这里显示的是已启用的时钟。
为工程命名:
<center><img src="http://xilinx.eetrend.com/files/2020-11/wen_zhang_/100058379-111257-3.p…; alt=""></center>
此处应用设置应可使用您在封装平台时输入的设置自动完成填充:
<center><img src="http://xilinx.eetrend.com/files/2020-11/wen_zhang_/100058379-111258-4.p…; alt=""></center>
这里我们使用模板:
<center><img src="http://xilinx.eetrend.com/files/2020-11/wen_zhang_/100058379-111259-5.p…; alt=""></center>
我计划在 ZCU104 评估板上运行此工程,因此我把“当前使用的构建配置 (Active Build Config)”更改为“硬件 (Hardware)”:
<center><img src="http://xilinx.eetrend.com/files/2020-11/wen_zhang_/100058379-111260-6.p…; alt=""></center>
然后执行构建:
<center><img src="http://xilinx.eetrend.com/files/2020-11/wen_zhang_/100058379-111261-7.p…; alt=""></center>
这样就会执行如下所述操作:
<li>Vitis 使用 HLS 把 C 语言代码转换为 RTL,然后通过 AXI 接口将其封装</li>
<li>随后,Vitis 调用 Vivado 并重新打开您的 XSA 文件,然后添加此新 IP 核</li>
<li>随后,Vitis 使用您的 PFM 中的元数据将此 IP 核连接到 CPU</li>
<li>随后,Vivado 执行了重新实现以创建更新后的比特流</li>
<li>随后,Vitis 在启动镜像中对此比特流进行了重新封装</li>
<li>Vitis 连接器创建了容器文件 XCLBIN。XRT 通过解析此文件以获取内核所需的硬件和平台数据</li>
<li>Vitis 编译器生成了应用文件,该文件将用于执行内核</li>
<li>最后,Vitis 创建了 SD 卡 IMG</li>
现在,对含 sd_card.img 文件的 SD 卡进行格式化。
我使用的是 Win32 Disc Imager:
<center><img src="http://xilinx.eetrend.com/files/2020-11/wen_zhang_/100058379-111262-8.p…; alt=""></center>
现在,您的 SD 卡应如下示例所示:
<center><img src="http://xilinx.eetrend.com/files/2020-11/wen_zhang_/100058379-111263-9.p…; alt=""></center>
如果您不想使用 Win32 Disc Imager,则手动复制即可。
运行应用:
启动 Linux 镜像,并使用以下命令:
<pre>cd /mnt/mmcblkp0
source ./init.sh
./my_first_accel binary_container_1.xclbin</pre>
<center><img src="http://xilinx.eetrend.com/files/2020-11/wen_zhang_/100058379-111264-10…; alt=""></center>
至此大功告成,应用测试现已成功完成。