微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > 如何处理clock gating出现很大的hold违规?

如何处理clock gating出现很大的hold违规?

时间:10-02 整理:3721RD 点击:

在ICC中出现这样的问题,请问该如何处理?非常感谢大家的帮助!


嗨~跟你分享我的看法,提供你參考
clock gating的部分我是忽略不去看的,通常這個hold time violation會發生在gating cell的地方
clock gating一般為了預防glitch的發生會用一級DFF用負緣去latch住enable訊號,在用這個DFF的輸出
去和Clock作AND。
而這個AND就會是gating cell。
因此你可以看到,在你的timing report中上面的clock是用rising edge來看
而下面經過的AND2D1是用falling edge來看,因此hold time一定是不過的。
但是通常enable訊號的行為,會是一直拉住的所以你的hold time絕對會是沒問題的。
在prime time裡面我會對你的gating cell下 set_disable_clock_gating_check [get_cell ***]
來處理這條路徑
你如果想了解的更詳細的話,可以參考論壇上的這本名著"Static Timing Analysis for Nanometer Designs"


非常感谢您认真仔细地回答!
您的意思是ICC中可以不用去管这样的hold违规?然后在PT的时候对相应违规的单元set_disable_clock_gating_check?
谢谢!

顶2楼,lz贴的这个路径看起来应该是伪路径,应当再问问前端的意见做参考,毕竟电路功能是前端设计的。如果不是前端想要的功能,就不要检查了。

同时推荐看看这里面一些涉及sta的paper。
http://www.zimmerdesignservices.com/index.php?section=12
"Working with PLLs in PrimeTime - avoiding the phase locked oops" by Paul Zimmer
(SNUG San Jose 2005 - Technical Committee Best Paper)

Very clear answer from DDEDA; thanks a lot.

哦,因为是帮别人做的后端,联系那边的人比较麻烦,发邮件也是一直没有回应,所以贴上来请教一下大家。谢谢啦!

谢谢谢谢!下来了看看。

不太明白您的意思,可以说清楚详细一点吗?谢谢!

小编,我还是不太明白。对于与门的clock gating hold check不就是gate端和clock端的下降沿检测吗?之前没有接触过clock gating 的时序检查,实在是不太明白。非常感谢您的解答!


大侠,谢谢您的解答!但是我还是不太明白。我的timing report中上面的clock的确是rising edge,但是在与门的A2端是falling edge啊,下面的与门A1端也是falling edge。这个不是满足与门的clock gating hold check吗?
实在是搞不懂这个,非常感谢您的帮助!

你这个报告中检查得很奇怪,查查你的约束,是不是对该路径设了“multi cycle”了?

约束上没有设什么multi cycle啊,时钟是这样设置的:
create_clock -period 7.4 -waveform {0 3.7} [get_ports {clk_main_128m}]
create_clock -name "clk_main_64m" -period 14.8 -waveform {3.7 11.1} [get_pins {clk_main_64m_reg/Q}]
不知道是什么问题,非常感谢您的解答!

把你的对同一path的setup检查报告贴上来看看呗?

應該要把combinational gating check arc disable掉


这条路径的setup余量还是蛮大的,但有的路径就是setup和hold不能平衡。
谢谢您的解答!

请问这是什么意思?这样做的原因是?
谢谢!

你的EN端前面没有latch,估计不是要CG的功能,出现毛刺可以不care,参照2楼~

哦,谢谢您耐心地解答!

是因为与门的输入端A2前面的DFF是使用了 : clock rising edge 触发的, 而与门另外一个输入端, 是相同的clock, 所以hold check一定会是有问题的,
如果前面的触发器是个 falling edge触发的话, 应该hold比较容易met了



哦,谢谢!
那您的处理方法是什么呢?
非常感谢!

先和前端的工程师确认是否要修,必须修的话建议gating 前插入latch,这样比较保险。

哦,谢谢您的解答!

不错不错,学习了

没有理解但是通常enable訊號的行為,會是一直拉住的所以你的hold time絕對會是沒問題的
翻了论坛的帖子,关于用latch+and自己搭的clock gating, 有的意见是对那个and单元set_disable_clock_gating_check,也有认为如果是真的路径是需要fix的。一头雾水

请教一下小编 最后怎么解决的

这个帖子有点久了,后来跟前端确认后,这不是真的violation,所以就disable了

最近碰到了这个问题,这个路径确实有问题,如果要fix,需要在data path加latch,下降沿触发应该就ok了,谢谢回复

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

网站地图

Top