时序优化之物理综合优化
本帖最后由 fakeCode 于 2015-7-14 19:28 编辑2015年7月1日 by shawge
所谓物理综合优化,其实是EDA功具自身去通过改变器件步局及布线来实现时序收敛,看上去好像比较方便,但实际其存在极大的局限性:
这种优化主要针对非代码控制的部分进行优化,举例如你使用了一些三方的IP库,你修改不了他们的代码,因此只能通过改变他们与其它逻辑的位置来实现时序约束。
这种优化是针对器件的,换句话说你可以在A器件上时序收敛了,在B器件上时序未必收敛,哪怕它们是同一厂家的同一系列同一速度等级的器件,只是容量不同而已。换句话说哪怕你同样是在A器件上,也许这次你时序收敛了,但下次也许你对代码稍作修改它就不收敛了,这样你每次修改代码对于下次时序是否收敛,以及能否通过施加其它约束来实现收敛心里是没有底的。
代码中明明是设计上的问题,如层叠级数过多,组合逻辑过于复杂导致的时序收敛问题,由于偷懒采用物理综合优化实现了时序收敛,却掩盖了设计失误,随着后面项目工程升级,代码量增加,以后实现时序收敛的操作空间变小了,给自己或者别人挖坑埋雷。
由于整个代码是软件自动进行的,我们对整个优化和约束过程无法控制,会导致整个工程时序的人为可控性变差。
会增加编译时间,好吧对于小工程而言这无所谓,对于好的机器甚至是分布式机器而言这也无所谓,但总归缺乏工程美感吧。
综上,不到万不已无法可施,不建议采用物理综合优化。
最后打打广告吧,我的个人博客 http://www.hex55.com
页:
[1]