转载: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的时间

待续:

SNPS VIP Protocol Analyzer

Interactive Debug

Verdi Transaction Debug Mode 简单使用的更多相关文章

  1. Verdi UVM Debug Mode 简单使用

    转载:Verdi UVM Debug Mode 简单使用_Holden_Liu的博客-CSDN博客 文档与源码: User Guide: UVMDebugUserGuide.pdf  in $VERD ...

  2. Java Debug调试简单方法--static使用

    Public class Debug { public Debug() { } static void debugPrint(String src) { //System.out.print(src) ...

  3. Verdi Protocol Analyzer Debug 简单使用

    转载:Verdi Protocol Analyzer Debug 简单使用_Holden_Liu的博客-CSDN博客_verdi 技巧 文档与源码: User Guide: UVMDebugUserG ...

  4. [珠玑之椟]浅谈代码正确性:循环不变式、断言、debug

    这个主题和代码的实际写作有关,而且内容和用法相互交织,以下只是对于其内容的一个划分.<编程珠玑>上只用了两个章节20页左右的篇幅介绍,如果希望能获得更多的实例和技巧,我比较推崇<程序 ...

  5. Android的debug.keystore拒绝访问导致的生成异常及解决方案

    构建Android应用程序的时候输出异常:[apkbuilder] keytool 错误: java.io.FileNotFoundException: C:\Users\my\.android\de ...

  6. flask debug 模式开启

    debug 模式开启 最近在写python flask 的Waf后台管理界面,想要启用调试模式,发现安装目前网上流行的两种方式均无法在我的Pycharm中打开调试模式. )直接在对象上设置 app.d ...

  7. 'Lock wait timeout exceeded; try restarting transaction'问题

    OperationalError: (1205, 'Lock wait timeout exceeded; try restarting transaction') 原因很简单,太多错误,意外处理没有 ...

  8. jetty debug 启动 jettyconfig配置文件

    jetty 代码启动 debug很简单  run----->>>debug as  代码启动配置文件 start 方法 @Test public void serverStrart( ...

  9. java项目 远程debug

    AVA项目无法像PHP那样可以随时修改文件内容进行调试,调试可以借助eclipse,本地代码的话很容易在本地debug,但如果代码已经打包部署在linux上呢?可以进行远程debug   很简单,只需 ...

随机推荐

  1. java.net.NoRouteToHostException: 无法指定被请求的地址

    今天压力测试时, 刚开始出现了很多异常, 都是 java.net.NoRouteToHostException: Cannot assign requested address.  经网上查资料, 是 ...

  2. POJ 2828 Buy Tickets(线段树单点)

    https://vjudge.net/problem/POJ-2828 题目意思:有n个数,进行n次操作,每次操作有两个数pos, ans.pos的意思是把ans放到第pos 位置的后面,pos后面的 ...

  3. 【OI技巧】解决cin、cout因输入输出慢而TLE的问题

    语言本身没有问题!! 语言本身没有问题!! 语言本身没有问题!! C++本来的设计就是将输入输出流和C的标准输入输出挂钩在一起,这样就导致cin,cout输入输出前先要将内容放入缓冲区,最后再由cin ...

  4. Django学习day09随堂笔记

    每日测验 """ 今日考题: 1.choices参数的应用场景有哪些,如何获取该字段的值 2.django是什么模型的框架,简述MTV与MVC模型 3.多对多表关系有几种 ...

  5. Cookie和Session的介绍与认识

    Cookie: cookie是一种客户端的状态管理技术. 当浏览器向服务器发送请求的时候,服务器会将少量的数据以set-cookie消息头的方式发送给浏览器,当浏览器再次访问服务器时,会将这些数据以c ...

  6. PHP执行数据库定时备份 和手动还原

    一 备份数据库 我的这个是在TP5上,其实不在TP5也可以 逻辑: 1 首先在自己电脑的cmd命令上测试备份数据库,成功才能往下进行所以得到 C:/luanxiede/mysql-5.7/bin/my ...

  7. webpack 安装与卸载

    全局安装(不推荐): npm install webpack webpack-cli -g 安装好后打印版本: webpack -v webpack-cli -v 卸载全局 npm uninstall ...

  8. Java基础系列(37)- 数组下标越界及小结

    数组的四个基本特点 其长度是确定的,数组一旦被创建,它的大小就是不可以改变的 其元素必须是相同类型,不允许出现混合类型 数组中的元素可以是任何数据类型,包括基本类型和引用类型 数组变量属于引用类型,数 ...

  9. sqlalchemy 查询结果转json个人解决方案

    参考了网上很多资料,自己搞了一个适合的 在model 内增加一个函数: class User(db.Model): __tablename__ = 'user' userid = db.Column( ...

  10. Nginx禁止ip方式访问80、443端口

    在nginx.conf配置文件中 include /etc/nginx/conf.d/*.conf; 之前加入以下内容 server { listen 80 default; listen 443 d ...