微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > ICC做时钟树时如何让其中的ICG尽量靠近sink端?

ICC做时钟树时如何让其中的ICG尽量靠近sink端?

时间:10-02 整理:3721RD 点击:
在用ICC做时钟树时,工具自动让ICG在时钟树的中间部位,使得ICG与其他sink端的skew很大。最后有大量的违例路径都发生在ICG上。如何能引导工具将ICG尽量靠近于寄存器端,减小与其他寄存器的skew?

这个要提前做
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需要如此设置么?

上一篇:layout skill求教
下一篇:lef和def的区别?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top