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 很简单,只需 ...
随机推荐
- lua中的随机数
Lua 生成随机数需要用到两个函数:math.randomseed(xx), math.random([n [, m]]) 1. math.randomseed(n) 接收一个整数 n 作为随机序列种 ...
- 安卓开发 利用百度识图api进行物体识别
前文 之前的随笔中,已经通过相机或相册获取到了我们想要的图片,接下来进行识图api的配置工作.我使用的是百度的api,利用python获取信息,并在MainActivity中进行调用来输出信息. 一. ...
- ecshop 首页调用指定分类下的销售排行
/*首页调用指定分类下的销售排行*/ function get_cats_top10($cat = '') { $sql = 'SELECT cat_id, cat_name ' . 'FROM ' ...
- Python - 生成requirement.text 文件
前言 该篇操作笔记摘自小菠萝 Python项目中,一般都会有一个 requirements.txt 文件 这个文件主要是用于记录当前项目下的所有依赖包及其精确的版本号,以方便在一个新环境下更快的进行部 ...
- Linux系列(14) - grep
简述 grep是在文件当中匹配符合条件的字符串,作用是查找文件内容 格式 grep [选项] 字符串 文件名 选项 -i:忽略大小写 -v:排除指定字符串 -n:显示行号 例子 grep " ...
- html5 sessionStorage util
/** * Created by 13352 on 2018/7/5. */ define(function() { var session = { _id: null, _cookieCache ...
- PHP-设计模式之-中介者模式
<?php//中介者模式 -- //抽象中介者abstract class UnitedNationa{ punlic abstract function Declared($message,c ...
- 鸿蒙内核源码分析(GN应用篇) | GN语法及在鸿蒙的使用 | 百篇博客分析OpenHarmony源码 | v60.01
百篇博客系列篇.本篇为: v60.xx 鸿蒙内核源码分析(gn应用篇) | gn语法及在鸿蒙的使用 | 51.c.h.o 编译构建相关篇为: v50.xx 鸿蒙内核源码分析(编译环境篇) | 编译鸿蒙 ...
- 鸿蒙内核源码分析(时间管理篇) | 谁是内核基本时间单位 | 百篇博客分析OpenHarmony源码 | v35.02
百篇博客系列篇.本篇为: v35.xx 鸿蒙内核源码分析(时间管理篇) | 谁是内核基本时间单位 | 51.c.h .o 本篇说清楚时间概念 读本篇之前建议先读鸿蒙内核源码分析(总目录)其他篇. 时间 ...
- 鸿蒙内核源码分析(汇编传参篇) | 如何传递复杂的参数 | 百篇博客分析OpenHarmony源码 | v23.02
百篇博客系列篇.本篇为: v23.xx 鸿蒙内核源码分析(汇编传参篇) | 如何传递复杂的参数 | 51.c.h .o 硬件架构相关篇为: v22.xx 鸿蒙内核源码分析(汇编基础篇) | CPU在哪 ...