从字面意思来看,所谓过约束是指约束过紧了。这个“过”体现在setup requirement变小了,对于单周期路径,这个值通常与时钟周期一致,但在过约束情况下,等效于这个值变小了,也就是时钟频率变大了。
什么情况下使用过约束?
过约束作为时序收敛的一种方法,并不是随意使用的,一定是有一些限制条件的。如果设计在布线(route_design)之后没有收敛(只针对建立时间),也就是在时序报告中可以看到WNS为负值,但接近0(这是一个很重要的条件),这通常是因为在布局(place_design)之后,时序余量(Timing margin)已经很小了。一种可行的方法就是增加在布局以及布局之后的物理优化(phys_opt_design)阶段的时序预算(Timing budget),从而改善时序余量。这种方法就是过约束。
过约束怎么做?