verdi/vcs常用debug功能

1、查看某一个单比特信号的上升沿或下降沿的数目;

如下图所示步骤:

1)找到该信号右键,选择add/remove;

2)add couter signal by;

3)选择上升沿或下降沿或任意边沿; 

 还有一种办法是:signal event 来看

 1)选择要观察的信号,同时用黄白线选择要查看的区域;

2)view->signal_event_report;即可

上图结果如下: 


 2、信号之间的逻辑操作;

1)选择要进行逻辑操作的信号;

2)右键->logical operation;

3)进入下面界面进行相关逻辑操作生成新的信号,如与或非等;


3、对多比特信号进行编辑或展开;

1)选中信号右键->bus operation->

expand as sub bus:可以把信号按固定间隔展开;

edit bus:可以只选则信号的一部分显示在波形上;

create bus:可以调整信号内各个bit之间的位置,也可以增加位宽等;

.......


 4、波形上的撤销;比如不小心展开了,点击它可以直接撤回去;


5、匹配信号中某一个值是否出现过;

先选中信号,再按下面图中顺序执行,左右三角形是指查找左侧匹配值和右侧匹配值;


6、常用快捷键;

显示信号路径层次:选中信号->按h键;

改变信号颜色:选中信号->按t键;

把代码的信号拉到波形上:方法1:鼠标选中直接拉过来;方法2:鼠标选中后,ctrl+w;(这种会拉到默认的那个波形上,如果开了多个可能不在当前这个窗口上)

波形重新跑了之后,reload波形:shift+l;

查找模块或task:shift+s;打开查找窗口如下图所示(可以使用通配符:*)输完后按一下enter键开始搜索,点go to可以直接到达该模块位置;

查找信号名/实例化模块等:shift+a;

也可以通过:下图路径进入该界面;

这里还可以进入查找特定字符串的窗口(注意查找的范围):


 7、恢复回验证常用的窗口设置;

8,查看仿真波形的用例或组件的代码是不是最新修改后的代码:可以直接在搜索栏检索


 9,开启verdi的gui模式进行debug:仿真时加上:gui=on,完成编译后就会自动打开verdi进行仿真; 

打开后在左下角的窗口可以直接输入:run  1000;enter后可以开始跑到对应时间点的仿真,或者遇到断点停下来;

可以使用单步仿真,一步步查看仿真路径;还可以区分DUT和TB两个仿真区域;

另外还有一些phase机制,可以查看哪些phase结束了;还有seq的激励是否正常发送和结束了;之前遇到了,main_phase结束后,seq里面的tr没有结束,然后shut_down phase又调用了一个seq去发送激励;导致仿真挂死在shutdown_phase了,因为main_phase的一个tr一直没有完成;


10,有些数据是有符号的,可以在波形以正负数形式显示;

11 , 参数按指定进制显示;tool--》preferences--〉搜索:para----》选择进制 ;(也可以搜索macro,把宏按展开的形式显示;)


vcs的ucli命令:

step

ucli; 仿真时,可以输入step进行单步调试,查看执行到那行代码;debug一些组合环和环境的死循环会有不错的效果; 

可以step 10;也可以run 1ns;

vcs好像有编译选项可以自动检测死循环:Compile/simv中加上这个option: +vcs+loopreport+number(比如1000)

看网上还有要加上loopdetect的选项,不过写了个死循环,好像也没检查出来;(后面有时间再确认一下;)

采用下面形式可以报出loop:区别就是加了两个vcs,中间有空格;

run  vcs +vcs+loopdetect +vcs+loopreport+20 -debug_access+all -reportstats   -sverilog -R  -f sv_lab.f   -l  comp.log

会有下面类型报错:

irun和vcs工具,检测TB环境零延时无限循环以及zero-delay组合逻辑_vcs zero delay loop-CSDN博客

注意:ucli功能需要打开debug_access+all;

另外:nlint也可以检查出设计的组合环问题; 


在波形上查看force信号:需要添加相关仿真选项;

  • 6
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: "Verdi Debug C"是一种用于调试C语言程序的工具。Verdi是一个集成的调试环境,它提供了各种功能来帮助开发人员分析和修复C语言程序中的错误。 Verdi Debug C具有以下特点和功能: 1.源代码级调试:Verdi Debug C允许开发人员逐行调试C语言程序,以便更好地理解程序的执行流程和变量的值。它可以在源代码级别下暂停程序执行,以便开发人员检查变量的值、条件语句的结果和函数调用的顺序。 2.变量观察:Verdi Debug C提供了一个变量窗口,可以实时监视程序中所有变量的值。这使得开发人员可以在调试过程中检查变量的状态,并识别问题所在。 3.条件断点:Verdi Debug C允许开发人员设置条件断点,即只在满足特定条件时才暂停程序的执行。这对于定位特定问题或在特定情况下调试程序非常有用。 4.数据可视化:Verdi Debug C提供了数据可视化工具,帮助开发人员以图形方式呈现数组、结构体和其他复杂数据结构的值。这大大简化了复杂数据结构的调试过程。 5.回溯:当程序中发生错误或异常时,Verdi Debug C可以提供完整的回溯信息,包括函数调用序列和各个函数的参数和变量值。这可以帮助开发人员追踪问题发生的位置和原因。 总的来说,Verdi Debug C是一个强大的调试工具,它提供了多种功能来帮助开发人员识别和解决C语言程序中的错误。它可以加快调试过程,提高开发效率,并最终改善程序的质量和性能。 ### 回答2: verdi debug c 是一种在C语言中进行调试的工具。VERDI是一个完全集成的调试和验证环境,适用于硬件描述语言和软件开发。它提供了强大的功能,可以帮助程序员快速定位和修复代码中的错误。 使用verdi debug c,你可以在调试过程中观察变量的值,查看函数的输入和输出参数,以及跟踪程序的执行流程。它还提供了一些高级功能,比如断点和条件断点,可以方便地暂停程序的执行,以便检查程序的状态。 在进行c语言调试时,verdi debug c还可以配合一些其他工具一起使用,比如gcc编译器和gdb调试器。通过这些工具的协作,可以更有效地进行调试,提高程序的质量和稳定性。 总之,verdi debug c是一个强大而实用的调试工具,它可以帮助程序员在C语言开发中更快地定位和修复错误,提高代码的质量和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值