0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

VCS+VERDI的reverse反向运行功能

sanyue7758 来源:摸鱼范式II芯片验证之路 2023-04-12 10:11 次阅读

背景

假设一种场景,在调试环境的时候,运行到15min的时候,环境出现bug,需要去debug。也许错误的第一现场并不是15min的时候,可能在14min30s-15min之间,那么如果正向执行就需要14min30s以上。所以这个时候如果能够直接反向运行到14min30s,就可以节省很多时间。就像jojo的奇妙冒险中吉良吉影的招式,败者食尘一样,逆转时间

编译选项

要实现这个功能,依赖于VCS和VERDI的联合调试,所以在编译的时候需要使用下面的指令

vcs-full64-sverilog-ntb_optsuvm-1.2-lca-kdb-debug_access+reverse

除了常规的选项以外,-kdb选项是用于生成kdb数据库,支持verdi的联合调试,而lca是kdb的依赖选项。

最后的-debug_access+reverse则是最关键的开关,需要加上这个选项才是实现反向运行。

编译完成以后,进行仿真的时候,需要使用./simv -verdi,启动仿真。这样就能够直接调用verdi进行联合仿真。

测试代码

本次的测试代码就是简单的4行打印。

moduletest();
importuvm_pkg::*;
`include"uvm_macros.svh"

initialbegin
`uvm_info("a","hellouvm!",UVM_NONE)
`uvm_info("b","hellouvm!",UVM_NONE)
`uvm_info("c","hellouvm!",UVM_NONE)
`uvm_info("d","hellouvm!",UVM_NONE)
end

endmodule

reverse

启动verdi之后,注意图中红色框框中的一排按钮,这就是reverse功能的按钮。从图标形状来开,和联合仿真的正向交互式仿真是一致,功能上他们其实也是对偶的。

476b2d46-d894-11ed-bfe3-dac502259ad0.png

reverse按钮

如果你开起了reverse选项,但是仍然没有出现这一排按钮,那么就需要在tools下的perferences中,开启reverse按钮。

47797626-d894-11ed-bfe3-dac502259ad0.png

perferences

在perferences中的interactive debug下,找到reverse debug

47846f54-d894-11ed-bfe3-dac502259ad0.png

reverse

接下来可以在代码中设置两个断点进行测试。直接单击代码左侧即可甚至断点。和C的单步调试是一样的,直接run就能在断点处停止。

478d0362-d894-11ed-bfe3-dac502259ad0.png

设置断点

我们跑到第九行的断点,可以看到中间在七行停止了一次,最后在第九行停下来,6 7 8行的信息都已经打印出来了。

47954478-d894-11ed-bfe3-dac502259ad0.png

前向运行

那么如果我们需要回到第七行,就可以直接进行点击下图中的run reverse按钮。

479ba9ee-d894-11ed-bfe3-dac502259ad0.png

run reverse

然后就能够回到上一个断点处

47a57f0a-d894-11ed-bfe3-dac502259ad0.png

当然也可以,点击旁边的next reverse按钮进行反向单步运行

47afeefe-d894-11ed-bfe3-dac502259ad0.png

反向单步

就能够从第九行回到第八行

47b68dcc-d894-11ed-bfe3-dac502259ad0.png

其他按钮和这两个类似,但是正向调试的反向版本。

本次分享了VCS+VERDI的reverse反向运行功能,可以将整个仿真反向运行,从而减少正向仿真的时间消耗。

当然,这必须在VCS+VERDI的联合调试下才可以,如果是VCS单独仿真,dump波形,再使用VERDI离线调试就不能使用。而联合仿真也会大幅度降低运行速度,所以推荐在早期debug验证环境的时候使用。






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • VCS
    VCS
    +关注

    关注

    0

    文章

    78

    浏览量

    9586
  • Verdi
    +关注

    关注

    0

    文章

    22

    浏览量

    8758

原文标题:联合仿真VCS+VERDI+Reverse,你会吗?

文章出处:【微信号:处芯积律,微信公众号:处芯积律】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    请教VCSverdi怎么联合使用

    最近要用到VCS仿真后生成FSDB文件,然后在Verdi中进行自动侦错,请问我怎么安装Verdi这个软件以及如何启动license,并且怎么写testbench文件才可以产生FSDB文件。请懂得人给我支支招,我也是刚开始学习这个
    发表于 01-22 14:53

    怎样去使用Makefile+VCS+Verdi做个简单的Test Bench?

    怎样去使用Makefile+VCS+Verdi做个简单的Test Bench?有哪些操作步骤?
    发表于 06-18 06:28

    VCS+Verdi如何安装?怎么破解?

    VCS+Verdi如何安装?怎么破解?
    发表于 06-21 06:11

    求大佬分享VCS/Verdi 2014或者2018版本的安装包

    x求哪位好心大佬分享VCS/Verdi 2014或者2018版本的安装包啊??最好还有相应的安装教程,跪谢!!!!
    发表于 06-21 06:33

    VCS仿真卡住,为什么无法生成verdi波形文件呢?

    在make com编译成功后,terminal卡住了一直没有反应,这是什么情况有大佬知道吗?VCS仿真卡住,为什么无法生成verdi波形文件呢?
    发表于 06-21 08:14

    请问如何更新bin/run.makefile以支持VCS+Verdi工具?

    如何更新bin/run.makefile以支持VCS+Verdi工具?
    发表于 08-11 10:08

    在Linux上用vcs+verdi对demo_nice进行仿真没有成功的原因?

    请教大神,我在Linux上用vcs+verdi对demo_nice进行仿真,但是没有成功 我是用hibrd.sdk把demo_nice编译成.verilog文件的,其内容如下 另外我还对tb
    发表于 08-12 08:07

    vcsverdi的调试及联合仿真案例

    若想用Verdi观察波形,需要在仿真时生成fsdb文件,而fsdb在vcs或者modelsim中的生成是通过两个系统调用$fsdbDumpfile $fsdbDumpvars来实现的。
    的头像 发表于 09-22 15:01 8530次阅读

    利用vcs+verdi仿真工具蜂鸟E200系列处理器仿真分析

    开源RISC-V Hummingbird E203(蜂鸟E203)的仿真工具是开源的iverilog,这里利用vcs+verdi仿真工具进行仿真;
    的头像 发表于 11-17 10:28 2808次阅读

    全网最实用的Verdi教程1

    Verdi是一个功能强大的debug工具,可以配合不同的仿真软件进行debug,很多企业常用VCS+Verdi或者Xcelium/xrun+Verdi的方式进行代码的仿真与检查。
    的头像 发表于 05-05 14:49 1.6w次阅读
    全网最实用的<b class='flag-5'>Verdi</b>教程1

    全网最实用的Verdi教程2

    Verdi是一个功能强大的debug工具,可以配合不同的仿真软件进行debug,很多企业常用VCS+Verdi或者Xcelium/xrun+Verdi的方式进行代码的仿真与检查。
    的头像 发表于 05-05 14:53 8060次阅读
    全网最实用的<b class='flag-5'>Verdi</b>教程2

    全网最实用的Verdi教程3

    Verdi是一个功能强大的debug工具,可以配合不同的仿真软件进行debug,很多企业常用VCS+Verdi或者Xcelium/xrun+Verdi的方式进行代码的仿真与检查。
    的头像 发表于 05-05 14:53 5500次阅读
    全网最实用的<b class='flag-5'>Verdi</b>教程3

    如何用vcs+verdi仿真Verilog文件并查看波形呢?

    我们以一个简单的加法器为例,来看下如何用vcs+verdi仿真Verilog文件并查看波形。
    的头像 发表于 05-08 16:00 6284次阅读
    如何用<b class='flag-5'>vcs+verdi</b>仿真Verilog文件并查看波形呢?

    如何用vcs+verdi仿真Verilog文件

    我们以一个简单的加法器为例,来看下如何用vcs+verdi仿真Verilog文件并查看波形。 源文件内容如下:
    的头像 发表于 05-11 17:03 1864次阅读
    如何用<b class='flag-5'>vcs+verdi</b>仿真Verilog文件

    Verdi环境配置、生成波形的方法

    Verdi是一个功能强大的debug工具,可以配合不同的仿真软件进行debug,很多企业常用的就是VCS+Verdi或或者Xcelium(xrun)+Verdi的方式进行代码的仿真与检
    的头像 发表于 05-29 09:48 3435次阅读
    <b class='flag-5'>Verdi</b>环境配置、生成波形的方法