📝
Pynq-Tutorial
  • 介绍
  • [Pynq 中文资料]
    • 01_PYNQ-Z2开发板上手
    • 02_PYNQ常见问题
    • 03_Jupyter Notebook必知必会
    • 04_PYNQ Overlay介绍
    • 05_BaseOverlay介绍
    • 06_Logictools Overlay
    • 07-01_PYNQ Library详解 - PS与PL接口
    • 07-02_PYNQ Library详解 - IP访问
    • 07-03_PYNQ Library详解 - PS and PL control
    • 07-04_PYNQ Library详解 - IOP
    • 07-05_PYNQ Library详解 - Pynq MicroBlaze
    • 08_PYNQ快速上手实验介绍
    • 09_Overlay设计方法学
    • 10_自定义Overlay设计流程
    • 11-1_基于HLS的加速器Overlay设计实例 - 快速生成硬件IP
    • 11-2_基于HLS的加速器Overlay设计实例 - Notebook中调用硬件IP
    • 12_第三方Overlay介绍-SPYN
    • 13_以BNN-PYNQ为例的自定义Overlay分发方法介绍
    • 14_Python基础
Powered by GitBook
On this page
  • 介绍
  • 目标
  • 步骤1:创建新的Solution
  • 打开实验1中的HLS工程,创建新的Solution
  • 步骤2:创建Vivado工程
  • 2.创建Vivado工程:例化HLS IP到工程中
  • 步骤3:连接PYNQ-Z2测试
  • 3. 将PYNQ-Z2上电,通过Jupyter访问Matrixmul IP

Was this helpful?

  1. [Pynq 中文资料]

11-2_基于HLS的加速器Overlay设计实例 - Notebook中调用硬件IP

Previous11-1_基于HLS的加速器Overlay设计实例 - 快速生成硬件IPNext12_第三方Overlay介绍-SPYN

Last updated 5 years ago

Was this helpful?

介绍

本章节介绍了IP的接口及for循环语句directive基本方法、在Vivado工程中实例化HLS IP的流程、以及在Jupyter Notebook上对IP的调用方法。

目标

  • ​ 使用基本的HLS directive

  • ​ 在Vivado中实例化HLS IP

  • ​ Jupyter notebook中调用HLS IP

步骤1:创建新的Solution

打开实验1中的HLS工程,创建新的Solution

1.1 打开实验1中的HLS工程,点击 Project > New Solution…;

1.2 默认设置,点击 Finish按钮;

1.3 默认设置,点击 Finish按钮,工程中将会增加一个Solution2;

1.4 双击matrixmul.cpp,在Directive窗口,点击matrixmul后右键,将会出现对函数顶层模块插入Directive的选项;

1.5 点击Directive后,参照如下配置,点击OK;

1.6 使用同样的方法,对参数a、b、res和test添加directive,参照如下配置;

1.7 单击Col后,右键选择Insert Dorective…;

1.8 参照如下配置,点击OK;

1.9 最终的配置结果如下所示;

1.10 所有的directives都保存在了directives.tcl文件中;

1.11 点击 Solution > Run C Synthesis > Active Solution,对solution2进行综合;

1.12 点击工具栏 Export RTL按钮,导出IP;

1.13 弹出对话框作如下配置,点击OK;

1.14 Export报告如下;

1.15 关闭HLS;

步骤2:创建Vivado工程

2.创建Vivado工程:例化HLS IP到工程中

2.1 启动 Vivado工具: Start > Xilinx Design Tools > Vivado 2018.2;

2.2 新建Vivado工程;

2.3 一直点击Next按钮;

2.4 选择PYNQ-Z2板;

2.5 将刚刚生成的zip包拷贝到Vivado工程的.ip.user_files后解压缩;

2.6 将.ip.user_files文件夹添加到ip库;

2.7 创建 Block Design;

2.8 添加ZYNQ7 Processing System IP 到Block Design;

2.9 点击Run Block Automation,保持默认配置,点击OK;

2.10 为Zynq Processing System增加HP0口;

2.11 例化Matrixmul到Block Design;

2.12 通过AXI DMA将Matrixmul IP连接到PS侧,最终的Block Design如下图所示;

2.13 创建 HDL Wrapper文件;

2.14 生成Bitstream文件;

2.15 生成Block Design的tcl文件;

2.16 将tcl文件和bitstream文件拷贝到lab2_src/matrixmul目录,并将tcl文件和bitstream文件重命名为matrixmul.tcl和matrixmulbit;

步骤3:连接PYNQ-Z2测试

3. 将PYNQ-Z2上电,通过Jupyter访问Matrixmul IP

3.1 将笔记本或者PC机的IP地址设置为192.168.2.X

3.2 按如下方式设置好PYNQ-Z2,并将PYNQ-Z2通过网线连接到PC后,然后上电;

3.3 待PYNQ-Z2启动完成后,通过Winscp等sftp工具将包含tcl文件、bitstream文件和ipynb文件的matrixmul文件夹下载到板卡的jupyter_notebooks目录中;

注:用户名与密码均为: xilinx

3.4 打开Chrome或者Firefox等IE浏览器,输入192.168.2.99,密码为:xilinx

3.5 打开matrixmul目录,运行matrixmul.ipynb开始测试,