微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > 如何在仿真结束后自动退出ncsim?

如何在仿真结束后自动退出ncsim?

时间:10-02 整理:3721RD 点击:
本人用windows版的Cadence LDV进行仿真。每次仿真结束后,窗口都停留在ncsim的命令下,必须要键入exit才能退出。verilog中,是没有exit函数的,也就是说不能从测试激励中直接结束。这里我想请教各位,怎么才能让仿真器自动退出到dos命令的界面下啊?其实,我是想编写一个批处理命令,一次性地跑完所有激励。因此必须解决仿真结束后从ncsim退出的问题。

one works for me:
ncsim -input ./run.tcl
run.tcl:
run 100us;
exit

多谢指教。问题按此得以解决。不过,还想问下,能不能在脚本中判断关键字$stop,然后再exit?这样就不必对仿真时间进行估计了。

sure, you can try it or directly use your stop signal in tb:
initial begin
...
#5 wait(hang_or_stop_conds);
#5 $finish // or $stop
end

再此麻烦下,如何在tcl中对仿真结果result.log进行stop匹配搜索啊?ncsim命令下可不支持grep和sed。想要的功能是:在result.log中进行查找,如果发现$stop,则exit;否则继续查找。先谢谢了。

I am just curious why you want to grep "$stop" in ncsim log.
$stop should be generated in your code under some conditions, right?
Now that you know that condition, why not use that cond. to produce a signal instead of searching log file?
you can modify the run tcl like this, I don't compile it so pls ignore syntax warnings.
run_modify.tcl
settopname #your_top_tb_fille_name here
setstop$top.stop_signal #your stop signal name here
setclk$top.clk #just a option
#setassert_1164_warnings no;
stop -cond {[value $clk] == 1} -execute {if {[value $stop_signal] == 1} {exit}} -cont -silent
run 150000us
exit

haodongxi shoucang le

谢谢小编,好东西,收藏了。

$finish
exit
应该是可以的

dlkjajalfj jaljdljfaljf

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top