定制Overlay

  • 一.用HLS生成一个定制IP(乘法器)
  • 二.在vivado中设计一个overlay
  • 三、在Python中测试ip

一.用HLS生成一个定制IP(乘法器)

  1. 首先,打开Vivado HLS,本人的版本是2018.1
  2. 点击创建一个新工程,工程名为multiplication

  3. 设置工程名和路径,顶层函数设置为mul,创建一个新的C++程序,名字叫做multiplication.cpp,不用在testbench中添加文件。
  4. 选择板子的时候搜索xc7z020clg400-1,这是PYNQ的板子号,选择完成。 选择板子的时候搜索xc7z020clg400-1,这是PYNQ的板子号,选择完成。
  5. 在左侧的菜单栏里选择Source->multiplication.cpp,在里面编写如下代码:
  6. 完成之后我们可以在左侧菜单里选择solution1->impl->misc->drivers->mul_v1_0->src->xmul_hw.h不同的HLS版本可能位置不一样,如果没找到就换个位置找一下

    在这个文件中我们可以找到a,b,c的地址,我们之后能够通过地址传值,读值这里a为0x10,b为0x18,c为0x20
  7. 点击export RTL,输出RTL成功表明生成IP core成功

二.在vivado中设计一个overlay

  1. 打开vivado 2018.1,创建一个工程,选择板子的时候,选boards,在其中选择PYNQ-Z2

  2. 在左侧导航中选择create block design

  3. 在工作框中点击加号添加ZYNQ7 Processing System添加到工作面板中,然后点击Run Block Automation
  4. 在菜单栏中选择tools->settings->ip->repository点击加号,选择d:/fpga/multiplication把自己设计的IP添加进来,结果如下

  5. 选择IP Catalog->User Repository找到自己设计IP(此例IP名为Mul),将其添加,再点击Run Block Automation


  6. 在source栏中右键选择design sources->design_1(design_1.bd)右键选择create HLD wrapper
  7. 等wrapper完成之后选择generate bitstream生成bit文件
  8. 生成bit文件之后点击file->export->export block design生成tcl文件

三、在Python中测试ip

  1. 在Python中测试ip
    在D:\fpga\multiplication1\multiplication1.runs\impl_1中找到design_1_wrapper.bit文件和design_1.tcl文件,改名为multiplication.tcl和multiplication.bit, 将他们拷贝到PYNQ-Z2板子的overlays目录下
  2. 使用jupyter notebook创建一个新的python对我们自己的ip进行测试


3. python代码如下,完成验证,实验结束
本文参考https://blog.csdn.net/bramblewalls/article/details/80045922

pynq-z2 HLS开发相关推荐

  1. PYNQ框架HLS开发流程备忘

    0.设计思路 本文目的是为在PYNQ调用HLS所生成的bit文件所写,旨在明晰整个流程和细节,属于个人学习笔记,将随着工作的开展而逐步更新完善,该文章可能不会对您的工作有所帮助,但也希望您能指出文中的 ...

  2. PYNQ Z2一:板子连接与测试

    PYNQ Z2一:板子连接与测试 PYNQ Z2初体验 开发板的外观 连接板子 制作镜像,写入SD卡 连接电脑 使用预处理文件快速设置IP PYNQ Z2初体验 今天刚到手了一块PYNQ-Z2,确认过 ...

  3. hls fifo_【正点原子FPGA连载】第一章HLS简介--领航者ZYNQ之HLS 开发指南

    1)摘自[正点原子]领航者ZYNQ之HLS 开发指南 2)平台购买地址:https://item.taobao.com/item.htm?&id=606160108761 3)全套实验源码+手 ...

  4. input自适应_【正点原子FPGA连载】第十一章基于OV5640的自适应二值化实验-领航者ZYNQ之HLS 开发指南...

    1)摘自[正点原子]领航者ZYNQ之HLS 开发指南 2)平台购买地址:https://item.taobao.com/item.htm?&id=606160108761 3)全套实验源码+手 ...

  5. 解锁HLS开发|Demo(1):ARM动态配置FPGA的自定义IP

    微信公众号:佛系入门ZYNQ图像处理 "狂浪是一种态度" "八卦HLS" 本次Demo目的及功能 本次Demo原理分析 HLS开发->源文件设计 HLS开 ...

  6. HLS 开发学习(五) 稀疏矩阵向量乘法

    文章目录 稀疏矩阵向量乘法 CRS数据结构 稀疏矩阵向量乘 Test bench 测试用例 优化 稀疏矩阵向量乘法 CRS数据结构 b即为a的CRS表示,值(values)数组保存矩阵中非零元素的值. ...

  7. 从零开始成为GStreamer专家——MPEG-DASH HLS开发

    MPEG-DASH开发 DASH(Dynamic Adaptive Streaming over HTTP),在GStreamer中,DASH,HLS,MSS的adaptive_demux_sink_ ...

  8. vivado 2022.1添加pynq z2板卡

    1.下载板卡文件 https://www.tulembedded.com/FPGA/ProductsPYNQ-Z2.html 2.将pynq-z2.zip解压得到pynq-z2文件夹 3.将这个文件夹 ...

  9. PYNQ系列学习(三)|pynq与zynq对比(二)

    上一期的学习中,我们系统性地介绍了PYNQ与ZYNQ地区别与联系.PYNQ = Python + ZYNQ,即将ZYNQ部分功能的Python化,直接调用Python库和FPGA硬件库进行功能的开发. ...

最新文章

  1. js-ES6学习笔记-module(4)
  2. php绘图技术加水印,PHP图片添加水印功能示例小结
  3. oracle11g dataguard windows,Oracle11g 搭建DataGuard(笔记)
  4. 《服务外包概论》实验报告——版本管理与控制工具的综合应用
  5. 程序员面试金典 - 面试题 10.01. 合并排序的数组
  6. K8S精华问答 | Kubernetes用的是Docker的容器?
  7. Daemon线程--《Java并发编程的艺术》学习笔记
  8. html输入参数,传递输入参数,通过Html.ActionLink
  9. Oracle数据库备份到本地
  10. Ckeditor富文本编辑器的使用Smartupload文件上传
  11. 利率交換 IRS 估值 (1) 前言
  12. 配置Docker镜像加速器
  13. 制作简易的牛顿摆锤模型
  14. 文件加解密,AIDE入侵检测,扫描与抓包
  15. 论文略读:《地区如何随着时间的推移而多样化?产业关系与地区新增长路径的发展》
  16. 奉上——手机版个人财务管理软件
  17. JAVA版本号的问题 Java版本号与JDK版本
  18. 关于spring data jpa 仓储层自动实现
  19. 第一学期-期中考试-考试总结
  20. 漫画说算法--动态规划算法一(绝对通俗易懂,非常棒)

热门文章

  1. 一分钟自我介绍 建议
  2. VS2013中编译openssl的步骤和使用设置
  3. 【游戏】GBA模拟器——VisualBoyAdvance1.8.0版下载
  4. win7全屏_win7常见问题之附件小工具不见了?
  5. radan7破解版|radan7中文破解版|2018最新版
  6. 数字签名算法的原理与设计
  7. E-UTRA名词解释
  8. Unity LoadImage LoadRawTextureData 方法加载 Bitmap
  9. 互联网科普-淘宝的聚划算(团购C2B)
  10. 【Docker】clair镜像扫描的实现