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》
Verdi UVM Debug Mode 简单使用的更多相关文章
- Verdi Transaction Debug Mode 简单使用
转载:Verdi Transaction Debug Mode 简单使用_Holden_Liu的博客-CSDN博客 文档与源码: User Guide: Verdi_Transaction_and_P ...
- Java Debug调试简单方法--static使用
Public class Debug { public Debug() { } static void debugPrint(String src) { //System.out.print(src) ...
- Verdi Protocol Analyzer Debug 简单使用
转载:Verdi Protocol Analyzer Debug 简单使用_Holden_Liu的博客-CSDN博客_verdi 技巧 文档与源码: User Guide: UVMDebugUserG ...
- [珠玑之椟]浅谈代码正确性:循环不变式、断言、debug
这个主题和代码的实际写作有关,而且内容和用法相互交织,以下只是对于其内容的一个划分.<编程珠玑>上只用了两个章节20页左右的篇幅介绍,如果希望能获得更多的实例和技巧,我比较推崇<程序 ...
- Android的debug.keystore拒绝访问导致的生成异常及解决方案
构建Android应用程序的时候输出异常:[apkbuilder] keytool 错误: java.io.FileNotFoundException: C:\Users\my\.android\de ...
- flask debug 模式开启
debug 模式开启 最近在写python flask 的Waf后台管理界面,想要启用调试模式,发现安装目前网上流行的两种方式均无法在我的Pycharm中打开调试模式. )直接在对象上设置 app.d ...
- jetty debug 启动 jettyconfig配置文件
jetty 代码启动 debug很简单 run----->>>debug as 代码启动配置文件 start 方法 @Test public void serverStrart( ...
- java项目 远程debug
AVA项目无法像PHP那样可以随时修改文件内容进行调试,调试可以借助eclipse,本地代码的话很容易在本地debug,但如果代码已经打包部署在linux上呢?可以进行远程debug 很简单,只需 ...
- 汇编环境的搭建(windows 10 + debug)
1. debug.exe 安装 win10 版本过高,不再提供 debug.exe,甚至从别处获取的 debug.exe 的也无法运行. 汇编语言学习所需的各种执行文件(debug.exe.link. ...
随机推荐
- project read error(项目读取错误)
maven的pom文件出现project read error 1,打开电脑cmd操作界面,在cmd界面找到打开出错项目的文件夹; 比如我的项目文件夹在D:\>eclipse-jee-file\ ...
- EditPlus配置C/C++运行环境
1.安装MinGW和EditPlus 2.打开EditPlus ctrl+1 编译 ctrl+2 运行
- jenkins的目录介绍
jenkins的目录介绍: /etc/init.d/jenkins #jenkins的启动文件 /etc/logrotate.d/jenkins /etc/sysconf ...
- pip3 install beautifulsoup4 出现错误 There was a problem confirming the ssl certificate
chenhuimingdeMacBook-Pro:groceryList Mch$ sudo pip3 install beautifulsoup4 The directory '/Users/Mch ...
- 执行:vim /etc/profile,提示:Command 'vim' not found, but can be installed with:
root@uni-virtual-machine:/# vim /etc/profile Command 'vim' not found, but can be installed with: apt ...
- php 设计模式 --组合器模式
PHP 开启错误显示并设置错误报告级别 ini_set('error_reporting', E_ALL); ini_set('display_errors', 'on'); 目的:分级处理:整体 ...
- 10-Java中共享内存可见性以及synchronized和volatile关键字
Java中共享变量的内存可见性 我们首先来看一下在多线程下处理共享变量时Java的内存模型,如图所示 Java内存模型规定,将所有的变量都存放在主存中,当线程使用变量的时候,会把主内存里面的变量赋值到 ...
- 憋了很久,终于弄懂什么是IOC(控制反转)
导航 共享充电宝 IOC思想 复杂的依赖关系 IOC定义 Spring中的IOC IOC与工厂模式 IOC容器的技术剖析 结语 参考 本节是摘自<Spring Boot 实战纪实>的第 ...
- RAC使用auto rolling的方式打补丁
11.2.0.4 RAC 某系统主库使用auto rolling的方式打补丁在一节点执行1-5,结束后然后在二节点执行1-5,结束后最后再在某个节点执行6. 1.backup GI_HOME& ...
- C#开发BIMFACE系列41 服务端API之模型对比
BIMFACE二次开发系列目录 [已更新最新开发文章,点击查看详细] 在建筑施工图审查系统中,设计单位提交设计完成的模型/图纸,审查专家审查模型/图纸.审查过程中如果发现不符合规范的地方,则流 ...