当静态时序验证出现violation时 应该怎么优化
hold or setup violation? pre-layout or post-layout STA?
对!hold or setup violation
至于什么阶段 只要后端的就行 比如你做完后端的某一步(place 、cts or route) 然后STA出现violation 你是怎么修改的啊?
2# paneric
同问,经常觉得束手无策的的
根据slack的标准,确定相关路径,然后加buf等
一般来说APR中用opt可以自动优化,如果不能自动优化成功的,需要手动加入buf,更甚者,你的rtl需要优化,或者约束需要优化
小编,nanoroute之后把drc都修改完了,再进行setup优化,满足了setup,结果出现drc错误,该怎么办?
可以 先放一放,进行STA,然后根据STA结果手动修正drc问题
多谢小编,那您的意思是setup和hold的时序都满足后,再修改drc?手动修改,可以用ecoroute么(ecoroute会不会改变时序?)?或者说还有别的方法么?在线等。
优先满足setup.hold
drc主要看transition了。不是绕线错误的DRC吧?希望咱俩别说了不是一个东西。
如果drc比较多,可以约束的紧一点,或者宽松面积,当然特殊情况还需要特殊对待
呵呵,多谢小编耐心解答,drv里面的transition都已经没问题了,就是绕线的错误,M1相互交叉之类的,出现一些白叉。这个时候应该怎么修改呢?可以ecoroute?或者运用nanoroute里的arearoute?或者说还有别的办法么?
drc绕线错误好办呀,M1的错误的话,分析下,是太拥挤还是绕线层数不够,一般M1不会出问题
你可以试一下,editDeleteViolations(貌似这么拼),然后ecoroute一下看看
小编,我试了一下您的方法,结果绕线完之后drv的tran、cap出现了违例。这是什么原因?是我操作错误么?
可以说这就是代价,不过不排除优化下能消除drv的可能。
可以这么想,如果想一下子搞定的话,约束宽松,面积足够,绕线层数足够,特殊情况小之又少……
但是我们的设计不可能这么理想。所以,就得有取舍。要满足timing,要用的资源少……当然最重要的是要能够route出来。
所以drv的优先级是最低的,在route没问题的前提下,可以再近行postRoute下的drv的优化,当然fanout好像需要有专门的option
还有一点就是,工具修不掉了,对不能容忍的drv,那就需要你手动干预了。
