zoukankan      html  css  js  c++  java
  • 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的时间

    待续:

    SNPS VIP Protocol Analyzer 

    Interactive Debug

  • 相关阅读:
    消息队列介绍
    SpringBoot随笔-SpringBoot集成Druid
    Redis-Redis基本类型及使用Java操作
    信息安全
    计算机网络基础
    多媒体技术
    数据库基础
    程序设计基础
    计算机软件体系
    计算机硬件体系
  • 原文地址:https://www.cnblogs.com/zhiminyu/p/14236335.html
Copyright © 2011-2022 走看看