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,只能用以上符号(<.<=.!=) ...
随机推荐
- Java通过wait()和notifyAll()方法实现线程间的通信
Java代码(使用了2个内部类): package Threads; import java.util.LinkedList; /** * Created by Frank */ public cla ...
- 【shell】创建长目录,目录存在则忽略,缺失则创建
有时候,我们需要创建一个空目录树,如果给定路径包含目录,那么还必须检查这些目录是否存在: mkdir –p /qinys/oliver/tmp/ 执行上述命令即可创建长目录,并且有则忽略,无则创建原则 ...
- V-rep学习笔记:碰撞检测与距离计算
V-REP可以在几何组件中快速判断各种干扰与碰撞,以及计算多个组件间的最小距离. 碰撞检测 V-REP可以检测两个碰撞体实体(Collidable objects are objects that c ...
- jQuery get selected text from SELECT (or DROPDOWN) list box
Most of the time in JavaScript we want to do following things with Select (or dropdown) list box. – ...
- 转 configure: error: Cannot find ldap.h
检查下面是不是已经安装,如果没有安装之:检查:yum list openldapyum list openldap-devel安装 :yum install openldap yum install ...
- 图解Win7如何手动添加受信任证书
点击开始—>运行,如下图所示: 弹出“控制台”窗口如下,如下图所示: 点击“文件—添加/删除管理单元”,如下图所示: 选择“证书”,并点击“添加”,如下图所示: 在弹出的窗口上选 ...
- Xcode修改新建项目注释模板(作者和公司名等)
我们新建项目后,每个页面头部都有一段注释说明, 如下: 如果我们想修改Created by XXX 和 Copyright 版权内容,该如何做呢? 1.对于修改作者:Created by xxx 这里 ...
- ios实例开发精品文章推荐(7.23)
---------------------------------------------------------------------------------------------------- ...
- iOS 10 的一个重要更新-新的通知推送 API
iOS 10 最重要的变化可能就是通知 API 的重构了.本文用一个简单闹钟的例子介绍了 User Notification 的 API 变化和新功能. 简介 很久以前,开发者就可以在 iOS 里预约 ...
- 【DeepLearning】Exercise: Implement deep networks for digit classification
Exercise: Implement deep networks for digit classification 习题链接:Exercise: Implement deep networks fo ...