|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
静态时序检查函数$skew的输入Limit在不同仿真平台有何限制要求???
我们正在使用的一个Behaviour model,其中针对一个信号,要求置高存在最小(5ms)和最大(10ms)的要求,即要求置高在5ms~10ms之间,否则报timing violation.
所以,在此Behariour model中,使用了$skew函数对该信号置高最长不超过10ms进行timing check。如下:
specparam thw_aaa_max = 10000000: 10000000: 10000000;
$skew( posedge aaa, negedge aaa, thw_aaa_max, not_aaa);
那么问题来了,当我使用xRun跑仿真时,没有报任何timing violation。
但是,当我用VCS跑仿真时,报如下timing violation:
$skew( posedge aaa:17876733.25000 ns, negedge aaa:25376733.25000 ns, limit: 0.00000 ns );
[xxx error] Violation occured on 'aaa', internal register corrupted 25376733.25000 ns
通过打印信息,看起来是Limit设置为10ms的数值没有传进去,导致timing violation.
之后,我将thw_aaa_max从10ms不断降低到5ms,问题依旧,依然是 limit: 0.00000 ns。
但是尝试将thw_aaa_max设置为1ms时,看起来Limit数值能够成功传进去了,如下:
$skew( posedge EPP:17876783.25000 ns, negedge EPP:25376783.25000 ns, limit: 1000000.00000 ns );
所以,问题看起来,VCS仿真平台,针对$skew()中的Limit存在最大值限制。
哪位大佬能帮忙解答一下?然后看看有没有什么option,可以取消这个限制?或者其他的解决方法?
谢谢!!!
|
|