在线咨询 切换到宽版
eetop公众号 创芯大讲堂 创芯人才网

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜帖子
查看: 6307|回复: 6

[求助] 求clock_gating导致的保持时间违例的解决办法

[复制链接]
发表于 2017-3-2 15:46:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
本帖最后由 1027199631 于 2017-3-2 19:44 编辑

本人使用的是0.35um的工艺库,为了降低动态功耗在DC阶段使用compile -gate_clock插入了门控时钟(库中没有集成型的,此门控时钟的锁存器和与门是分开的),在ICC阶段,执行完CTS后报告时序,结果如下:


min_delay/hold ('clk' group)

                                                                            Required      Actual

   Endpoint                                                            Path Delay   Path Delay        Slack

   ----------------------------------------------------------------- -----------------------------   

chip/M3/A2/clk_gate_dout_tem_reg/main_gate/A1      53.53       3.13 r       -50.39  (VIOLATED)

chip/clk_gate_ACRR_reg/main_gate/A1                       53.24       2.98 r       -50.26  (VIOLATED)

chip/clk_gate_dataout_reg/main_gate/A1                    53.24       2.98 r       -50.26  (VIOLATED)

chip/clk_gate_REGB_reg/main_gate/A1                       53.20       2.98 r       -50.22  (VIOLATED)

chip/clk_gate_r_dor_reg/main_gate/A1                       53.24       3.02 r       -50.22  (VIOLATED)

chip/clk_gate_wr_reg/main_gate/A1                           53.24       3.05 r       -50.18  (VIOLATED)

chip/clk_gate_shift_reg_reg/main_gate/A1                  53.20       3.04 r       -50.16  (VIOLATED)

chip/M8/clk_gate_out_temp_reg/main_gate/A1           53.18       3.14 r       -50.04  (VIOLATED)

chip/M8/clk_gate_FSR_reg/main_gate/A1                   52.86       2.98 r       -49.88  (VIOLATED)

chip/M8/clk_gate_OCC_reg/main_gate/A1                  52.83       2.98 r       -49.85  (VIOLATED)

chip/M8/clk_gate_den_temp_reg/main_gate/A1          52.86       3.06 r       -49.81  (VIOLATED)

chip/M8/clk_gate_num_temp_reg/main_gate/A1         52.83       3.08 r       -49.76  (VIOLATED)

chip/clk_gate_REG_reg/main_gate/A1                        52.54       2.96 r       -49.58  (VIOLATED)

chip/M8/clk_gate_data_GCC_temp_reg/main_gate/A1 52.54       2.99 r        -49.55  (VIOLATED)


由上可知,门控时钟与门A1(与锁存器Q相连)存在很大的保持时间违例。目前尝试让锁存器跟与门尽量靠近,锁存器EN端尽量离各锁存器最近,且将它们固定,但是CTS后的违例依旧没有减小。问:在不插入大量缓冲器的情况下,如何减小这类保持时间违例?

                              

 楼主| 发表于 2017-3-2 19:46:25 | 显示全部楼层
回复 1# 1027199631

顶顶顶
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-3 10:19:25 | 显示全部楼层
回复 3# idanceu

我找到的原因是A2与EN在CTS之后,A2端插入了好几个buffer,且两端口连在同一主时钟的不同支路上面。CTS前后连接关系分别如下图所示: 截图00.bmp

截图01.bmp

本人尝试过在CTS之前,将此clock_gate设置为dont_touch属性,但是CTS之后的结果仍旧一样。问:怎样才能使其CTS之后EN端仍和A2端相连?又或者,是否可以在布线之后手动更改网表使EN端直接与A2端连在一起?如果可以,又该使用何指令呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-3 12:14:35 | 显示全部楼层
发现新问题:设计中有个名为POL的端口,在默认状态下,POL=1,所以在约束时使用set_case_analysis POL 1;当POL=0时,主时钟反相。在CTS之前执行remove_case_analysis -all ;CTS之后出现上述时序问题,此时我再set_case_analysis POL 1,则时序违例目前最大为0.74ns(复位路径上的) ; 再执行remove_case_analysis -all,再执行set_case_analysis POL 0,则没有时序违例了。上述两种情况都没有了clock_gate上的时序问题,问:这是什么原因造成的?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

手机版| 小黑屋| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-9-13 03:32 , Processed in 0.017047 second(s), 5 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表