shawge

时序优化之物理综合优化

0
阅读(1615)


所谓物理综合优化,其实是EDA功具自身去通过改变器件步局及布线来实现时序收敛,看上去好像比较方便,但实际其存在极大的局限性:

  1. 这种优化主要针对非代码控制的部分进行优化,举例如你使用了一些三方的IP库,你修改不了他们的代码,因此只能通过改变他们与其它逻辑的位置来实现时序约束。
  2. 这种优化是针对器件的,换句话说你可以在A器件上时序收敛了,在B器件上时序未必收敛,哪怕它们是同一厂家的同一系列同一速度等级的器件,只是容量不同而已。换句话说哪怕你同样是在A器件上,也许这次你时序收敛了,但下次也许你对代码稍作修改它就不收敛了,这样你每次修改代码对于下次时序是否收敛,以及能否通过施加其它约束来实现收敛心里是没有底的。
  3. 代码中明明是设计上的问题,如层叠级数过多,组合逻辑过于复杂导致的时序收敛问题,由于偷懒采用物理综合优化实现了时序收敛,却掩盖了设计失误,随着后面项目工程升级,代码量增加,以后实现时序收敛的操作空间变小了,给自己或者别人挖坑埋雷。
  4. 由于整个代码是软件自动进行的,我们对整个优化和约束过程无法控制,会导致整个工程时序的人为可控性变差。
  5. 会增加编译时间,好吧对于小工程而言这无所谓,对于好的机器甚至是分布式机器而言这也无所谓,但总归缺乏工程美感吧。

综上,不到万不已无法可施,不建议采用物理综合优化。