zoukankan      html  css  js  c++  java
  • Verdi UVM Debug Mode 简单使用

    转载:Verdi UVM Debug Mode 简单使用_Holden_Liu的博客-CSDN博客

    文档与源码:

    User Guide: UVMDebugUserGuide.pdf  in $VERDI_HOME/doc

    Verdi online doc: Verdi Ooline Doc  //need log in SolvNet before

    testbench使用的是《UVM实战》的7.4.3章节源码:

    源码地址:UVM实战源码下载


    介绍:

    Verdi UVM Debug tool: 针对UVM 平台的debug工具,可以像打开RTL一样,层次化显示testbench,便于阅读。同时针对UVM特有的Resource,Factory,Phase,Sequence,Register,TLM connection等,可以显示仿真的详细内容。

    准备: 

    环境变量: $VERDI_HOME, $LD_LIBRARY_PATH 等

    TB: 包含reg_model.

    top_tb.sv:

    add dump wave

    Makefile:

    和正常的编译运行一样,只需在run time阶段,加上 “-gui=verdi"。

    UVM_VERDI_XXX:具体含义如下

     

    UVM_VERDI_COMPWAVE: 记录UVM Component的波形 

    UVM_TR_RECORD: 收集sequence中transaction信息。

    使用:

    1. 进入 Verdi的Interactive mode,此时并没有开始仿真,需要点击红框的绿色箭头或者在左下的Console输入"run"。

     完场上述步骤,即完成仿真过程。运行的testcase就是Makefile脚本里指定的,可以在Tool->Preferences->Simulation中看到具体run_time Options:

    2. 打开TB的Hierarchy Tree:

        UVM-> All Views显示

        Hierarchy Tree左侧显示

        下方其他debug窗口

    3.  显示更多信息

        选中一个component或者TLM,右键可以选择其他信息,show connections, show objects,Add to Waveform等。

    4.  Resource/Factory/Phase View见User Guide.

    5. Sequence View:

       5.1: 选中一个sequence,右键 Add Sequence to Watches

       5.2: 可以显示transaction的”波形“和详细内容

             选中一个sequence,右键 Add Sequence to Transaction Browser, 会在最下方调出 Protocol Analyzer界面。界面右侧有       transaction每个域的具体数值。也可以通过界面左侧的Hierarchy Tree添加其他sequence。

     tansaction debug具体操作见:

     Verdi Transaction Debug Tool 简单使用

    6. Register View

        界面显示:

        1=> 选择Register_View

        2=> 快捷筛选

        3=> reg_model的寄存器access history。最后一次read发生在reference model中。(verdi-2017.12测试并不会记录    set,update寄存器的操作)

    add to waveform,set breakpoint等。 

    Debugging UVM Registers in Verdi Post-Processing Mode see in User Guide.

    7. 手动设置断点

       在source code界面,右键选择set breakpoint,弹出Manage to Breakpoints界面,有多种设置方式,选择在Line 70行设置断点。

       F10往下运行,会在Local tab显示数值变化。也可以右键选择Add to Watch.

    (更多操作见:Verdi_SVTB_Interactive_Deubg.pdf)

     

    8. Verdi Smart Log

    加载log,方便搜索,筛选,定位。参考:Verdi_Smart_Log.pdf  in $VERDI_HOME/doc

    待续:

    参考:文档参考《UVMDebugUserGuide》

  • 相关阅读:
    对我影响最大的三位导师
    global与nonlocal
    random模块
    time模块
    datetime模块
    sys模块
    os模块
    collection模块
    hashlib模块
    pickle模块
  • 原文地址:https://www.cnblogs.com/zhiminyu/p/14236314.html
Copyright © 2011-2022 走看看