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 很简单,只需 ...
随机推荐
- 集合Collection ----List集合
Collection集合体系的特点: set系列集合:添加的元素是 无序,不重复,无索引的 ----HashSet: 无序,不重复,无索引 ----LinkedHashSet: 有序,不重复,无索引 ...
- 性能再提升70%?大咖前瞻带你揭开.NET6的神秘面纱!
本月初微软官宣.NET 6 的RC1即将在11月正式发布,这意味着.NET6正式版跟我们见面的时间又近了一步.在之前的.NET6预览版本中,微软加入了大量新功能特性,而在最终版本中将不再额外加入新的内 ...
- Git(2) - git安装、本地仓库与远程仓库使用详细指南
git版本控制工具 下载地址:https://www.git-scm.com/download/win选择对应版本的工具,下载后是一个exe执行文件: 常用git命令 命令 作用 git init(在 ...
- 深入HTML5第二天
sub(subscripted下标标签)和sup(superscripted上标标签) 内联元素:inline element span(范围标签):内联元素inline element 特性:没有 ...
- thinkphp5.0框架运行机制分享小结
1 访问index.php 入口文件,定义应用目录,加载框架引导文件 <?php // [ 应用入口文件 ] // 定义应用目录 define('APP_PATH', __DIR__ . '/. ...
- 🧚♂️全套Java教程_Java基础入门教程,零基础小白自学Java必备教程👨💻004 # 第四单元 流程控制语句上 #
一.本单元知识点概述 二.本单元目标 (Ⅰ)重点知识目标 1.if语句的格式及执行流程2.switch语句的格式及执行流程 (Ⅱ)能力目标 1.掌握if语句的格式及执行流程2.掌握switch语句的格 ...
- JVM学习笔记——类加载器与类加载过程
类加载器与类加载过程 类加载器ClassLoader 类加载器 ClassLoader 用于把 class 文件装载进内存. 启动类加载器(Bootstrap ClassLoader): 这个类加载使 ...
- sarama的消费者组分析、使用
以前老的sarama版本不支持消费者组的消费方式,所以大多数人都用sarama-cluster. 后来sarama支持了消费者组的消费方式,sarama-cluster也停止维护了,但网上关于sara ...
- 你了解一条sql的执行顺序吗
sql是后端开发人员经常碰到的问题,我们经常会写这样的sql:select name,id from student where id=12 order by id desc,把这条sql放到数据库中 ...
- 15-ThreadLocalRandom类剖析
ThraedLocalRandom类是JDK7在JUC包下新增的随机数生成器,它弥补了Random类在多线程下的缺陷. Random类及其缺陷 下面看一下java.util.Random的使用方法. ...