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. ...
随机推荐
- 38KHz,NEC红外模拟发送和接收程序
/*************************************************************************************************/ ...
- PHP中的文件系统函数(一)
从这篇文章开始,我们将学习一系列的 PHP 文件系统相关函数.其实这些函数中,有很多都是我们经常用到的,大家并不需要刻意地去记住它们,只要知道有这么个东西,在使用的时候记得来查文档就可以了. 文件路径 ...
- PHP中的PDO操作学习(二)预处理语句及事务
今天这篇文章,我们来简单的学习一下 PDO 中的预处理语句以及事务的使用,它们都是在 PDO 对象下的操作,而且并不复杂,简单的应用都能很容易地实现.只不过大部分情况下,大家都在使用框架,手写的机会非 ...
- PHP中的PDO对象操作学习(一)初始化PDO及原始SQL语句操作
PDO 已经是 PHP 中操作数据库事实上的标准.包括现在的框架和各种类库,都是以 PDO 作为数据库的连接方式.基本上只有我们自己在写简单的测试代码或者小的功能时会使用 mysqli 来操作数据库. ...
- Spring Cloud Gateway 没有链路信息,我 TM 人傻了(上)
本系列是 我TM人傻了 系列第五期[捂脸],往期精彩回顾: 升级到Spring 5.3.x之后,GC次数急剧增加,我TM人傻了 这个大表走索引字段查询的 SQL 怎么就成全扫描了,我TM人傻了 获取异 ...
- jmeter5.2 性能测试 资源监控 JMeterPlugins1.4 ServerAgent2.2.1
一.性能工具的安装部署 1.下载JMeterPlugins-Standard-1.4.0.zip的安装包 2.解压JMeterPlugins-Standard-1.4.0.zip,将其中\lib\ex ...
- Appium和Selenium的区别和联系
https://www.cnblogs.com/lv-lxz/p/11118862.html https://blog.csdn.net/weixin_42139375/article/details ...
- centos7 设置dns
查看当前网络连接 nmcli connection show NAME UUID TYPE DEVICE eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 802-3 ...
- WPF进阶技巧和实战03-控件(1-控件及内容控件)
所有控件都继承自System.Windows.Controls.Control类,这个类添加一些基本结构: 设置控件内容对齐方式 (HorizontalContentAlignment,Vertica ...
- Winfrom 中完美设置webbrowser控件内核版本
前言 .NET 版本更新了一代又一代,winform中的webbrowser控件的IE内核版本却始终用的IE7,好多网站都对IE7已经不支持.webbrowser这个控件就显得有些鸡肋,经过查找大佬门 ...