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

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

3天内不再提示

门控时钟实现低功耗的原理

FPGA之家 来源:FPGA之家 作者:FPGA之家 2022-07-03 15:32 次阅读

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

一、什么是门控时钟

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

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

ccc5e538-ef76-11ec-ba43-dac502259ad0.png

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

1. FPGA功耗分类

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

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

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

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

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

1.伪门控时钟

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

ccd78e00-ef76-11ec-ba43-dac502259ad0.png

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

2.直接门控时钟

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

ccdfd1a0-ef76-11ec-ba43-dac502259ad0.png

四、推荐的门控时钟设计

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

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

cceea9b4-ef76-11ec-ba43-dac502259ad0.png

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

ccfe36ea-ef76-11ec-ba43-dac502259ad0.png

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

cd07b300-ef76-11ec-ba43-dac502259ad0.png

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

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

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

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

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

cd1ae2c2-ef76-11ec-ba43-dac502259ad0.png

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

cd27eb48-ef76-11ec-ba43-dac502259ad0.png

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

cd340392-ef76-11ec-ba43-dac502259ad0.png

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

五、讨论

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

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

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

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

cd40e1de-ef76-11ec-ba43-dac502259ad0.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门)。附加逻辑越多,产生毛刺可能性越大。

原文标题:四、推荐的门控时钟设计

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

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

    关注

    1602

    文章

    21308

    浏览量

    593119
  • 寄存器
    +关注

    关注

    30

    文章

    5027

    浏览量

    117710
  • 门控时钟
    +关注

    关注

    0

    文章

    27

    浏览量

    8895

原文标题:四、推荐的门控时钟设计

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

收藏 人收藏

    评论

    相关推荐

    射频识别芯片设计中时钟功耗的优化与实现

    TypeC协议的UHF RFID标签基带处理器的的优化和实现。##降低功耗主要方法##RTL阶段手工加时钟门控##综合阶段工具插于集成门控
    发表于 03-24 14:36 3817次阅读

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

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

    行为逻辑层次低功耗设计

    层次设计摘要:由于集成电路的集成度增大导致功耗成倍增长,但是在整个电路的设计中还是有很多办法来降低整个系统功耗。本文主要从嵌入式处理器的行为逻辑层次上来阐述如何降低功耗,包括采用超标量结构,采用
    发表于 05-16 20:00

    基于门控时钟低功耗时序电路设计

    可根据分频因子(范围为8至38)进行编程,按提供给计数器组合逻辑的输入所配置的提供一系列输出频率。  即使此计数器中配备了额外的硬件来实现可编程性,但是该电路的功耗通过一个逻辑提供的有效门控
    发表于 09-30 16:00

    分享几种实现数字IC的低功耗设计方法

    低功耗可以从RTL-level和Gate-level设计策略着手。诸如时钟门控(clock gating)之类的方法已被广泛地使用。其他的方法,例如动态电压和频率调节,由于难以实施,还没有被广泛地
    发表于 04-12 09:34

    什么是时钟门控?如何去实线时钟门控的设计呢

    什么是时钟门控?有几个因素会影响电路的功耗。逻辑门具有静态或泄漏功率,只要对其施加电压,该功率大致恒定,并且它们具有由切换电线产生的动态或开关功率。Flip-flop触发器非常耗电,大约占总功率
    发表于 12-19 17:09

    基于门控时钟的CMOS电路低功耗设计

    阐述了如何运用门控时钟来进行CMOS电路的低功耗设计。分析了门控时钟实现方式,如何借助EDA工
    发表于 11-19 11:49 22次下载

    基于门控时钟低功耗电路设计方案

    在众多低功耗技术中,门控时钟对翻转功耗和内部功耗的抑制作用最强。本文主要讲述门控
    发表于 02-21 09:31 3213次阅读
    基于<b class='flag-5'>门控</b><b class='flag-5'>时钟</b>的<b class='flag-5'>低功耗</b>电路设计方案

    低功耗时钟门控算术逻辑单元在不同FPGA中的时钟能量分析

    低功耗时钟门控算术逻辑单元在不同FPGA中的时钟能量分析
    发表于 11-19 14:50 0次下载

    通常有两种不同的时钟门控实现技术

    constrained,mobile端不能够充更多的电就只能尽可能地降低功耗了(无法开源只能节流呀),也因为时钟门控是降低芯片动态功耗最简单,最常用的方法之一。
    的头像 发表于 06-13 16:48 2327次阅读

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

    门控时钟的设计初衷是实现FPGA的低功耗设计,本文从什么是门控时钟
    的头像 发表于 09-23 16:44 1.2w次阅读
    什么是<b class='flag-5'>门控</b><b class='flag-5'>时钟</b> <b class='flag-5'>门控</b><b class='flag-5'>时钟</b>降<b class='flag-5'>低功耗</b>的原理

    什么是门控时钟?如何生成门控时钟

    由于门控时钟逻辑具有一定的开销,因此数据宽度过小不适合做clockgating。一般情况下,数据宽度大于8比特时建议采用门控时钟
    发表于 12-05 12:28 2434次阅读

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

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

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

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

    FSMs低功耗设计

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