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

通常来说,工艺库已经集成了ICG,在做门控时钟的时候其实不用考虑那么多。如果在实际设计中,工艺库未提供ICG,需要自己搭建一个门控时钟电路,那么在布局布线的时候可能要注意,不能将期间摆的太远,否则线延迟等会让这个结构失去其意义。

当门控信号控制了逻辑单元中时钟信号的路径时,我们会进行Clocl Gating check。我们根据下图了解一些定义,这样比较直观:

这里我们需要明确什么样的电路会被工具分析成为门控时钟:

  1. Gating cell的输出是作为时钟信号进行使用,即连接到了后级逻辑单元的时钟端口。
  2. Gating pin的输入非时钟信号;若Gating pin的输入为时钟信号,则其必须不连接后级逻辑单元的时钟端口。
  3. 对于上图简单的与门控制,工具可以较好的推断;但对于复杂结构,需要自己添加约束来进行检查。

运用提到的定义,对于上图来说,CLKB才是clock signal。接下来我们以这个电路为例看看如何进行clock gating check(对于这个与门来说,有些类似于data to data check):

首先定义两个时钟

create_clock -name CLKA -period 10 -waveform {0 5}  [get_ports CLKA]

create_clock -name CLKB -period 10 -waveform {0 5}  [get_ports CLKB]

我们要保证时钟切换的时候不能产生一些毛刺,也不能产生对时钟有影响的结果。对于此电路来说,gating cell是一个与门,那么gating pin的信号变化只能发生在clock pin的低电平状态。则setup check要求门控信号在时钟信号变高前变化;hold check要求门控信号只能在时钟下降沿之后进行改变。时序图如图,

gating pin的变化要落在5-10ns间,才能满足门控时钟的要求。

我们看看setup check的时序报告:

同样地,我们可以看看hold check的时序报告:

可以看到,在5ns时进行hold check是非常严苛的。由于gating signal的变化过于迅速,导致hold check失败。这个问题可以用我们前面提到的半周期进行处理。我们将寄存器的采样边沿改为负沿:

这样的话,gating signal在负沿launch,留给时序检查的周期就剩下了半个周期,较好满足hold time:

静态时序分析——Clock Gating check相关推荐

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

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

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

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

  3. STA -- clock gating check

    对于现在design中例化好的icg以及工具插进去的icg,不存在clock gating check的问题,因为clock gating 搞成了一个lib cell,不再是latch加上与门的组合. ...

  4. clock gating check

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

  5. 中set无效是怎么回事_静态时序分析圣经翻译计划——第十章:鲁棒性检查 (中)...

    10.5 时钟门控检查 当一个门控信号(gating signal)可以控制逻辑单元中时钟信号(clock signal)的路径时,将会执行时钟门控检查(clock gating check),一个示 ...

  6. 静态时序分析(STA)基本概念

    STA(Static Timing Analysis,静态时序分析)是时序分析方法中的一种,另一种叫时序仿真(Timing Simulation),不仅能验证时序还可以验证功能,时序分析通常指的就是这 ...

  7. clock gating门控时钟

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

  8. 免费课程推荐|数字集成电路静态时序分析基础

    讲师介绍: 邸志雄 博士,硕士研究生导师,西南交通大学信息学院电子工程系副系主任.CCF会员.中国图象图形学学会军民融合专委会成员.新工科联盟"可定制计算"专委会成员.研究方向为高 ...

  9. 关于clock gating的 set_clock_gating_check

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

最新文章

  1. MATLAB应用实战系列(七十六)-【仿真应用】卡尔曼滤波在雷达目标跟踪中的应用仿真(附matlab代码)
  2. 成功解决cv2.imwrite(filename, img)代码输出中文文件乱码的问题(cv2.imencode方法解决)
  3. 【学术相关】博士毕业也会看第一学历吗?
  4. linux踩内存内存越界,Linux如何调试内存泄漏?超牛干货奉献给你(代码全)
  5. 零基础学Java需知:Java小白入门解疑大全
  6. Android之开发性能优化简介
  7. 如何修改product base category
  8. [学习笔记] 单位根反演
  9. python中grid函数_python tkinter中的grid布局是什么?
  10. .NET框架程序设计
  11. OJ1114: 逆序(数组)(C语言)
  12. 谷歌开源 Python 代码漏洞查找工具 Atheris
  13. html标签非成对,深入document.write()与HTML4.01的非成对标签的详解
  14. 论文赏析[ACL18]直接到树:基于神经句法距离的成分句法分析
  15. SSM+Vue音乐在线试听网站系统java项目源码
  16. 重复代码检查工具Simian
  17. 生意参谋指数转化算法(2021最新)
  18. 虚幻4地形怎么增加层_虚幻周报20200512 | 该来的总会来的!
  19. ps4微软服务器地址,PSN服务更新 终于可以在PC上玩PS4游戏了!
  20. Latex如何在文本中插入数学符号

热门文章

  1. LT9211芯片简介
  2. 阿里面试官让我用Zk(Zookeeper)实现分布式锁
  3. Flash Builder4注册机
  4. 苹果8p电池多少毫安的_iphonexs电池多少毫安,iphonexs换电池多少钱
  5. Excel poi API基础教程!
  6. node爬虫_爬取斗图啦网站上的表情包
  7. qt获取系统打印机列表
  8. 管道摩擦系数数值求解的基础算法研究
  9. 驱动 -- 强制结束进程 -- 整理
  10. 模块式柔性自动化生产线实训系统