一、ICG消除毛刺原理

Clock gating cell 可以由与门或者或门构成,但是使用这两者会产生Glitch,因此目前都采用ICG(Integrated clock gating cell),其结构如下

ICG由一个latch(低电平有效)和一个与门(gating cell,也可以是或门)组成。ICG 可以过滤掉en信号中的毛刺信号,其原理如下:
对于毛刺信号Glitch,大概可以分为两种情况:

1.en信号中的毛刺出现在clk低电平期间,如下图所示


由上图可以发现,en信号在clk低电平期间产生了毛刺,并且该latch是低电平有效,所以会采集到该毛刺信号,如信号enl中所示,但是由于该ICG的gating cell采用的是与门,此时clk为低电平,即使enl有毛刺信号,也不能通过与门,因此该毛刺信号被过滤。

**2.en信号出现在clk高电平期间,如下图所示


由于ICG中的latch是低电平有效,所以在clk高电平期间,latch采集不到en中的毛刺信号,因此该毛刺信号被过滤掉了。
综合以上,可以发现,无论en中的毛刺信号出现在clk低电平或者是高电平期间,ICG可以有效过滤掉en信号中的毛刺,得到好的clk波形!具体的ICG电路及其波形图如下所示

这里也需要注意最重要的一点:
Clock gate不能对clock的信号波形做任何改变,只能对clock做开关处理!

二、Clock-Gating Timing

Gating cell 可以采用与门或者或门,下面分别就两种情况的Timing进行分析!

1.AND Gating cell

采用与门作为gating cell的结构如下图所示

为了保证得到的clock信号是稳定的,必须对gating cell 的input端做setup 和hold check!

首先是对uncontrolling value 和controlling value的解释。
图中CLK 的 uncontrolling value为1,对于一个gating cell,我们的目标是让ENL信号来控制clock的开关, 当CLK为1时,此时该gating cell的输出端 ENCLK 则由ENL控制。ENL为0时ENCLK为0,ENL为1时ENCLK为1;而CLK为0时,由于gating cell是与门,无论ENL信号取高取低,其输出都是0,实际上是由CLK信号控制,与我们最初的让ENL信号控制不一致,所以称为controlling value.

而setup check指的是ENL信号要在clock信号变为uncontrolling value前一段时间就保持稳定值不变,hold check指的则是让ENL信号在CLK信号变回controlling value后仍要保持一段时间稳定值不变!

或门的情况类似,就是CLK的uncontrolling value和controlling value与与门相反,如下图所示,不再做过多解释!

Clock Gating cell 与 Integrated Clock Gating cell(ICG)相关推荐

  1. 【Matlab】删除cell中所有的空白cell

    删除cell中所有的空白cell. A是3*5的cell数组,包含空白cell A(cellfun(@isempty,A))=[]

  2. 【Matlab】删除cell中所有的空白cell.

    删除cell中所有的空白cell. A是3*5的cell数组,包含空白cell A(cellfun(@isempty,A))=[]

  3. linux clock头文件,Linux common clock framework(1)_概述

    Linux common clock framework(1)_概述 作者:wowo 发布于:2014-10-20 23:06 分类:电源管理子系统 1. 前言 common clock framew ...

  4. POI拆分单元格,并设置拆分后第一个cell的值为空cell的值

    // 从第A7开始,拆分单元格CellReference ref = new CellReference("A7");//遍历sheet中的所有的合并区域for (int i = ...

  5. 系统时钟(System Clock)和硬件(Real Time Clock)

    Linux将时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟两种. 系统时间是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电 ...

  6. Integrated Clock Gating (ICG)

    什么是ICG? 在时序级的设计中,我们经常遇到这样的情况:电路存在一个使能信号E,当使能信号无效时,输出保持.我们通常的做法是使用一个Mux来对输入进行选择(下图左侧).在综合阶段,可以通过选项将该类 ...

  7. 这个能快速发表Cell,Nature,Molecular cell的分析技术你要错过吗?

    动物单细胞的研究有将近10年了,每年都是CNS的常客.在国内形成了北汤南郭的局面,一个是单细胞转录组的世界第一人,一个促成了单细胞从追求深度到追求数量的转变.具体见Hemberg-lab单细胞转录组数 ...

  8. matlab cell取一列,MATLAB cell struct

    CELL cell的每个单元都可以存储任何数据,比如传递函数等.当然,存储矩阵更是没有问题的了.但是用cell数据类型之前,要先初始化.a=cell(n,m) 那么就把a初始化为一个n行m列的空cel ...

  9. vant在cell中加表格_Vant Cell 单元格

    引入import Vue from 'vue'; import { Cell, CellGroup } from 'vant'; Vue.use(Cell); Vue.use(CellGroup); ...

最新文章

  1. C++中的hash_map和map的区别
  2. java统计文本中英文单词个数split_零基础入门NLP - 新闻文本分类Task2(天池入门赛)...
  3. 皁新哪学计算机好,北京科技大学计算机基础模拟AB .doc
  4. @requestparam @param @pathvariable @requestbody的区别
  5. python对excel读写操作
  6. 【带书签】零基础学SQL.pdf(孙浏毅 等著) 下载
  7. SQL Server忘记密码后成功重置密码的方法
  8. easypoi excel:Cannot add merged region X to sheet because it overlaps with an existing merged region
  9. elemen-ui表格默认样式的修改
  10. CentOS 6.5下安装Confluence 5.4
  11. Tensorboard无法显示图片
  12. python怎么绘制饼图_Matplotlib绘制饼图
  13. python中秋月饼
  14. 基于JAVA高校社区生鲜配送系统计算机毕业设计源码+数据库+lw文档+系统+部署
  15. LWN:使用Rust实现OpenPGP,这就是Sequoia项目!
  16. Spark Submit提交及参数调优
  17. 笔记本损耗60 计算机提示,无需第三方软件,查看笔记本电脑电池损耗程度的方法...
  18. SVN使用教程(Linux)
  19. 小学美术计算机教案模板,小学美术教案模板5篇
  20. java毕业设计消防安全应急培训管理平台源码+lw文档+mybatis+系统+mysql数据库+调试

热门文章

  1. Linux(Ubuntu22.04)安装LAMP
  2. Image Printing Program Based on Halftoning
  3. 三菱Q系列PLC报错LINK PARA ERROR 链路连接参数异常
  4. 【Kivy】图形绘制(七)
  5. iOS仿UC浏览器顶部频道滚动效果
  6. GMIC秒拍移动视频峰会|行业大咖齐聚,畅谈短视频平台力量
  7. Ip2region 离线IP地址定位库和IP定位数据管理框架
  8. MySQL根据生日计算年龄
  9. c语言手机通讯系统报告书,定稿毕业论文_C语言_手机通讯录管理系统设计最终定稿(范文1)...
  10. ZOJ 3323Somali Pirates