1. set_max_fanout 25 为起点,可以多尝试几次
2. set_max_transition, set_max_capacitance参考.lib,取值小于二维表index_1, index_2上限
3. setup uncertainty通常取时钟周期5%-10%
hold uncertainty通常取25-50ps或PDK signoff guide里推荐的数字
set_clock_uncertainty -setup [5% of your clock period] [get_clocks your_clock]
set_clock_uncertainty -hold [50ps or 25ps or value from PDK signoff guide] [get_clocks your_clock]
4. top level blocks之间的信号遵循30/30/30的timing budget经验法则是 -- 30%给上游模块output data path,30%给top level routing,30%给input data path。尽量按照-max,-min来约束