Verdi Transaction Debug Tool 简单使用

目录

 

文档与源码:

介绍:

准备:

使用:

待续:


文档与源码:

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

猜你喜欢

转载自blog.csdn.net/Holden_Liu/article/details/106905170