Vivado硬件调试

这篇具有很好参考价值的文章主要介绍了Vivado硬件调试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Vivado硬件调试

ILA (Integrated Logic Analyzer)

集成逻辑分析仪:监控逻辑内部信号和端口信号。


一、例化ILA添加调试信号

  1. 添加IP核

    vivado 调试,FPGA,Vivado,fpga开发

  2. 根据要观测信号的属性设置探针属性

    vivado 调试,FPGA,Vivado,fpga开发
    vivado 调试,FPGA,Vivado,fpga开发
    vivado 调试,FPGA,Vivado,fpga开发

  3. 创建完成

    vivado 调试,FPGA,Vivado,fpga开发

  4. 例化模板

    vivado 调试,FPGA,Vivado,fpga开发

  5. 例化;

    vivado 调试,FPGA,Vivado,fpga开发

  6. 综合实现,生成bit流;

  7. 下载bit文件至开发板;

    vivado 调试,FPGA,Vivado,fpga开发

  8. 设置触发条件

    vivado 调试,FPGA,Vivado,fpga开发

  9. 抓取结果

    vivado 调试,FPGA,Vivado,fpga开发

    抓取信号窗口的个数

    vivado 调试,FPGA,Vivado,fpga开发

    等待抓取

    vivado 调试,FPGA,Vivado,fpga开发

    抓取状态:
    vivado 调试,FPGA,Vivado,fpga开发

  10. 调试完后,删除例化的调试模块和IP核,重新生成bit文件。

二、综合后在网表里添加调试信号:

  1. 打开综合设计文件,调整窗口为Debug模式;

    vivado 调试,FPGA,Vivado,fpga开发

  2. 在”Nets“中选择要调试的信号,右键选择”Mark Debug“;


    vivado 调试,FPGA,Vivado,fpga开发

  3. 一些信号可能会被EDA优化,无法显示完整的数据位宽,此时需要在代码中修改,并重新综合。示例如下:

    // 添加debug属性,此时EDA不会对该信号进行优化
    (* mark_debug = "true" *)reg [24:0] counter;
    
  4. 单击”Set Up Debug“

    vivado 调试,FPGA,Vivado,fpga开发

    vivado 调试,FPGA,Vivado,fpga开发

    vivado 调试,FPGA,Vivado,fpga开发

    vivado 调试,FPGA,Vivado,fpga开发

    vivado 调试,FPGA,Vivado,fpga开发

    // xdc文件中多出来的完整代码:
    set_property MARK_DEBUG true [get_nets {Led_OBUF[0]}]
    set_property MARK_DEBUG true [get_nets {Led_OBUF[1]}]
    set_property MARK_DEBUG true [get_nets {Led_OBUF[2]}]
    set_property MARK_DEBUG true [get_nets {Led_OBUF[3]}]
    set_property MARK_DEBUG true [get_nets Rst_n_IBUF]
    
    create_debug_core u_ila_0 ila
    set_property ALL_PROBE_SAME_MU true [get_debug_cores u_ila_0]
    set_property ALL_PROBE_SAME_MU_CNT 1 [get_debug_cores u_ila_0]
    set_property C_ADV_TRIGGER false [get_debug_cores u_ila_0]
    set_property C_DATA_DEPTH 1024 [get_debug_cores u_ila_0]
    set_property C_EN_STRG_QUAL false [get_debug_cores u_ila_0]
    set_property C_INPUT_PIPE_STAGES 0 [get_debug_cores u_ila_0]
    set_property C_TRIGIN_EN false [get_debug_cores u_ila_0]
    set_property C_TRIGOUT_EN false [get_debug_cores u_ila_0]
    set_property port_width 1 [get_debug_ports u_ila_0/clk]
    connect_debug_port u_ila_0/clk [get_nets [list Clk_IBUF_BUFG]]
    set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe0]
    set_property port_width 4 [get_debug_ports u_ila_0/probe0]
    connect_debug_port u_ila_0/probe0 [get_nets [list {Led_OBUF[0]} {Led_OBUF[1]} {Led_OBUF[2]} {Led_OBUF[3]}]]
    create_debug_port u_ila_0 probe
    set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe1]
    set_property port_width 25 [get_debug_ports u_ila_0/probe1]
    connect_debug_port u_ila_0/probe1 [get_nets [list {counter[0]} {counter[1]} {counter[2]} {counter[3]} {counter[4]} {counter[5]} {counter[6]} {counter[7]} {counter[8]} {counter[9]} {counter[10]} {counter[11]} {counter[12]} {counter[13]} {counter[14]} {counter[15]} {counter[16]} {counter[17]} {counter[18]} {counter[19]} {counter[20]} {counter[21]} {counter[22]} {counter[23]} {counter[24]}]]
    create_debug_port u_ila_0 probe
    set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe2]
    set_property port_width 1 [get_debug_ports u_ila_0/probe2]
    connect_debug_port u_ila_0/probe2 [get_nets [list Rst_n_IBUF]]
    set_property C_CLK_INPUT_FREQ_HZ 300000000 [get_debug_cores dbg_hub]
    set_property C_ENABLE_CLK_DIVIDER false [get_debug_cores dbg_hub]
    set_property C_USER_SCAN_CHAIN 1 [get_debug_cores dbg_hub]
    connect_debug_port dbg_hub/clk [get_nets Clk_IBUF_BUFG]
    
    

    可以直接在xdc文件中添加所要调试的信号探针。

  5. “Open Hardware Manager”,连接开发板并下载程序;

    vivado 调试,FPGA,Vivado,fpga开发

    vivado 调试,FPGA,Vivado,fpga开发

  6. 调试完毕删除 xdc 文件中多余的代码和 3 中添加的代码,重新生成bit流;

    下载bit文件时,清除Debug文件的路径(图示);

    vivado 调试,FPGA,Vivado,fpga开发


VIO (Virtual Input/Output)

虚拟IO:实时监控和驱动逻辑内部信号和端口信号。

VIO的使用参考Blog:VIVADO关于VIO IP核(Virtual Input/Output)的使用文章来源地址https://www.toymoban.com/news/detail-761090.html


到了这里,关于Vivado硬件调试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【FPGA】Vivado开发流程(基于2018.3版本)

    基本流程:①设计定义 ②设计输入 ③分析综合 ④功能仿真 ⑤布局布线 ⑥分析性能   双击 Vivado图标即可启动 Vivado 软件。 ①Quick Start 组包含有 Create Project(创建工程) Open Project(打开工程)OpenExample Project(打开实例工程)。 ②Tasks 组包含有 Manage IP(管理 IP) Open Hardw

    2024年02月14日
    浏览(31)
  • Vivado中的COE文件:FPGA开发指南

    COE文件是Vivado软件中用于初始化存储器内容的一种常见文件格式。在FPGA开发过程中,我们经常需要对存储器进行初始化,以存储初始数据或者程序代码。COE文件提供了一种简单而灵活的方式来定义存储器的初始内容。本文将介绍COE文件的使用方法,并提供相应的示例代码。

    2024年02月06日
    浏览(42)
  • Vivado | FPGA开发工具(Xilinx系列芯片)

    官网下载地址 最详细的Vivado安装教程 Vivado的安装以及使用_入门

    2024年02月12日
    浏览(43)
  • Vivado仿真数据导出至.txt文件——FPGA开发

    在FPGA开发过程中,仿真是验证设计的重要环节。在Vivado设计套件中,我们可以使用仿真工具来验证设计的功能和性能。本文将介绍如何将Vivado仿真数据导出至.txt文件,以方便后续分析和处理。 步骤如下: 打开Vivado设计套件并创建一个新的工程。 在工程中添加设计文件和约

    2024年02月05日
    浏览(129)
  • 基于vivado+Verilog FPGA开发 — GT收发器

    代码规范:Verilog 代码规范_verilog代码编写规范-CSDN博客 开发流程:FPGA基础知识----第二章 FPGA 开发流程_fpga 一个项目的整个流程-CSDN博客   源码下载:GitHub - Redamancy785/FPGA-Learning-Record: 项目博客:https://blog.csdn.net/weixin_51460407 零、低速通信接口的缺陷 1、同步通信要求传输数据

    2024年04月17日
    浏览(51)
  • FPGA开发技巧备忘录——Vivado 自动日期版本号

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 我们在编译FPGA工程的时候一般需要对版本号的更新,一般来说都会有一个日期或者时间的版本标识,在上板调试的时候用于表征当前版本确实已经更新成功,或者作为FPGA发布版本的标识等等。但有时候

    2024年02月11日
    浏览(48)
  • FPGA基于Vivado开发,设计顶层文件Top.v

    首先得承认,我并不是主动拥抱顶层文件这套思路的,原因很简单,能用就行干嘛费劲搞那么多东西。起初知识点亮一个LED灯,整一个半加器的简单模拟,也确实根本用不上。后边工程有一定的负责度,例如设计数字时钟,LCD1602驱动设计等等,这个时候我就发现了层次化设计

    2024年02月08日
    浏览(34)
  • Vivado 添加FPGA开发板的Boards file的添加

    下载地址 : https://github.com/Digilent/vivado-boards 把文件复制到

    2024年02月04日
    浏览(36)
  • 轻松搭建FPGA开发环境:第三课——Vivado 库编译与设置说明

    工欲善其事必先利其器,很多人想从事 FPGA 的开发,但是不知道如何下手。既要装这个软件,又要装那个软件,还要编译仿真库,网上的教程一大堆,不知道到底应该听谁的。所以很多人还没开始就被繁琐的开发环境搭建吓退了,还没开始就放弃了! 笔者用几节课的时间,从

    2024年02月04日
    浏览(32)
  • “FPGA开发中Vivado生成bit文件遇到的错误解决方案“

    “FPGA开发中Vivado生成bit文件遇到的错误解决方案” FPGA开发是现在工业界中越来越广泛使用的技术,但是在开发过程中难免会出现一些问题。其中,Vivado生成bit文件报错是一个比较常见的问题。下面,我将详细介绍这个问题以及如何彻底解决。 一、问题描述 当我们进行FPGA项

    2024年02月04日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包