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

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 6633|回复: 6

[求助] 非ICG的clock_gate timing check问题

[复制链接]
发表于 2016-7-5 16:19:53 | 显示全部楼层 |阅读模式

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

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

x
由于工艺库不提供ICG单元,clock_gate是通过“latch+and”实现的,但用DC工具对该clock_gate的timing check遇到一些问题
    首先,约束里设置了set_clock_gating_check命令,DC会查两条timing arc:
          a、DFF/q(ck) ----> latch/en的timing arc  (称为“a路径”)            b、latch/q(ck)   -----> and/a的timing arc  (简称“b路径”)
     DC工具在一般情况下会正常check上述两个路径,但遇到如下两个不理解的地方:


     1、若clock_gate的输出时钟没有接任何DFF(后面接了一个或门),这个clock_gate的“b路径”不会检查,即便我设置了
          set_clock_gating_check [get_cells  **/latch]

          set_clock_gating_check [get_cells  **/and]   
          set_clock_gating_check [get_pins  **/and/a(b)()]  

          set_clock_gating_check [get_clk  clk_name]
          这些命令都不起作用。
          我后来有尝试在该clock_gate后加上一些DFF而不接或门,这个clock_gate的“b路径”就顺利check了。



     2、“a路径”的hold检查也比较奇怪,由于用到的latch是高电平有效,所以在latch clk端加了INV,时钟周期是18ns,为什么时钟开始都加上了一个时钟周期呢?


  Startpoint: clkgen_inst/clkgen_maindiv_inst/clkmux_inst/clk2_flop_d2_reg
              (rising edge-triggered flip-flop clocked by clk_div)
  Endpoint: clkgen_inst/clkgen_maindiv_inst/clkmux_inst/clkgate_clk2/latch_dont_touch_inst
            (positive level-sensitive latch clocked by clk_div')
  Path Group: clk_div
  Path Type: min


  Point                                       Fanout     Trans      Incr       Path
  ------------------------------------------------------------------------------------
  clock clk_div (rise edge)                                         18.00      18.00
  clock network delay (ideal)                                      0.00      18.00
  clkgen_inst/clkgen_maindiv_inst/clkmux_inst/clk2_flop_d2_reg/cp (dffs2x)
                                                                    0.00      0.00      18.00 r
  clkgen_inst/clkgen_maindiv_inst/clkmux_inst/clk2_flop_d2_reg/q (dffs2x)
                                                                    0.12      0.67      18.67 r
  clkgen_inst/clkgen_maindiv_inst/clkmux_inst/clk2_flop_d2 (net)
                                                                        2       0.00      18.67 r
  clkgen_inst/clkgen_maindiv_inst/clkmux_inst/clkgate_clk2/en (clkgate_0)
                                                                                 0.00      18.67 r
  clkgen_inst/clkgen_maindiv_inst/clkmux_inst/clkgate_clk2/en (net)
                                                                                 0.00      18.67 r
  clkgen_inst/clkgen_maindiv_inst/clkmux_inst/clkgate_clk2/latch_dont_touch_inst/d (latch)
                                                                     0.12      0.00      18.67 r
  data arrival time                                                                   18.67


  clock clk_div' (fall edge)                                          18.00      18.00
  clock network delay (ideal)                                        0.00      18.00
  clock uncertainty                                                        1.50      19.50
  clkgen_inst/clkgen_maindiv_inst/clkmux_inst/clkgate_clk2/latch_dont_touch_inst/cp (latch)
                                                                                    0.00      19.50 f
  library hold time                                                         -0.46      19.04
  data required time                                                                     19.04
  ------------------------------------------------------------------------------------
  data required time                                                                    19.04
  data arrival time                                                                     -18.67
  ------------------------------------------------------------------------------------
  slack (VIOLATED)                                                                     -0.37


第一次用 latch+and 自己搭建clock_gate,望能有大神相助,小弟不胜感激!!
 楼主| 发表于 2016-7-5 16:20:40 | 显示全部楼层
自己顶一下
发表于 2016-7-6 10:59:02 | 显示全部楼层
DFF使用下降沿抓过en后,再使用and来门控,只对and做clock gating check即可,好过用latch和and来搭建,DFF时序分析比latch方便。
 楼主| 发表于 2016-7-7 11:20:05 | 显示全部楼层
回复 3# 杰克淡定
  
    使用DFF+and后,通过设置set_clock_gating_check [get_cells  **/and] 命令来check AND门上的timing吗?
发表于 2016-7-7 20:14:11 | 显示全部楼层
自己顶一下
发表于 2018-6-18 22:25:54 | 显示全部楼层
clock gate 后面没有dff ,这个gate 是怎么加上去的? 门控本来就是加在 dff 的时钟上的。
发表于 2018-9-13 11:16:43 | 显示全部楼层
1.the clock is not used as a clock after the gating cell, then no clock gating check is inferred.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-11-23 09:13 , Processed in 0.021748 second(s), 9 queries , Gzip On, Redis On.

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