0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是门控时钟 门控时钟降低功耗的原理

FPGA之家 来源:CSDN技术社区 作者:Arist9612 2021-09-23 16:44 次阅读

门控时钟的设计初衷是实现FPGA的低功耗设计,本文从什么是门控时钟、门控时钟实现低功耗的原理、推荐的FPGA门控时钟实现这三个角度来分析门控时钟。

一、什么是门控时钟

门控时钟技术(gating clock) 是通过在时钟路径上增加逻辑门对时钟进行控制,使电路的部分逻辑在不需要工作时停止时钟树的翻转,而并不影响原本的逻辑状态。在ASIC和FPGA设计中都存在门控时钟的概念(前者应用更广)。

典型的门控时钟逻辑如下图所示:

a7840c72-1016-11ec-8fb8-12bb97331649.png

二、门控时钟降低功耗的原理

1. FPGA功耗分类

静态功耗:静态功耗又叫泄漏功耗,它是指电路处于等待或不激活状态时-泄漏电流所产生的功耗。通常由FPGA制造工艺的优化而提升。同一代的FPGA产品中,也有专门的低功耗版本(譬如Intel开发的Cyclone10 GX与Cyclone 10 LP,后者为低功耗版本low power但前者性能更强)。可以在FPGA选型时加以考虑。

动态功耗:是指电容充放电功耗和短路功耗,是由电路的翻转造成的。FPGA中的动态功耗主要体现在元件的电平翻转时对负载电容的充放电及时钟的翻转。

2. 为什么门控时钟可以降低功耗

当系统中某模块电路完成既定任务后(譬如TDC中对BIN的标定等初始化类任务),通过门控时钟使能信号的控制,使得驱动该模块的时钟停止翻转,相应的时序元件不再更新,那么其间的组合逻辑也恢复到静态。此时该模块的功耗相当于静态功耗,从而降低了整个系统的功耗。

三、不合理的门控时钟设计

1.伪门控时钟

如下图所示,设计中有意识地使用使能信号,意图维持寄存器的数据。但是仅对寄存器组的数据输入端添加选择器和使能信号,并不妨碍寄存器组时钟输入端的翻转,输出维持不变只是因为存在反馈回路在不断的进行使能判断、输出、使能判断、输出的循环。实则并没有起到低功耗的作用。

当然某些情况下确实需要用到这种设计,此处仅用来和门控时钟做区分,避免混淆。

2.直接门控时钟

将使能信号直接连接在AND门,结构简单。不足之处在于产生使能信号的组合逻辑的毛刺将完全地反应到AND门,造成门控时钟输出质量变差(clk_en将会有占空比不良和毛刺等情况)。

四、推荐的门控时钟设计

1.基于锁存器的门控时钟

锁存器是电平敏感的元件,此图中当CLK信号为低电平时,锁存器透明,EN端数据直接传输至AND门的一端(ENL),AND门另一端连接CLK。

当产生使能信号的组合逻辑不复杂时,产生使能信号的时间小于半个时钟周期。在CLK高电平时,锁存器的引入有效地过滤了前段组合逻辑竞争冒险产生的毛刺;在时钟低电平时,前段组合逻辑的毛刺将受到AND门控制将无法输出。较好地实现了门控时钟的要求。

a7dda426-1016-11ec-8fb8-12bb97331649.png

当产生使能信号的组合逻辑复杂时,产生使能信号的时间大于半个时钟周期。考虑锁存器的延时,那么对于首个ENCLK周期而言,占空比将被削减;当EN信号拉低时,则有可能产生毛刺。均不利于后续寄存器组的时序过程。

a7eaac34-1016-11ec-8fb8-12bb97331649.png

这种情况难以通过在锁存器前端加同步寄存器避免,因为此时的使能信号是不满足寄存器的建立时间的,大概率会产生亚稳态现象。因此产生门控使能信号的组合逻辑应当尽可能简化,保证在半个时钟周期之内得到稳定电平。

保险起见,一方面,保证使能信号半周期确定;另一方面,在锁存器之前加一级上升沿触发的寄存器,过滤输入锁存器的信号。

2.基于寄存器的门控时钟

上面介绍的基于锁存器的门控时钟实际上更适合在ASIC中实现,一方面FPGA中没有专门的锁存器资源,需要利用其中的组合逻辑资源外加寄存器来等效地实现,不经济;另一方面,锁存器本身的特性没法进行静态时序分析,出问题了不易排查。

真正适合在FPGA中实现的是基于寄存器的门控时钟,如下图所示。

a7f33a48-1016-11ec-8fb8-12bb97331649.png

前段使用加法器产生计数值,通过比较器产生使能信号,送入使能寄存器。值得注意的是,前端产生使能逻辑时序元件是上升沿触发,而使能寄存器是下降沿触发。如此一来,同样需要满足产生使能信号的组合逻辑简单这一前提要求(半周期内达到en寄存器的建立时间)。好处在于,AND门时时刻刻都只有一个输入在变,不容易产生毛刺。时序图如下:

a7fc7dec-1016-11ec-8fb8-12bb97331649.png

为了便于理解,此处给出若使能寄存器也是上升沿触发的时序图:

a80e4aa4-1016-11ec-8fb8-12bb97331649.png

可见,AND门变化时两个个输入在变,容易产生毛刺。

五、讨论

只有当FPGA工程需要大量降低功耗时才有必要引入门控时钟,若必须引入门控时钟,则推荐使用基于寄存器的门控时钟设计。

在时钟树的枝干处使用门控,而不是在枝丫处使用门控。

使用门控时,应该注意时钟的质量(使用专用时钟网络),毕竟好的时钟才能产生好的使能信号和门控时钟信号。同时,产生使能信号的逻辑不能太复杂,确保可以满足使能寄存器的建立时间和保持时间。

与或门控输出的时钟信号,需要在timeanalyzer中设置为base clock。否则将会引入人为的时钟偏斜。如下,将会以没有使能寄存器的门控路径作为最短分析路径,以有寄存器的路径作为最长路径分析。

a81a1e4c-1016-11ec-8fb8-12bb97331649.png

In certain cases, converting the gated clocks to clock enables may help reduce glitch and clock skew, and eventually produce a more accurate timing analysis. You can set the Quartus II software to automatically convert gated clocks to clock enables by turning on the Auto Gated Clock Conversion (在综合的设置里面)option. The conversion applies to two types of gated clocking schemes: single-gated clock and cascaded-gated clock

类似地,产生门控时钟信号最好只有一个两输入AND门(OR门)。附加逻辑越多,产生毛刺可能性越大。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1599

    文章

    21278

    浏览量

    592839
  • 门控时钟
    +关注

    关注

    0

    文章

    27

    浏览量

    8895
  • CLK
    CLK
    +关注

    关注

    0

    文章

    122

    浏览量

    16901

原文标题:FPGA设计之门控时钟

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何利用RTC秒上升沿的原理设计一种低功耗、高精确时钟同步方案

    时钟同步的应用涵盖通信、交通、电力、视频、医疗、金融、教育等领域,在低功耗的设备上提高时钟的同步精度具有较高的应用价值。
    的头像 发表于 03-26 18:20 588次阅读
    如何利用RTC秒上升沿的原理设计一种<b class='flag-5'>低功耗</b>、高精确<b class='flag-5'>时钟</b>同步方案

    电源门控单元的实现原理

    标题为“电源门控”的文章演示了电源门控单元的实现以及它如何帮助最大限度地减少 SoC 的泄漏功耗。其基本原理是切断从电池(VDD)到接地(GND)的直接路径。虽然有效地节省泄漏功率,实施讨论遭受
    的头像 发表于 01-08 12:27 204次阅读
    电源<b class='flag-5'>门控</b>单元的实现原理

    XOR自门控时钟门控的不同之处

    时钟XOR自门控(Self Gating)基本思路和时钟门控类似,都是当寄存器中的数据保持不变时,通过关闭某些寄存器的时钟信号来
    的头像 发表于 01-02 11:34 489次阅读
    XOR自<b class='flag-5'>门控</b>与<b class='flag-5'>时钟</b><b class='flag-5'>门控</b>的不同之处

    基于RA6M5开发板的低功耗电子时钟设计

    本项目是基于启明RA6M5开发板搭载2.4寸液晶屏的电子时钟,该电子时钟有两个模式——正常模式和低功耗模式,可以通过开发板的按键改变时钟模式。
    的头像 发表于 12-25 12:26 484次阅读
    基于RA6M5开发板的<b class='flag-5'>低功耗电子时钟</b>设计

    FSMs低功耗设计

    低功耗设计是当下的需要!这篇文章:低功耗设计方法论的必要性让我们深入了解了现代设计的意图和对功耗感知的需求。在低功耗方法标签下的时钟
    的头像 发表于 10-17 10:41 334次阅读
    FSMs<b class='flag-5'>低功耗</b>设计

    智能浇水时代——4G无线阀门控制器!

    4G无线阀门控制器又叫无线阀门开关,是一款基于4G网络(兼容2G/3G)的阀门控制设备,通过4G联网,可远程控制智能灌溉节点水阀门的开和关,根据不同农作物实现不同灌溉作业。无线阀门控制器采用
    的头像 发表于 08-17 14:53 492次阅读
    智能浇水时代——4G无线阀<b class='flag-5'>门控</b>制器!

    FreeRTOS如何降低功耗

    。FreeRTOS 就是通过在处理器处理空闲任务的时候将处理器设置为低功耗模式来降低能耗。一般会在空闲任务的钩子函数中执行低功耗相关处理,比如设置处理器进入低功耗模式、关闭其他外设
    的头像 发表于 07-30 11:18 673次阅读

    低功耗门控时钟设计

    clock gating和power gating是降低芯片功耗的常用手段,相比power gating设计,clock gating的设计和实现更为简单,多在微架构、RTL coding阶段即可
    的头像 发表于 06-29 17:23 2167次阅读
    <b class='flag-5'>低功耗</b>之<b class='flag-5'>门控</b><b class='flag-5'>时钟</b>设计

    门控时钟低功耗在Placement阶段有什么技巧?

    门控时钟技术可以用来降低电路的动态功耗,且在一定程度上能减小电路的面积。
    的头像 发表于 06-29 16:45 720次阅读
    <b class='flag-5'>门控</b><b class='flag-5'>时钟</b><b class='flag-5'>低功耗</b>在Placement阶段有什么技巧?

    为什么需要时钟门控时钟门控终极指南

    时钟门控(Clock Gating)** 是一种在数字IC设计中某些部分不需要时关闭时钟的技术。这里的“部分”可以是单个寄存器、模块、子系统甚至整个SoC。
    的头像 发表于 06-29 15:58 1096次阅读
    为什么需要<b class='flag-5'>时钟</b><b class='flag-5'>门控</b>?<b class='flag-5'>时钟</b><b class='flag-5'>门控</b>终极指南

    什么是时钟门控技术?为什么需要控制时钟的通断呢?

    开始之前,我们首先来看一下什么是时钟门控(clock gating)技术,顾名思义就是利用逻辑门技术控制时钟的通断。
    的头像 发表于 06-29 15:38 1355次阅读
    什么是<b class='flag-5'>时钟</b><b class='flag-5'>门控</b>技术?为什么需要控制<b class='flag-5'>时钟</b>的通断呢?

    芯片设计进阶—门控时钟

    芯片功耗组成中,有高达40%甚至更多是由时钟树消耗掉的。这个结果的原因也很直观,因为这些时钟树在系统中具有最高的切换频率,而且有很多时钟buffer,而且为了最小化
    发表于 06-29 15:33 1671次阅读
    芯片设计进阶—<b class='flag-5'>门控</b><b class='flag-5'>时钟</b>

    门控时钟检查(clock gating check)的理解和设计应用

    通过门控方式不同,一个门控时钟通常可以分为下面基类,
    的头像 发表于 06-19 16:49 1648次阅读
    <b class='flag-5'>门控</b><b class='flag-5'>时钟</b>检查(clock gating check)的理解和设计应用

    FPGA原型平台门控时钟自动转换

    现代FPGA综合工具会自动执行门控时钟转换,而无需更改RTL代码中的设计,然而,我们可能需要适当地手动指导综合工具执行门控时钟变换。
    的头像 发表于 05-23 17:38 1062次阅读
    FPGA原型平台<b class='flag-5'>门控</b><b class='flag-5'>时钟</b>自动转换

    FPGA原型验证系统的时钟门控

    门控时钟是一种在系统不需要动作时,关闭特定块的时钟的方法,目前很多低功耗SoC设计都将其用作节省动态功率的有效技术。
    的头像 发表于 04-20 09:15 808次阅读