门控时钟介绍

功耗是芯片设计中非常重要的一个指标,研究表明,在芯片功耗的组成中,有高达40%甚至更多是由时钟树消耗掉的。这个结果的原因也很直观,因为这些时钟树在系统中具有最高的切换频率,而且有很多时钟buffer,而且为了最小化时钟延时,它们通常具有很高的驱动强度。此外,即使输入和输出保持不变,接收时钟的触发器也会消耗一定的功耗。而且这些功耗主要是动态功耗。 减少时钟网络的功耗消耗,最直接的办法就是在不需要时钟的时候,把时钟关掉。这种方法就是所谓的门控时钟clock gating

门控时钟类别

1.与门门控

最简单的方法,就是将时钟信号和一个使能信号相与,这样,当使能信号为高电平时,时钟正常工作,低电平时,时钟被关闭,从而起到降低功耗的效果,其电路图如下所示

但是,这么做是有危险的。由于EN信号不受任何控制,因此很容易产生毛刺,下面是一个例子

可以看到,如果EN信号在时钟为高电平期间产生毛刺,那么相应的输出GCLK也会产生毛刺。而时钟信号产生这种毛刺是十分危险的,会造成预想不到的结果。

锁存门控

锁存门控时钟的电路图如下所示

我们结合与门门控刚刚那个例子来进行分析(下图)

1.当CLK信号为低电平时,锁存器的EN信号为高(注意EN的输入端有个非门),此时Q=EN(这个EN是外界输入的EN),但由于CLK为低,因此GCLK也为低,即CLK信号低电平时,输出GCLK恒等于CLK。
2.当CLK信号为高电平时,锁存器的EN信号为低,锁存器保存之前的值(上图中是1),因此Q=1,所以GCLK=1&CLK=CLK,可以看到,尽管EN信号毛刺,但GCLK不受毛刺的影响。
当EN信号一段时间稳定下来为低时,Q最终也会变为低,从而GCLK恒为0,时钟被关闭了
虽然这个电路消除了毛刺的影响,但还存在着一些问题。我们看下面这个情景

在上半张图中,CLK@A和CLK@B之间存在时钟偏移(skew),锁存器的输入和输出之间也存在延时(delay),因此会造成GCLK产生毛刺。下半张图也是类似的分析方法。

寄存门控

还有一种方式就是使用寄存器对EN信号打一拍。如下图所示

来看波形图

CLKA的第四个上升沿,采样到EN信号为高,因此EN1信号拉高(图中有误),EN1再和CLKB相与,得到GCLK。除非CLKB上升沿提前CLKA很多,快半个周期,才会出现毛刺,而这种情况一般很难发生。在上图中,CLKB比CLKA迟到(这是绝大多数情况),因此不会出现毛刺。

总结

经过上面的分析,我们知道,可以采用与门门控、锁存门控和寄存门控来进行时钟门控,以此降低功耗。那么到底采用哪一种门控时钟的结构呢?通过分析,我们大概会选择寄存器结构的门控时钟,这种结构比锁存器结构的问题要少,只需要满足寄存器的建立时间就不会出现问题。
然而,在实际情况下,SOC芯片设计中使用最多的却是锁存结构的门控时钟。
原因如下:在实际的SOC芯片中,要使用大量的门控时钟单元。所以通常会把门控时钟做出一个标准单元,有工艺厂商提供。那么锁存器结构中线延时带来的问题就不存在了,因为是做成一个单元,线延时是可控和不变的。而且也可以通过挑选锁存器和增加延时,总是能满足锁存器的建立时间,这样通过工艺厂预先把门控时钟做出标准单元,这些问题都解决了。而虽然寄存门控也能达到这个效果,但是由于一个DFF是由两个锁存器组成的,采用锁存器组成门控时钟单元,可以节省一个锁存器的面积。当大量的门控时钟插入到SOC芯片中时,这个节省的面积就相当可观了。

【数字IC/FPGA】门控时钟相关推荐

  1. (127)FPGA面试题-介绍FPGA 门控时钟

    1.1 FPGA面试题-介绍FPGA 门控时钟 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试题-介绍FPGA 门控时钟: 5)结束语. 1.1.2 本节引 ...

  2. clock gating门控时钟

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

  3. 面试准备FPGAor数字IC(三)-边沿检测、门控时钟、单双口RAM、亚稳态等

    边沿检测 思路:每个时钟的上升沿寄存数据,然后在每个时钟的上升沿判断 比如上升沿检测:a_n &&!a;下降沿检测!a_n && a; Verliog: module ...

  4. 【数字IC基础】降动态功耗(降时钟翻转频率):门控时钟(clock gating)

    文章目录 十五.门控时钟(clock gating)!!! 15.1.概念 15.2.锁存时钟与门控电路 15.3.锁存时钟或门控电路 15.4.寄存时钟与门控电路 15.5.时钟门控的RTL代码编写 ...

  5. 【 FPGA 】门控时钟专题

    目录 门控时钟定义? 到底要不要使用门控时钟? 门控时钟降低功耗的原理? 门控时钟设计原理? 参考文献: 门控时钟定义? 门控时钟,指的是由组合逻辑产生的时钟,其中,组合逻辑的输入可以全部是数据信号, ...

  6. 搭建IC设计EDA虚拟机服务器,忆往昔--集成门控时钟技术的前世--分离门控时钟技术...

    本文转自:自己的微信公众号<集成电路设计及EDA教程> <忆往昔--集成门控时钟技术的前世--分离门控时钟技术> 多种门控时钟实现方案: Design Compiler中已经集 ...

  7. Verilog基础知识3(门控时钟及FPGA时钟使能处理)

    需求说明:Verilog设计 内容       :第一部分  门控时钟                   第二部分  门控时钟和时钟使能的理解(附代码) 来自       :时间的诗 第一部分  门 ...

  8. (176)FPGA与门实现门控时钟原理

    (176)FPGA与门实现门控时钟原理 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA与门实现门控时钟原理: 5)结束语. 1.1.2 本节引言 "不 ...

  9. 数字IC/FPGA面试笔试准备(自用填坑中)

    文章目录 前言 常见的IC问题 数字电路基础问题 Verilog & SV 跨时钟域信号处理类 CRG 同步与异步复位 综合与时序分析类 低功耗方法 STA(静态时序分析) RTL设计(包含手 ...

最新文章

  1. Relay IR表示
  2. 获得jar包存放路径的方法
  3. 通信 / HTTPS 过程详解
  4. twitter集成第三方登录是窗口一直出现闪退的解决方法
  5. java可视化压缩_web可视化技术发展(1/6)
  6. 开发应用层的需要了解 framework层吗?---不需要!!!!
  7. php 删除最后一个空数组,php删除空数组
  8. 如何通过Keras来掌握深度学习
  9. 苹果Mac仿windows10任务栏工具:​​​​​​​​uBar
  10. matlab中的状态空间模型,状态空间模型matlab
  11. Mstar 平台(648)唤醒之串口唤醒
  12. 计算某年母亲节是哪一天
  13. 被晨光搁浅的誓言无声
  14. 鸟瞰Atlassian认证
  15. Python 入门-Task1 变量、运算符、数据类型及位运算
  16. 数据挖掘:概念与技术 第五章-数据立方体技术
  17. 开启子进程的两种方法
  18. 计算机c盘应该装什么区别,电脑的c盘和d盘有什么区别吗
  19. linux系统怎么远程进服务器
  20. win10/win11系统安装Tensorflow-GPU

热门文章

  1. 常见的HTTP状态码(HTTP Status Code)说明
  2. 算法:求小于N的最大素数
  3. ANDROID – 單色漸層效果的改良 – GRADIENT SCRIMS(转)
  4. C语言指针学习与使用
  5. react移动端登录(第三方登录)和个人执行实现
  6. php活体检测,活体检测
  7. 查看linux设备Ran的大小,linux – 来自/ dev / zero和/ dev / urandom的不同文件大小
  8. java爬虫京东商品,Java爬虫实现爬取京东上的手机搜索页面 HttpCliient+Jsoup
  9. 树莓派python控制两个舵机_利用树莓派,光敏电阻和小型舵机实现自动获取 《最终幻想 X HD重制版》 连续避雷200次奖杯...
  10. 校园网、CMCC自动登录