|
发表于 2018-9-8 05:05:12
|
显示全部楼层
所有tool的hold time slack的计算规则都为 :
SLACK= T_arrive - T_expect = T_clk_uncertainty_data + T_inner_logic + Tckq - T_clk_uncertainty_clk -T_hold
以没搁进CTS为例:上等式中所有的data和clk的clk_uncertainty会集中在clk的constrain中(包括所有的clk_uncertainty, jitter, transition)。 因此分割uncertainty后等式等价于SLACK= T_arrive - T_expect = T_inner_logic + Tckq -T_hold >= 0+0 -T_hold = -T_hold。 即假设直接reg out,且wire load为0,且不考虑外部cell的本证延时。 此情况下hold最保守,数据输出到外面的FF太快,以至于必须得靠外面的延时来保证外部FF的hold time。 所以,set_output_delay = -T_hold, 同时这个设置等效于压缩了inner logic的可变化空间。 |
|