使用verdi显示验证环境的结构
1. 使用 verdi 打开filelist的方式
verdi -f opts.f -f dut.list -f tb.list -top xxx +UVM_TESTNAME=xxx
2. 如果仿真工具使用的是vcs,在加了 -kdb编译选项后,打开波形时,可以直接使用以下命令
verdi -ssf xxx.fsdb
3. 基本同2, 如果不开波形,可以使用以下命令打开vcs的编译文件
verdi -elab simv.daidir/kdb.elab++ +UVM_TESTNAME=xxx
4. 基本同2,如果不开波形,可以使用以下命令打开vcs的编译文件
verdi -dbdir xxx.simv.daidir +UVM_TESTNAME=xxx
当然verdi 默认应该不显示class,可以Ctrl+f后,在filter里面勾选 class,这样可以像显示设计层次那样,显示tb的层次。
效果如下图
当然,以上方式只在 verdi2015和verdi2017的某些版本上试验过,其中的原理还不是特别清楚。当时在尝试一些其他东西时偶然发现的,工具手册上的相关章节还没仔细review过,先发出来希望大家可以一起讨论一下。欢迎大佬前来指正。
以下内容转自
verdi uvm debug_verdi调试uvm_IC小萝卜的博客-CSDN博客
前言
本篇文章基于verdi 2020版的官方UVM Debug User Guide文档,图片也来源于该文档。文档中部分内容与实际使用时不符,可能与verdi版本有关。
向Verdi中导入UVM testbench的方式
1.在runtime选项中加入 -uvmDebug
2.在runtime选项中加入 +UVM_VERDI_TRACE=UVM_AWARE
3.Tools -> Preferences -> Simulation -> 勾选 UVM Debug
以上三种方式效果相同,支持
Resource/Config View
Factory View
Phase View
Sequence View 但不能将seqeunce添加到transaction browser
其他选项
- +UVM_TR_RECORD 使能 transacton 记录并打印到 console 和 log 文件中
- +UVM_LOG_RECORD 使能 message 捕捉并打印到 console 和 log 文件中
- +UVM_VERDI_TRACE=TLM 使能 TLM 端口级别的 transaction 记录, 并自动使能+UVM_TR_RECORD
- +UVM_VERDI_TRACE=TLM2 使能 TLM2 端口级别的 transaction 记录, 并自动使能+UVM_TR_RECORD
- +UVM_VERDI_TRACE=IMP 使能 IMP 端口记录, 要和 TLM 或 TLM2 参数一起使用
- +UVM_VERDI_TRACE=HIER 使能 OVM/UVM Hierarchy tree
- +UVM_VERDI_TRACE=RAL 使能 Register View
- +UVM_VERDI_TRACE=MSG+PRINT 在 console 上显示 UVM messages
- +UVM_VERDI_TRACE=COMPWAVE 使能 UVM 组件波形记录, 需在编译时加上 +define+UVM_VERDI_COMPWAVE。(我在实际使用中发现只要往Verdi中导入了UVM testbench,加不加这个选项都能将组件添加到波形。如果有朋友遇到不一样的情况,欢迎留言一起探讨。)