天天看点

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

HIGHLIGHT:

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

    note:

    分析与综合 和 约束输入 可以调换顺序

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

  • 一、硬件调试
    • (一)新建工程
    • (二)设计输入
    • (三)分析
    • (四)约束输入
    • (五)综合、实现、生成比特流
  • 二、软件仿真
    • (一)步骤
    • (二)仿真界面指导

一、硬件调试

(一)新建工程

  1. new project
    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真
  2. next
    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真
  3. 编辑,然后next
    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真
  4. 勾选创建完工程再添加文件
    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真
  5. 根据实际情况选择型号
    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真
  6. finish
    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真

(二)设计输入

  1. add source
    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真
  2. create design source
    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真
  3. create file
    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真
  4. 命名(一般顶层模块名和工程名保持一致)、ok
    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真
  5. finish
    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真
  6. 端口信号不做定义,点击ok
    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真
  7. 双击创建的.V文件,然后在代码编辑区域输入代码
    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真

(三)分析

  1. open elaborated design

    verilog转换rtl

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

(四)约束输入

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

    自行在自己开发板对应的原理图手册查找

    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真
  3. 按下ctri+s——>起名——>ok
    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真
  4. 右键关闭
    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真
  5. 打开xdc文件

    这个文件可以做IO约束 或者 时序约束

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

note:

约束这里可以自己添加约束文件

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

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

  1. 点击generate bitstream

    点击generate bitstream后,vivado会自动跑综合和实现。提示框点击yes即可

    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真
  2. 选择跑的时候运行的处理器核心数
    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真
  3. 可以点击project summary查看进度

    图中在综合

    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真
  4. 跑完了后会弹出以下框框

    选择选项3再按ok,或者直接按左边的按钮open hardware manager

    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真
  5. 开发板上电连接电脑后选择program device 或者 左下角按钮
    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真
  6. 点击program
    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真
  7. 验证成功

二、软件仿真

(一)步骤

  1. 右键添加

    创建激励文件(testbench文件)

    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真
  2. next
    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真
  3. 编辑名字
    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真
  4. finish
    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真
  5. ok
    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真
  6. 双击testbench文件,把自动生成的注释删去
    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真
  7. 根据自己需求功能编写信号激励

    这里主要是时钟和复位信号

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

结果:

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

9. 点击所例化的文件,将cnt信号拖入信号栏

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

自行查看结果即可

(二)仿真界面指导

  1. 按钮指导:
    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真
  2. 设置仿真时间
    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真
    这里默认打开后仿真1000ns,可以在这里修改
    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真
  3. 默认为显示十六进制,可以更改为十进制
    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真
  4. 查看时钟周期

    间隔的两个上升沿分别add marker

    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真
    单击左边蓝线,可见间隔为20ns,符合代码
    【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真一、硬件调试二、软件仿真
  5. 注意的是

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

改完代码直接保存,并且relunch即可

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

    ctrl+s 保存即可

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

继续阅读