这篇博客主要介绍基于PYNQ开发板的自定义overlay的制作流程!
-
准备工作
-
制作流程
-
板上验证
1、准备工作
首先,用到的软件有Vivado和Vivado HLS,理论上版本无要求,高版本可以兼容低版本的工程。我这里用的是Vivado 2018.2和Vivado HLS 2018.2版本。还有就是参考官方指导手册:https://pynq.readthedocs.io/en/v2.5.1/overlay_design_methodology/overlay_tutorial.html
2、制作流程
第一部分:Create a custom IP(accelerator)
首先,打开Vivado HLS,点击Creat New Project,配置如下,因为我们要自定义一个相加器的IP核,然后封装成overlay,所以我给工程起名adder,路径如图,这个都可以自己设置。
然后点击Next,Top Function填add,点击New File创建一个新的adder.cpp文件。
然后再点击Next,选择芯片型号,也即开发板的芯片型号:xc7z020clg400-1 点击Finish,可能要稍等一会儿。
打开左侧工具栏中的Source下面的adder.cpp文件,将IP核的C语言描述从官方手册上复制、粘贴、保存,再运行。
运行完成后,点击export RTL,然后点击OK,生成RTL。
至此,使用Vivado HLS的部分结束。
第二部分:Design overlay in Vivado
首先,在你的Vivado软件的board_file里添加pynq-z2的板卡文件,pynq-z2的板卡文件下载链接:
链接:https://pan.baidu.com/s/1XnaZfTtfKyUTX8CYrToWmA
提取码:11t9
将文件解压后粘贴到安装目录下,如图:
然后打开Vivado软件,创建新工程
选择Boards,找到pynq-z2,点击Next,点击Finish。
点击Create Block Design,点击OK。
添加ZYNQ7 Processing System,点击Run Block Automation,弹出界面点击OK。
将第一部分生成的自定义IP核加载进本工程。
添加自定义的IP核,并修改名字为scalar_add,点击Run Block Automation。
生成硬件封装,在弹出窗口选择Let Vivado manage wrapper and auto-update。
点击Generate Bitstream,点击OK,选择Launch runs....,点击OK。这可能需要一段时间。
完成后,下面操作生成Tcl文件。
至此,我们完成了制作过程,得到了overlay的.bit文件和.tcl文件,在下一部分,将使用此文件进行验证。
3、板上验证
(篇幅过长,所以分为上下篇)