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
    +关注

    关注

    1624

    文章

    21597

    浏览量

    601008
  • 门控时钟
    +关注

    关注

    0

    文章

    27

    浏览量

    8932
  • CLK
    CLK
    +关注

    关注

    0

    文章

    127

    浏览量

    17093

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

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

收藏 人收藏

    评论

    相关推荐

    门控rs锁存器和触发器的区别是什么

    的存储和保持。它由两个交叉耦合的反相器和一个门控电路组成,可以实现对输入信号的控制和选择。 触发器(Flip-Flop)是一种具有两个稳定状态的存储元件,可以实现对输入信号的存储和翻转。它通常由两个交叉耦合的反相器和一个时钟信号控制,可以实现对
    的头像 发表于 08-28 10:22 274次阅读

    用于电源门控的TPL5110毫微功耗系统计时器数据表

    电子发烧友网站提供《用于电源门控的TPL5110毫微功耗系统计时器数据表.pdf》资料免费下载
    发表于 08-23 11:26 0次下载
    用于电源<b class='flag-5'>门控</b>的TPL5110毫微<b class='flag-5'>功耗</b>系统计时器数据表

    用于电源门控应用的TPL5111毫微功耗系统计时器数据表

    电子发烧友网站提供《用于电源门控应用的TPL5111毫微功耗系统计时器数据表.pdf》资料免费下载
    发表于 08-23 11:25 0次下载
    用于电源<b class='flag-5'>门控</b>应用的TPL5111毫微<b class='flag-5'>功耗</b>系统计时器数据表

    CDCEx937低功耗LVCMOS时钟发生器数据表

    电子发烧友网站提供《CDCEx937低功耗LVCMOS时钟发生器数据表.pdf》资料免费下载
    发表于 08-22 11:00 0次下载
    CDCEx937<b class='flag-5'>低功耗</b>LVCMOS<b class='flag-5'>时钟</b>发生器数据表

    LMK04610超低噪声和低功耗时钟抖动消除器数据表

    电子发烧友网站提供《LMK04610超低噪声和低功耗时钟抖动消除器数据表.pdf》资料免费下载
    发表于 08-22 10:11 0次下载
    LMK04610超低噪声和<b class='flag-5'>低功耗时钟</b>抖动消除器数据表

    CDCE(L)949:支持SSC以降低EMI的灵活低功耗LVCMOS时钟发生器数据表

    电子发烧友网站提供《CDCE(L)949:支持SSC以降低EMI的灵活低功耗LVCMOS时钟发生器数据表.pdf》资料免费下载
    发表于 08-20 11:01 0次下载
    CDCE(L)949:支持SSC以<b class='flag-5'>降低</b>EMI的灵活<b class='flag-5'>低功耗</b>LVCMOS<b class='flag-5'>时钟</b>发生器数据表

    esp32-c3能否使用内部的RTC作为低功耗时钟

    各位好,我最近用esp32-c3开发了一款产品,由于没有外接32768晶振,没法使用modem sleep模式,我想问能否使用内部的RTC作为低功耗时钟。还有个问题 espnow可以使用modem sleep来降低功耗吗? P
    发表于 06-13 07:31

    电动阀门控制器怎么用

    电动阀门控制器是一种自动化控制设备,用于控制阀门的开启和关闭,实现对管道内流体的控制。它广泛应用于石油、化工、电力、冶金、城市建设等领域。本文将详细介绍电动阀门控制器的使用方法,包括其工作原理、安装
    的头像 发表于 06-11 14:24 1742次阅读

    请问定时器在从模式:复位,门控,触发模式下计数器的时钟源是什么呢,是内部时钟吗?

    请问定时器在从模式:复位,门控,触发模式下计数器的时钟源是什么呢,是内部时钟吗?大家讨论下
    发表于 05-07 08:23

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

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

    功耗优化已经成为SoC设计成功与否的关键因素了吗?

    片上系统(SoC)的低功耗设计方法这几年已经发生了翻天覆地的变化。从简单的时钟门控和电压调节,到今天复杂多样的策略和工具,SoC的能效得到了全方位提升。
    的头像 发表于 01-22 17:10 376次阅读

    电源门控单元的实现原理

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

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

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

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

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

    什么是自动时钟门控结构呢?关于自动时钟门控的解析

    每次作为面试官问一些RTL功耗优化的问题时候,都会希望听到一个答案:优化了RTL的clk-gating比例。
    的头像 发表于 12-04 14:56 1195次阅读
    什么是自动<b class='flag-5'>时钟</b><b class='flag-5'>门控</b>结构呢?关于自动<b class='flag-5'>时钟</b><b class='flag-5'>门控</b>的解析