卢骏 · 2020年05月30日

vcs回退交互式仿真

vcs联和verdi,支持回退交互式仿真。

使用交互式仿真,确保如下环境变量有设置

◾VCS_HOME

◾VERDI_HOME

vcs在编译的时候,要加入如下选项

 -lca -kdb -debug_access+all+reverse

仿真的时候,在simv可执行程序后面,加入-verdi选项。

 ./simv -verdi

启动verdi之后,需要打开verdi的回退仿真功能。

在verdi的设置界面,tools->Preferences中设置:
1.png

在程序中,设置一个断点:
2.png

在verdi的console中,输入run,启动仿真。
3.png

此时程序会在断点处停下来。此时会显示变量a的值,因为a赋值语句已经执行过。

在verdi界面的控制窗口,会有几个紫色的按钮,用来支持回退交互式仿真的。
4.png

点击,这个 Next Reverse:

5.png

此时,执行的光标,回到了断点代码的前一行。此时仿真的状态就回到了执行上一条指令的状态。此时a还没有赋值,值为x态。

所以可以利用verdi仿真的这个reverse功能,实现回退式仿真。这样当仿真不小心过了我们的设定点,可以使用reverse功能,回退到这个点。从而避免重新启动仿真。

更多相关阅读

vcs产生code coverage与function coverage
交互式仿真下dve和verdi中查看二维数组值
UVM中如何让一个sequence发送两个包给两个sequencer

原文首发于骏的世界博客
作者:卢骏
更多IC设计相关的文章请关注IC设计极术专栏,每日更新。

推荐阅读
关注数
10967
内容数
1216
主要交流IC以及SoC设计流程相关的技术和知识
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息