【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真_zynq加速神经网络-程序员宅基地

技术标签: 卷积神经网络  vivado  fpga  IC  zynq  加速器  

HIGHLIGHT:

  • vivado设计流程:
    在这里插入图片描述
    note:
    分析与综合 和 约束输入 可以调换顺序

【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真

一、硬件调试

(一)新建工程

  1. new project
    在这里插入图片描述
  2. next
    在这里插入图片描述
  3. 编辑,然后next
    在这里插入图片描述
  4. 勾选创建完工程再添加文件
    在这里插入图片描述
  5. 根据实际情况选择型号
    在这里插入图片描述
  6. finish
    在这里插入图片描述

(二)设计输入

  1. add source
    在这里插入图片描述
  2. create design source
  3. create file
    在这里插入图片描述
  4. 命名(一般顶层模块名和工程名保持一致)、ok
    在这里插入图片描述
  5. finish
    在这里插入图片描述
  6. 端口信号不做定义,点击ok
    在这里插入图片描述
  7. 双击创建的.V文件,然后在代码编辑区域输入代码
    在这里插入图片描述

(三)分析

  1. open elaborated design
    verilog转换rtl
    在这里插入图片描述

(四)约束输入

  1. io planing
    在这里插入图片描述
  2. 选择管脚和管脚电平
    自行在自己开发板对应的原理图手册查找
    在这里插入图片描述
  3. 按下ctri+s——>起名——>ok
    在这里插入图片描述
  4. 右键关闭
    在这里插入图片描述
  5. 打开xdc文件
    这个文件可以做IO约束 或者 时序约束
    在这里插入图片描述

note:
约束这里可以自己添加约束文件
在这里插入图片描述
在这里插入图片描述

(五)综合、实现、生成比特流

  1. 点击generate bitstream
    点击generate bitstream后,vivado会自动跑综合和实现。提示框点击yes即可
    在这里插入图片描述

  2. 选择跑的时候运行的处理器核心数
    在这里插入图片描述

  3. 可以点击project summary查看进度
    图中在综合
    在这里插入图片描述

  4. 跑完了后会弹出以下框框
    选择选项3再按ok,或者直接按左边的按钮open hardware manager
    在这里插入图片描述

  5. 开发板上电连接电脑后选择program device 或者 左下角按钮
    在这里插入图片描述

  6. 点击program
    在这里插入图片描述

  7. 验证成功

二、软件仿真

(一)步骤

  1. 右键添加
    创建激励文件(testbench文件)
    在这里插入图片描述

  2. next
    在这里插入图片描述

  3. 编辑名字
    在这里插入图片描述

  4. finish
    在这里插入图片描述

  5. ok
    在这里插入图片描述

  6. 双击testbench文件,把自动生成的注释删去
    在这里插入图片描述

  7. 根据自己需求功能编写信号激励
    这里主要是时钟和复位信号
    在这里插入图片描述

  8. 点击行为仿真
    在这里插入图片描述

结果:
在这里插入图片描述
9. 点击所例化的文件,将cnt信号拖入信号栏
在这里插入图片描述
自行查看结果即可

(二)仿真界面指导

  1. 按钮指导:
    在这里插入图片描述

  2. 设置仿真时间
    在这里插入图片描述
    这里默认打开后仿真1000ns,可以在这里修改
    在这里插入图片描述

  3. 默认为显示十六进制,可以更改为十进制
    在这里插入图片描述

  4. 查看时钟周期
    间隔的两个上升沿分别add marker
    在这里插入图片描述
    单击左边蓝线,可见间隔为20ns,符合代码
    在这里插入图片描述

  5. 注意的是
    代码定义的计数器的值太大,这里只仿真1000ns,如果要跑仿真实际结果,需要很长时间,所以要么就等待,要么就修改计数器的值来模拟即可。

改完代码直接保存,并且relunch即可
在这里插入图片描述

  1. 保存波形文件
    ctrl+s 保存即可
    在这里插入图片描述
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39589455/article/details/120865557

智能推荐

android 开发框架_通过此拖放框架学习Android开发-程序员宅基地

文章浏览阅读223次。android 开发框架 1990年代后期,我开始进行涉及计算机的基于教室的研究时,我要做的第一件事就是将一些计算机带入教室。 我的顾问获得了六台第一代Bondi Blue iMac的资助,这些iMac将在我们进行研究的中学安装。 带着那些诱人的胶状形状的机器进入学校后,我对寻找参与者的担忧就烟消云散了。 那时,任何地方的计算机,尤其是中学教室里的计算机,仍然相对不常见,我们能够将其新颖性融..._安卓拖拽框架

android EditText基本设置_android中设置edittext第一行7位第二行8位-程序员宅基地

文章浏览阅读6.8k次。身份证号码大都是数字,但是极少数的最后一位是字母的。比如说,可能是X、Y、Z。在xml里这样设置就可以了:android:digits="1234567890XYZ" 但是我要默认的输入法为数字,怎么实现?谢谢你的解答,解决了我的问题。android:inputType="number"android:digits="0123456789xyzXYZ"同时设_android中设置edittext第一行7位第二行8位

ELAS_ROS算法在KITTI数据集上生成稠密点云-程序员宅基地

文章浏览阅读2.5k次,点赞8次,收藏37次。ELAS是一种基于概率模型的有效立体匹配算法,能够给予双目图像生成深度图,进而转化为点云.该算法的一种改进算法为LS-ELAS,其论文发表在2017年ICRA上,文章题目为"LS-ELAS: Line Segment based Efficient Large Scale Stereo Matching".本片博客主要介绍ELAS算法的一种开源代码ELAS_ROS安装,及其在KITTI数据集上的具体实现.一.KITTI数据集下载与转换为rosbag本文使用的KITTI数据集由kitti2bag转换为._elas_ros

项目众包 开源项目_您的开源项目应该报告其社会效益吗?-程序员宅基地

文章浏览阅读166次。项目众包 开源项目 尽管就“开源”和“自由”软件之间的差异写了很多字,但很少有人指出,对这些差异的讨论通常类似于围绕企业社会角色的辩论,最近几十年来,这种辩论一直占据着主导地位。 企业社会责任(CSR)概念。 但是,事实是,致力于开放原则的组织可以(并且应该)报告其活动,因为这些活动具有经济和社会影响。 对这种情况的分析实际上可能有助于我们调和两个原则性立场,它们之间的共同点比他们可能意识到..._软件免费开放使用 社会效益

seb小铺-程序员宅基地

文章浏览阅读235次。seb小铺链接:http://shop33201394.taobao.com/ ..._华为电脑^seb不能使用

华为鸿蒙HarmonyOS与安卓到底有何不同?_安卓系统臃肿吗_安卓和harmonyos底层-程序员宅基地

文章浏览阅读405次,点赞3次,收藏4次。IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**_安卓和harmonyos底层

随便推点

vue项目element框架 表格el-table 进行拖动排序_vue el-table实现拖拽-程序员宅基地

文章浏览阅读596次。【代码】vue项目element框架 表格el-table 进行拖动排序。_vue el-table实现拖拽

达梦数据库基础2-数据库实例(Linux)_linux达梦数据库创建实例-程序员宅基地

达梦数据库基础2-数据库实例(Linux),介绍了在Linux系统中创建和管理达梦数据库实例的方法,包括使用图形界面工具和命令工具来进行操作。摘要长度:88个字符。

Django1.6与extjs4整合-程序员宅基地

文章浏览阅读189次。从今日开始,公司的新后台系统,我将全部迁移到python的环境下,主要使用了Django与extjs4、jquery1.7的,数据库mysql5.5,容器是nginx。因为不考虑并发因素,所以在这里没有高深的python的线程处理,只是向刚毕业的大学生,几个框架的整合而已,没啥营养,我也是对于python的掌握,觉得Django这框架做的挺好的,模板处理、model层的映射等都比之前玩java..._django extjs

微服务雪崩保护_网络波动会导致微服务都不可用吗-程序员宅基地

文章浏览阅读1.8k次。一.微服务雪崩问题一.分布式系统问题由于网络的不稳定性,决定了任何一个服务的可用性都不是 100% 的。当网络不稳定的时候,作为服务的提供者,自身可能会被拖死,导致服务调用者阻塞,最终可能引发雪崩效应。二.可能产生雪崩的原因:1.服务不可用:缓存击穿、大量的请求、程序bug、硬件故障、资源耗尽等导致服务不可用2.流量过大:由于用户或者代码逻辑重试三.现象:1.开始线程1中微服务D不可用了,线程1阻塞在微服务D2.线程2中,由于微服务C依赖于不可用的微服务D,那么导致微服务C也不可用,线程2阻_网络波动会导致微服务都不可用吗

Oracle表的种类及定义_oralcle 设计表 多段名称定义-程序员宅基地

文章浏览阅读1.8k次。1表的类型1)堆组织表(heap organized tables).当增加数据时,将使用在段中找到的第一个适合数据大小的空闲空间.当数据从表中删除时,留下的空间允许随后的insert和update重用.2)索引组织表.这里表存储在索引结构中,利用行本身物理排序.在堆中,数据可能被填到任何适合的地方,在索引组织表中,根据主关键字,以排序顺序来存储数据.3)聚簇表_oralcle 设计表 多段名称定义

python颜色代码表_将十六进制值转换为python中颜色的名称-程序员宅基地

文章浏览阅读1.1k次。my program outputs hex values such as (#673429ff).I wanted to convert that to the colour name.How can I get the colour name?I am using python.Here is the last part of my code:index_max = scipy.argmax(..._〈red_lbl_16〉

推荐文章

热门文章

相关标签