ICC做时钟树时如何让其中的ICG尽量靠近sink端?
这个要提前做
1)综合时,控制ICG的fanout不要太大
2)place时,给ICG加上latency,比如一般FF加1ns,ICG加0.9ns
谢谢陈老大!但在place阶段给ICG加latency能影响到做树吗?不是只会优化数据路径吗?因为从目前结果看出ICG违例的原因就是clock skew造成的,而数据路径是合理的。如果减小clock skew,是能够把违例消除。
请问小编,您的问题解决了吗?
没有,依旧存在。成为设计中的关键路径了都!
同事的建议就是我打开了power优化,所以工具会自动将ICG放置在靠近root端处。如果是timing优化,则会靠近sink端处。请问ICC中有没有这样的优化方法呢?
ICC默认顺序先是timing,然后是power 和 area
之所以ICG太靠近root,就是因为ICG上的timing太松,我让你加latency的目的就是把它的timing加紧
这个不是简单加一个命令就可以做到的事情,可能需要把我建议的都用上,甚至更多
多谢陈大!问题已经解决。之前过多的考虑时钟树方面了,忽略了对路径时序的优化。通过加约束,已成功将时序收敛!
小编你好,我现在遇到了跟你一样的问题,我想问下,按照陈老大的建议,你在placement阶段是怎么给ICG Cell加上延迟约束的,表示不是太明白,用的是哪条命令啊。
我用的后端工具是ICC,可以使用命令set_clock_gate_latency来给ICG加约束。
小编,你好你用的ICC是那个版本的,为什么我查不到set_clock_gate_latency这个命令的man page,另外我想问下,这个命令的设置实在placement阶段设置的把?
set_clock_gating_check -setup 0.25 [get_cells -filter "ref_name=~CKLNQ* " -hier]
在place阶段给ICG一个大的margin。另外可以设置bound把ICG和对应的std cell bound在一起。 基本能搞定
set_clock_gate_latency是
DC的command
陈老大,在ICC中怎么对ICG加latency啊?ICC中没有set_clock_gate_latency这条指令啊,DC中有这条指令!
set_clock_latencyor set_clock_gating_check
因为icg放在中间导致为例,工具为了达到时序要求,会不会将icg优化掉
对于组合逻辑组成的clock gating结构可以这样检查时序。对于ICG需要如此设置么?