请教:VCS仿真的问题
现在由于设计需要,需改动ref_clock。
请教各位大侠,是否有什么方法可以在不重新编译的情况下,直接force出一个新的clock频率,通过simv来做仿真得到新的波形。
请各位不吝赐教啊。
如果你的sim option 没有留出来这样功能的实现,个人认为 就没办法了。
前提是你在之前就知道要在不编译的情况下改变ref_clock,你可以预留下自己定义的sim option.
然后再你的tb里根据这些option吃到的参数来搞你的ref_clock,不知道有没有说明白。
吃 吐 镶入式 记忆体 软硬体 矽谷 积体电路 类比 数位
恩,比如vcs +define+
可以在define 里面改参数。。。
+define+<macro_name>=<value>
Defines a text macro. Test for this definition in your Verilog
source code using the `ifdef compiler directive.
只要能用force就行,也就是说之前编译选项包含-debug或-debug_all
只要能用force就行,也就是说之前编译选项包含-debug或-debug_all
我是开了 debug_all的选项的。 看来这个clock不能用循环的方法生成,只能按时间点force了。。。
我是加了-debug_all这个选项的。现在我用-do run.tcl这个文件去重新dump波形。
不过在ucli%下,工具居然对 run 10ns这个命令报错:
ucli% run 100ns
file run.tcl, line 1: Error-[UCLI-WATCH-NUM-OF-ARGS] stop command syntax error
Number of arguments specified is incorrect, 3 arguments are expected.
不知道有谁见过这个问题么? 我是VCS 2013.2 这个版本,以前没出现这种情况啊。 晕~~~
没见过这种错误,你直接手动进ucli敲几个命令试试;
不行就联系vcs的FAE,看是不是版本问题,貌似你这个版本不是推荐版本;
另外force命令是可以循环产生时钟的,具体命令去查ucli手册,大概是指定两个时间间隔,t0 0 t1 1,就可以过t0时间force成0,再过t1时间force成1,循环。