Vivado中debug用法
Vivado和ISE相比ChipScope已经大幅改变,很多人都不习惯。在ISE中称为ChipScope而Vivado中就称为in system debug。下面就介绍Vivado中如何使用debug工具。
Debug分为3个阶段:
1. 探测信号:在设计中标志想要查看的信号
2. 布局布线:给包含了debug IP的设计布局布线
3. 分析:上板看信号
一 探测信号
探测信号有2种方法一种是直接在HDL源代码中用(*mark_debug = “true”*)标识出要探测的信号 另一种是 在综合过后的网表文件中添加标志。
1 .在HDL源代码中添加标志

然后点击open Synthesized Design

然后点击Tools-> Set Up Debug

点击 Next

点击Add/Remove Nets

点击find会出来所有信号。如果需要添加debug的信号,从左边框中选择所需信号,点击
按 钮加到右边来。如果需要去除不需要的debug信号,从右边框中选择所需信号,点击
按钮就 去除了。选好信号之后,在右下角点击Ok按钮。

在此框中为所有debug信号选择时钟域,选择debug信号,右键选择Select Clock Domain。注意每一个时钟域对应一个单独的ILA 2.0core。

在此框中选择所需时钟,点击ok

点击next

然后继续下面的Implement 流程

点击Save保存修改后的工程

后面像以前一样等工程跑结束。
2.在网表文件中添加标志
网表文件添加标志,第一步也是打开综合后设计。如下图所示

第二步是打开debug窗口

Open synthesized Design之后,有2种方法来标志debug信号
(1) 第一种方法是在Netlist窗口中选择信号,右键点击Mark Debug

(2) 第二种方法是在Tools中选择Setup Debug 推荐使用此方法

然后和前面一样继续跑工程。
二 上板调试
上板的时候选择Open hardware session ,然后Open a new hardware target

选择next

选择next

选择Next

选择FPGA来配置文件

注意移到另一台电脑看debug信号时,必须将debug_nets.ltx 文件和bit文件一起移过去。如下图红框所示

如果需要设置触发条件,选择Windows –> Debug Probes

在Debug Probe窗口中选择需要设置的信号,然后设置触发条件。在Trigger Pos中可以设置抓取到触发信号跳变前N个时钟周期可以被抓到

转载:http://xilinx.eetop.cn/viewnews-2911
Vivado中debug用法的更多相关文章
- Vivado Turtorial 01 —— 使用vivado中debug功能(类似ISE中ChipScope)
1.基于BASYS3板子,有如下代码: module top( input clk, input rst, output test_clk ); parameter DIV_CNT = 2; reg ...
- vivado保存debug波形
vivado保存debug波形 Vivado下debug后的波形通过图形化界面并不能保存抓取到波形,保存按钮只是保存波形配置,如果需要保存波形需要通过TCL命令来实现: write_hw_ila_ ...
- 73.Vivado使用误区与进阶——在Vivado中实现ECO功能
关于Tcl在Vivado中的应用文章从Tcl的基本语法和在Vivado中的应用展开,继上篇<用Tcl定制Vivado设计实现流程>介绍了如何扩展甚至是定制FPGA设计实现流程后,引出了一个 ...
- [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法
一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...
- ORACLE 中ROWNUM用法总结(转)
ORACLE 中ROWNUM用法总结! 对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between...and,只能用以上符号(<.<=.!=) ...
- AngularJS select中ngOptions用法详解
AngularJS select中ngOptions用法详解 一.用法 ngOption针对不同类型的数据源有不同的用法,主要体现在数组和对象上. 数组: label for value in a ...
- c#初学-多线程中lock用法的经典实例
本文转载自:http://www.cnblogs.com/promise-7/articles/2354077.html 一.Lock定义 lock 关键字可以用来确保代码块完成运行,而不会被 ...
- .NET3.5中JSON用法以及封装JsonUtils工具类
.NET3.5中JSON用法以及封装JsonUtils工具类 我们讲到JSON的简单使用,现在我们来研究如何进行封装微软提供的JSON基类,达到更加方便.简单.强大且重用性高的效果. 首先创建一个类 ...
- ORACLE 中ROWNUM用法总结!
ORACLE 中ROWNUM用法总结! 对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between...and,只能用以上符号(<.<=.!=) ...
随机推荐
- Tomcat中的session实现
Tomcat中一个会话对应一个session,其实现类是StandardSession,查看源码,可以找到一个attributes成员属性,即存储session的数据结构,为ConcurrentHas ...
- java获取文件流
CreateTime--2017年9月1日14:49:21 Author:Marydon servlet获取文件流的两种方式 方式一:使用绝对路径(推荐使用) import java.io.Inp ...
- C#DES加密,JavaDES解密,另转C#和Java实现Des完整代码
C#DES加密,JavaDES解密,另转C#和Java实现Des完整代码 转载 2014年06月17日 17:36:09 标签: DES / C#DES / JavaDES / C#和Java交叉DE ...
- jQuery live事件说明及移除live事件方法
1.live事件说明 jQuery1.3增加了一个live()方法,下面是手册上的说明: jQuery 1.3中新增的方法.给所有当前以及将来会匹配的元素绑定一个事件处理函数(比如click事件).也 ...
- spring boot mybatis没有扫描jar中的Mapper接口
只需要在spring boot启动类上加上注解,并指定jar包中接口文件包路径即可 如下: @ComponentScan(basePackages = "com.xx") @Map ...
- Jenkins卸载方法(Windows/Linux/MacOS)
注意: 命令行运行的war包或者安装包,都会在命令行上提示了配置文件文件夹.jenkins,卸载时,注意一定要把这些一起删除. 比如Windows下用war包部署的命令行信息如下: 查看原图 如上 ...
- shell脚本read -t 超时输入测试
[root@server0 shellStudy]# cat timeout.sh #!/bin/bash TIMEOUT=3 #超时间隔 echo "What is your name?& ...
- 查看Linux版本的命令
查看内核版本 [root@q1test01 ~]# cat /proc/version Linux version -.ELsmp (bhcompile@crowe.devel.redhat.com) ...
- Swift3 - compare方法之ComparisonResult说明
Swift3在实现两个对象比较时,引入了compare方法,其中,方法返回值ComparisonResult解释如下: ComparisonResult是一个枚举类型,包含了以下3个成员: 其中: q ...
- linux创建用户名密码等操作
转自: https://www.linuxidc.com/Linux/2017-06/144916.htm 与大家分享下Linux系统中创建用户.设置密码.修改用户.删除用户的命令,希望对你有所帮助. ...