vcs联和verdi,支持回退交互式仿真。
使用交互式仿真,确保如下环境变量有设置
◾VCS_HOME
◾VERDI_HOME
vcs在编译的时候,要加入如下选项
-lca -kdb -debug_access+all+reverse
仿真的时候,在simv可执行程序后面,加入-verdi选项。
./simv -verdi
启动verdi之后,需要打开verdi的回退仿真功能。
在verdi的设置界面,tools->Preferences中设置:
在程序中,设置一个断点:
在verdi的console中,输入run,启动仿真。
此时程序会在断点处停下来。此时会显示变量a的值,因为a赋值语句已经执行过。
在verdi界面的控制窗口,会有几个紫色的按钮,用来支持回退交互式仿真的。
点击,这个 Next Reverse:
此时,执行的光标,回到了断点代码的前一行。此时仿真的状态就回到了执行上一条指令的状态。此时a还没有赋值,值为x态。
所以可以利用verdi仿真的这个reverse功能,实现回退式仿真。这样当仿真不小心过了我们的设定点,可以使用reverse功能,回退到这个点。从而避免重新启动仿真。
更多相关阅读
vcs产生code coverage与function coverage
交互式仿真下dve和verdi中查看二维数组值
UVM中如何让一个sequence发送两个包给两个sequencer