对于现在design中例化好的icg以及工具插进去的icg,不存在clock gating check的问题,因为clock gating 搞成了一个lib cell,不再是latch加上与门的组合。不过design中除了这些icg,还有一些的clock gating check的出现,这些是designer有意或者无意的写法导致。下面介绍什么样的电路可能会被认为是clock gating
图1
如上图所示的为典型的clock gate电路。其中需要满足的几项条件:

  1. Gate cell的两个pin必须有一个流过clock
  2. clock pin流过clock必须是用作clock,后面drive了reg的cp端口,如果只是clock use as data那么不会被认为是clock gate check
  3. gate cell的两个pin不能同时为真的clock(2.所描述的clock为真的clock)如图2所示,这种情况不被认为是clock gating check
  4. 如果两个pin都是clock,只有一个流了下去,那么也可以认为是clock gating check,如图3所示,generated打断了一个clock的流通。

图2
图3
对于gate timing的检查。对于一个and门来说,一个en pin对一个clock pin进行gate,那么我们需要en pin在clock pin的低电平阶段变化,这样才不会影响最终的clock的输出信号。因为在clock的高电平处发生变化,可能会产生clock的毛刺出来,如图4所示。因此我们可以把AND和NADN门的gate check认为是高电平触发。同理OR或者NOR门的gate check认为是低电平触发。
图4
经过图4的分析,再看下面的例子就会很清晰了。途中是典型的and 门的clock gating 检查。我们期望enable数据在CLK的低电平区域内到达。
图5
图5
从波形中可以看到,CLK1的EN数据在8倒16s内到达,才不会对CLK2的时钟造成毛刺。而en的发送沿是CLK1的第一个上升沿,也就是0ns。因此可以得到hold 检查和setup检查。无论对于setup还是hold检查,都期望数据能够落到8-16ns内,因此当UFF发送数据的同时,对于hold来说在数据传递到UGAT的数据端口时候,期望CLK2已经在8ns处了,因此对于hold来说,有天然的8ns的clk path latency,非常不容易满足。而对于setup,只要数据送到UGAT的时间长度在16ns之前就可以,也就是setup有很大的裕度。
Hold的检查因为需要en在8s后到达and的en pin,所以有较大的vio。Setup则有较大的裕度。这个时候可以通过改变latch的采样方式,把相关的数据发送沿朝后推半个周期,这样setup和hold都更容易meet。如下图6所示
图6
此时UFF下降沿有效,那么UFF有效沿就在8ns处,此时只要满足UFF到UGAT的长度大于CLK2到UGAT的长度,就可以满足hold timing check。对于setup check,相应的裕度也变成了16-8=9ns

而关于OR门的gating 检查也是类似的情况,唯一需要注意的是我们期望en信号在clk的高电平还是低电平来,才不会对我们所需的clk产生毛刺。OR门的timing check不再赘述。

STA -- clock gating check相关推荐

  1. clock gating check

    在 sta 分析时,经常会碰到 clock gating cell (一般是 ICG cell 或者 latch)引起的 violation,这种 violation 很常见,而且往往很难修. 为什么 ...

  2. 静态时序分析—门控时钟检查(clock gating check)

    1.clock gating check的条件 一个非buffer/inverter的组合逻辑单元可以由gating控制信号控制其clock信号传递的时候,在STA时序分析时会将其作为clock ga ...

  3. 静态时序分析——Clock Gating check

    门控时钟是RTL级进行低功耗设计的最常用方法,能够有效降低动态功耗.在实际使用中,一般用ICG(集成门控时钟单元)来完成clock gating.ICG电路和时序如下: 通常来说,工艺库已经集成了IC ...

  4. lockup latch clock gating cell

    Latch功能 Latch的电路结构如下图: Latch电路结构 当 E = 1 时,latch直传(transparent),D端信号的变化会即时反应在Q端: 当 E = 0 时,latch关断(c ...

  5. 关于clock gating的 set_clock_gating_check

    在CTS和routing之后会出现 clock gating 的timing violation, 有两个命令: set_clock_gating_check  remove_clock_gating ...

  6. clock gating门控时钟

    在数字IC设计中,我们几乎都要用到门控时钟clock gating技术.使用门控时钟这种技术,我们可以改善电路的三个主要性能指标:速度,面积和功耗,特别是芯片的功耗.市场上主流的综合和静态时序分析工具 ...

  7. 秒杀数字后端实现中clock gating使能端setup violation问题

    秒杀数字后端实现中clock gating使能端setup violation问题 文章右侧广告为官方硬广告,与吾爱IC社区无关,用户勿点.点击进去后出现任何损失与社区无关. 点击标题下「蓝色微信名」 ...

  8. 静态时序分析-clock gating path的timing violation修复

    文章目录 1.clock gating cell 2.clock gating 的timing violation 1.clock gating cell clock gating cell 是用da ...

  9. Safe or Glitch-Free Clock Gating

    Following is an example of a way to perform glitch-free clock gating. The clock is stalled in the hi ...

最新文章

  1. Tensorflow安装与测试
  2. springboot幂等性_如何使用 SpringBoot + Redis 优雅的解决接口幂等性问题
  3. windows 环境下python 安装 pypcap 并用pyinstaller打包到exe,解决DLL 加载失败。
  4. ASP.NET Core 异常重试组件 Polly
  5. 该页面仅以HTML格式保存_第七节:框架搭建之页面静态化的剖析
  6. spring+cxf
  7. mysql 8 修改root密码忘记_忘记mysql8或者mariadb5及以上 的root密码如何更改
  8. VS2019 更新MSDN并创建快捷方式
  9. ztree判断是否是叶子节点
  10. Where does the error come from?----Bias and Variance
  11. python UI自动化(一)
  12. Access数据库实用教程-----创建更新查询
  13. 根据不同时区计算北京时间
  14. 线性空间----【1】n维向量的线性相关
  15. git commit时的几种指令
  16. 电子会计问题及Propects
  17. 几种查询局域网内在线弱电设备IP地址的方法,总有一款你会用的到
  18. 用户标签体系的搭建方法
  19. 南走1公里东走1公里北走1公里回原点
  20. wsl Failed to get D-Bus connection: Operation not permitted

热门文章

  1. TSI: Temporal Scale Invariant Network forAction Proposal Generation
  2. Ubuntu快速下载百度云文件
  3. arch linux (manjaro) 下运行tim和qq
  4. 无人驾驶技术有什么优点,人工驾驶的优缺点英文
  5. 通过Pinterest搜索推动购物热销
  6. 物联网卡怎么查流量,联通物联网卡查询流量
  7. 2022SDUT知到/智慧树----C语言第九章测试题解
  8. SCI(科学引文索引)、EI(工程索引)、ISTP(科技会议录索引)
  9. 小唐开始学 Spring Boot——(5)前端显示集成
  10. 同学聚会旧情复燃谁之过