clock gating 的后防真问题
但是用vcs仿真,总是一大堆hold violation,一看是clock gating的latch 问题
这类问题怎么解决?
谢谢!
.26
+optconfigfile+vcscfg.f
vcscfg.f内容:
instance {xxx.xxx.latch} {noSepcify};
这个可以去掉latch的delay,这样做会影响实际的timing吗?求大神解答。
另:
是不是PT的时候没有专门对clk_gating cell进行setup和hold的check?
set timing_clock_gating_propagate_enable false/true
set timing_disable_clock_gating_checks true/false
PT timing clean的,为什么postsim会出问题? PT check的时候应该留有更大的margin吧
如果没特别设置的话,我记得PT在check clock-gating时,用的setup time和hold time都是0,你可以去翻翻PT的manual
这个才是正解,随便nospecify是不负责任的行为。
工艺要是比较先进的话,例如40nm,不只是bc、wc过了就行,还要查其他的case。比较繁琐。
pt过了在做VCS仿真,保证所有的case都没有问题。
后仿真时,可能会碰到同步寄存器第一级仿真出现violation的情况,可以手工修改或者脚本修改sdf中第一级register的setup,hold,改为0。另外,还有可能碰到async reset的问题,需要检查recovery和remove timing。修改sdf中async-reset第一级register的setup、hold,改为0.或者修改外部asyncreset的输入时间。
另一种可能出现后仿真violation的情况,可能要修改testbench,加外部延迟模型。
个人建议,仅供参考。
你最好在disable这些check之前分析一下 enable/clock的来源是不是还有你的sta无法覆盖的情况
