Verdi Transaction Debug Mode 简单使用
转载:Verdi Transaction Debug Mode 简单使用_Holden_Liu的博客-CSDN博客
文档与源码:
User Guide: Verdi_Transaction_and_Protocol_Debug.pdf in $VERDI_HOME/doc
Verdi online doc: https://solvnet.synopsys.com/dow_retrieve/latest/verdi/verdi_olh/index.htm#page/ //need log in SolvNet before
testbench使用的是《UVM实战》的6.5.3章节源码:
源码地址:http://www.hzcourse.com/web/refbook/detail/5651/229
介绍:
Transaction and Protocol Debug:主要功能是基于UVM验证平台,图形化方式展现transaction,UVM messages,以及SNPS VIP protocol information等,便于进行debug。
准备:
环境变量: $VERDI_HOME, $LD_LIBRARY_PATH 等
TB: 示例TB包含两个ENV,只有一个testcase: my_case0.sv。在vseqr上启动vseq,vseq中首先发送一个tr(env0-seqr中),再启动两个seq(分别在env0-seqr和env1-seqr中各发送10个tr)。
top_tb.sv:
add dump wave

my_monitor.sv:
Verdi 默认只将sequencer中的Transaction dump到FSDB文件中,如需在non-sequencer,如monitor中dump Transaction,需加上如下两行代码,且成对存在。除此之外,还有SNPS VIP,SystemVerilog API其他方式。

Makefile:
-debug_access+cbk:

-ntb_opts uvm : uvm-1.1d

使用:
1.env0-sqr上一共11个tr,选中相应tr,右侧显示具体值。

2.sqr第一个tr, 是在vseq中创建的,所以选中后,v_sqr的stream变红,其为parent关系。(可在tr上右键->Highlight Relation)

3. mon上的红色感叹号是因为最后一个tr并没有采集到,因为上述的写法,导致begin_tr()与end_tr()并不是成对存在,最后一个tr缺少end_tr()。

4. 选中第一个tr,左侧栏选择Quick Fliter tab,可以进行条件过滤显示。只有一个tr的 $lable=="tr", 其他的被过滤掉,不再显示。

5.显示详细内容

6. 添加tableview, 更多设置见 User Guide.

7. Ctrl+Alt+T : 在波形上标注tr的时间


待续:
Interactive Debug
Verdi Transaction Debug Mode 简单使用的更多相关文章
- Verdi UVM Debug Mode 简单使用
转载:Verdi UVM Debug Mode 简单使用_Holden_Liu的博客-CSDN博客 文档与源码: User Guide: UVMDebugUserGuide.pdf in $VERD ...
- Java Debug调试简单方法--static使用
Public class Debug { public Debug() { } static void debugPrint(String src) { //System.out.print(src) ...
- Verdi Protocol Analyzer Debug 简单使用
转载:Verdi Protocol Analyzer Debug 简单使用_Holden_Liu的博客-CSDN博客_verdi 技巧 文档与源码: User Guide: UVMDebugUserG ...
- [珠玑之椟]浅谈代码正确性:循环不变式、断言、debug
这个主题和代码的实际写作有关,而且内容和用法相互交织,以下只是对于其内容的一个划分.<编程珠玑>上只用了两个章节20页左右的篇幅介绍,如果希望能获得更多的实例和技巧,我比较推崇<程序 ...
- Android的debug.keystore拒绝访问导致的生成异常及解决方案
构建Android应用程序的时候输出异常:[apkbuilder] keytool 错误: java.io.FileNotFoundException: C:\Users\my\.android\de ...
- flask debug 模式开启
debug 模式开启 最近在写python flask 的Waf后台管理界面,想要启用调试模式,发现安装目前网上流行的两种方式均无法在我的Pycharm中打开调试模式. )直接在对象上设置 app.d ...
- 'Lock wait timeout exceeded; try restarting transaction'问题
OperationalError: (1205, 'Lock wait timeout exceeded; try restarting transaction') 原因很简单,太多错误,意外处理没有 ...
- jetty debug 启动 jettyconfig配置文件
jetty 代码启动 debug很简单 run----->>>debug as 代码启动配置文件 start 方法 @Test public void serverStrart( ...
- java项目 远程debug
AVA项目无法像PHP那样可以随时修改文件内容进行调试,调试可以借助eclipse,本地代码的话很容易在本地debug,但如果代码已经打包部署在linux上呢?可以进行远程debug 很简单,只需 ...
随机推荐
- Zookeeper Acl权限 超级用户权限 怎么跳过ACL密码/账户验证
Zookeeper的一个节点不知道什么原因无法删除了,查看日志发现是没有权限, 我们之前使用ACL进行Zookeeper节点的权限管理. 可以解决以下三种但不限于以下三种问题: 1.在设置Acl权限时 ...
- JavaScript中的async/await详解
1.前言 async函数,也就是我们常说的async/await,是在ES2017(ES8)引入的新特性,主要目的是为了简化使用基于Promise的API时所需的语法.async和await关键字 ...
- idea创建Maven项目没有src目录,且依赖也没有更新
刚开始用idea的时候,重新配置安装了Maven,但是创建项目的时候发现创建的目录少了很多东西,今天重新查看了一下,发现了原因....... 话不多说,安装配置Maven的方法网上都有,我之前改路径的 ...
- PHP中类的自动加载
在之前,我们已经学习过Composer自动加载的原理,其实就是利用了PHP中的类自动加载的特性.在文末有该系列文章的链接. PHP中类的自动加载主要依靠的是__autoload()和spl_autol ...
- Layui的落幕,是否预示一个时代的结束?
1.今天,看到LayUi(读音类UI)官方说,LayUI官网将关闭,多少有些伤感. 或许,有人会所,通知里也说了,"新版下载.文档和示例等仍会在Github 和 Gitee" 但, ...
- python+selenium之浏览器滚动条操作
from selenium import webdriver import time #访问百度 driver=webdriver.Ie() driver.get("http://www.b ...
- 基于AM3352/AM3354/AM3358/AM3359的Linux 开发环境搭建(上)
遇到不少人新手小白问,前辈如何搭建一个优良的Linux 开发环境?之前一直都是在用win开发,现在想要尝试用Linux做开发等等一系列的问题.开源一直是给电子行业工作者提供了一种向技术更深处进发的机遇 ...
- 三、mybatis多表关联查询和分布查询
前言 mybatis多表关联查询和懒查询,这篇文章通过一对一和一对多的实例来展示多表查询.不过需要掌握数据输出的这方面的知识.之前整理过了mybatis入门案例和mybatis数据输出,多表查询是在前 ...
- Vulnstack内网靶场1
最近发现了一个内网的靶场网站,简单配置一下网络就可以,不用自己搭建这么麻烦漏洞信息 (qiyuanxuetang.net) 环境配置 内网1靶场由三台机器构成:WIN7.2008 server.200 ...
- try catch中的return与finally
try catch中的return与finally 代码为 public class Test{ public int add(int a,int b){ try { return a+b; } ca ...