|  | 
 
| 
静态时序检查函数$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,可以取消这个限制?或者其他的解决方法?
 
 谢谢!!!
 
 | 
 |