|

楼主 |
发表于 2015-8-11 22:43:23
|
显示全部楼层
回复 5# icfbicfb
感谢版主! 有日子没上论坛了。。
这个block大概其是个TOP下面的一个bus block, 所有的其他physical clock都会从里面过一圈,所以就有了80+个create_clock和 200+ 个两级generate_clock.
并且这80+个create_clock 大概其在top上从20+个ICG cell fanout 出来。 结果用 report_timing -from xx -to xx 跑了280x280个combination 跑了三天。。。。
结果重新出了一版netlist, 又得重来。。。
至于为什么check timing, 我也就是个虾米,日本人也不跟我说细节。。 
我个人理解(请指正)
- 对于同ICG cell fanout 的clock,
- 如果有timing path, 会把ICG cell放在接近于physical block的地方 1. 增加clock comment path 物理长度,减小clock path ocv 影响。 2. 多数情况下利于ICG hold 收敛(?)
- 如果没有timing path, ICG放在接近PLL 的clock block里面, gating 靠前, 缩短 pll 到 ICG的物理距离,在clock gating的时候,减小pll->ICG 的clock net的动态功耗。
- 对于不同ICG cell fanout 的clock,
- 如果有timing path, balance 各自clock 之间的skew, 减小OCV, 考虑H-tree(ICG拉到block脸上,用宽金属drive ICG ?)。
- 如果没有timing path, ICG 放置接近pll.
额,一知半解。。。。 |
|