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

技术标签: 卷积神经网络  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

智能推荐

Mac查看本机IP的终端命令_啃萝卜的大兔子的博客-程序员秘密

在Mac系统中,打开终端,输入命令ifconfig并按回车即可查看本机IP,如图:输入命令ifconfig en0也可以查看本机IP(最后是数字0,而不是字母O),如图:

redux-form V.7.4.2学习笔记--Field解析(完)_weixin_33935777的博客-程序员秘密

说明原本我想把整个redux-form中知识点与使用技巧通过这个小系列短文全面总结出来的,但是此过程中发现问题的确不少。但同时,在参考国内外一些相关资源的同时,又发现了一个比redux-form更值得研究的东西。先卖个关子(可能有少数朋友已经有所了解),稍过一些时间我会专门撰文介绍。因此,临时把本文作为此小系列的结束篇,敬请有志于学习redux-form有朋友原谅(当然,在你了解到我介绍的那个更...

linux 或 mac 命令行更优雅的使用 curl 命令,以及命令行常用的快捷键说明_mac 命令行请求接口_hnd978142833的博客-程序员秘密

如何在 curl 命令中更优雅的查看返回的 json 数据?书接前文,我在上面那篇文章中,介绍了如何用 curl 命令来模拟各种接口请求。但是,通过命令行返回的接口数据还是一坨,没有十分优雅的展示。我相信这也会影响各位看官的使用体验,毕竟没有postman来得优雅。没关系,这里我介绍一个工具jq安装 jq 工具MacOS用户在命令行输入如下命令安装brew install jqUbuntu\Debian\Deepin命令sudo apt install jq...

Ambari 启用备用的 Ambari Server_ambariserver 热备_rookie_bigdata的博客-程序员秘密

问题:Ambari Server 存在单点问题解决:在备用节点部署 Ambari Server ,当主用 Ambari Server 发生故障时,启用备用 Ambari Server步骤:完成备用 Ambari Server 的安装,跟主用 Ambari Server 连同一 mysql 数据库,备用节点环境变量设置,免密到所有 Agent 节点等配置。 备用节点执行 ambari-server start。 所有 Ambari Agent 修改指向的 Ambari Server 地

操作系统:文件的物理结构(文件分配方式)_磁盘存储空间分配方式 随机访问_kylee1512的博客-程序员秘密

文件分配对应于文件的物理结构,是指如何为文件分配磁盘块。常用的磁盘空间分配方法有三种:连续分配、链接分配和索引分配。连续分配连续分配方式要求每个文件在磁盘上占有一道连续的块。优点:支持顺序访问和直接访问(即随机访问);连续分配的文件在顺序访问时速度最快。缺点:不方便文件拓展;存储空间利用率低,会产生磁盘碎片。链接分配链接分配采取离散分配的方式,可以为文件分配离散的磁盘块。分为隐式链接和...

WEB前端技能考核内容及岗位要求_前端开发考核_无名前端小白的博客-程序员秘密

在找工作的过程中,多多少少都会涉及到个人能力水平,技术技能水平等级。为了应大家的要求,web前端中文站给大家聊一聊web前端这块的工作要求情况。将岗位区分,从主要职责、专业技能、素质能力、特别要求共四大方面给大家介绍下。PS,当然,不同的岗位,薪资不一样,特别是工作三年后,一般会有一个质的提升!web前端岗位等级分类实习生/见习生(实习生)主要职责:1、页面及需求练习2、基本技能学习专业能力:HTML技能:了解HTML技术,能运用一些HTML标签css技能:了解CSS,能.

随便推点

go语言笔记——go是有虚拟机runtime的,不然谁来做GC呢,总不会让用户自己来new和delete进行内存管理吧,还有反射!Go 的 runtime 嵌入到了每一个可执行文件当中..._djph26741的博客-程序员秘密

2.7 Go 运行时(runtime)尽管 Go 编译器产生的是本地可执行代码,这些代码仍旧运行在 Go 的 runtime(这部分的代码可以在 runtime 包中找到)当中。这个 runtime 类似 Java 和 .NET 语言所用到的虚拟机,它负责管理包括内存分配、垃圾回收(第 10.8 节)、栈处理、goroutine、channel、切片(slice)、map 和反射(r...

msyql中文乱码问题_seamus的博客-程序员秘密

参考:http://hi.baidu.com/ayongs/item/30f784122c8d51a5ffded509http://www.2cto.com/database/201108/101151.htmlhttp://www.laruence.com/2008/01/05/12.htmlmysql5.1参考手册一.mysql字符集MySQ

根据屏幕宽度修改font-size达到自适应_font-size 根据弹窗宽度调整_小码农路过的博客-程序员秘密

window.onload =function(){ document.documentElement.style.fontSize = (window.screen.availWidth /1920)*100+'px' } // 页面宽度发生变化时onresize // 1920设计图的width window.onresize = function(){ do...

第十六周项目四——为动态数组扩容_Timor7hao的博客-程序员秘密

问题及代码:/** Copyright (c) 2014, 烟台大学计算机学院* All rights reserved.* 文件名称:Project4.cpp* 作 者:陈旭* 完成日期:2014年12月14日* 版 本 号:v1.0** 问题描述:下面的程序,利用动态数组保存学生的成绩。当再有一批学生成绩需要保存时,要为之扩容(和吃自助一样,用多少,取多少,这好)*

Spring Boot-Admin使用_欧拉兔的博客-程序员秘密

Spring Boot ActuatorActuator是Spring Boot的模块,它在应用中添加了REST/JMS端点,方便监控和管理应用。端点提供了健康检查、指标监控、访问日志、线程转储、堆转储和环境信息等等。Spring Boot AdminActuator功能强大,便于其他应用使用端点(只需要简单的REST调用)。但是开发人员使用时就没那么方便了。对于开发人员,有良好的交互...

exe程序的启动过程_weixin_30521161的博客-程序员秘密

学习windows编程从mfc角度来说可分为两部分那就是WinMain函数以前的,和WinMain函数以后的。前者涉及很多windows操作系统内部的知识,后者么看mfc源码就可以了。虽然大多数程序不需要你了解太多关于os加载应用程序这方面的知识,但我认为能较深入了解windowsos的运行情况对程序员是很有帮助的。最近我正在研究一个microsoft的.exe程序的启动过程,...

推荐文章

热门文章

相关标签