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

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

3天内不再提示

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

冬至子 来源:数字芯片实验室 作者:Xin_Xin_Hu 2023-06-29 15:58 次阅读

时钟门控(Clock Gating) 是一种在数字IC设计中某些部分不需要时关闭时钟的技术。这里的“部分”可以是单个寄存器、模块、子系统甚至整个SoC。

**为什么需要时钟门控:**大多数SoC都是 power constrained ,mobile端不能够充更多的电就只能尽可能地降低功耗了( 无法开源只能节流呀 ),也因为时钟门控是降低芯片动态功耗最简单,最常用的方法之一。

时钟门控技术分类: 通常,有两种不同的时钟门控实现技术。

combinational clock gating –这种类型的时钟门控由工具在综合时自动识别引入。

**sequential clock gating ** –这种类型的时钟门控作为功能的一部分引入RTL设计中。通常时钟门控策略在系统架构中定义,然后由设计人员进行实现。

combinational clock gating

最简单的combinational clock gating可以通过AND门实现,如下图所示

图片

当enable为1时,时钟会传给寄存器FF;当enable为0时,时钟将被关闭, FF将不起作用。这种最简单的时钟门控技术形式存在一些问题,即在提供给FF的时钟中产生毛刺。

图片

可以通过在时钟使能信号的输出端引入一个低电平敏感的锁存器来解决这个问题。

图片

锁存器输出仅在时钟低电平内更新,因此与门的输入将稳定为高。

图片

Integrated Gated Clock Cells(ICG Cell)

要实现这种时钟门控可以实例化标准单元库中的两个Cell(Latch和AND门),秉着不重复造轮子的思想以及方便工具进行后续的时序分析更建议使用库中的ICG Cell并且由工具自动综合插入。

时钟使能信号可以由软件控制和硬件同时控制,即由软件控制是否需要启动时钟门控,硬件动态控制时钟使能。

软件控制示例如下:

软件控制这个全局时钟使能信号, 为低电平时不打开时钟门控 ,这种全局时钟门控使能策略可以进行层次化的设计,从系统级到最终的单个寄存器。

图片

硬件控制示例如下:

XOR门的输入连接到FF的输入和输出。如果FF的输入和输出相同,则无需触发FF,此时可对时钟进行门控。

图片

在前端RTL级引入combinational clock gating很简单,没有对逻辑功能产生影响,可以由EDA工具自动插入。但是 在物理设计的视角 ,这可能是一个更大的课题,因为我们引入了一个实实在在的物理cell,更何况还是在时钟路径上。

从时序功耗上, clock gating应该离寄存器时钟端远还是近?

从面积功耗上,只有一个寄存器是否应该被门控?

sequential clock gating

除了上述combinational clock gating外,还有sequential clock gating,这涉及对RTL设计中多个时钟周期进行深入分析。当然基本思想也很简单,如果寄存器X在周期C中未更新,并且在时钟周期C + 1中输入给寄存器Y的D端,则无需在周期C + 1中使能寄存器Y的时钟。

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

    关注

    30

    文章

    5028

    浏览量

    117719
  • IC设计
    +关注

    关注

    37

    文章

    1264

    浏览量

    102955
  • SoC芯片
    +关注

    关注

    1

    文章

    530

    浏览量

    34477
  • 锁存器
    +关注

    关注

    8

    文章

    744

    浏览量

    41035
  • 时钟门控
    +关注

    关注

    0

    文章

    7

    浏览量

    6762
收藏 人收藏

    评论

    相关推荐

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

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

    fpga门控时钟问题

    我在一个图像项目里用来很多的门控时钟来产生需要的时序波形,这样程序很不稳定,图像晃动很大,我猜想是不是因为门控时钟太多,程序不稳定,但是又没
    发表于 10-28 22:39

    关于门控时钟的讨论 精选资料推荐

    1、什么是门控时钟?在解释何为门控时钟之前,有必要了解为什么需要门控
    发表于 07-30 06:11

    什么是门控时钟

    什么是门控时钟
    发表于 11-05 07:26

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

    的 20%。时钟消耗的可能更多,可能约为 40%!全局时钟无处不在,而且每个周期都会切换两次。正如我们将看到的,时钟门控避免了在不需要
    发表于 12-19 17:09

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

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

    门控时钟

    门控时钟的资料,关于FPGA方面的资料。有需要的可以看看
    发表于 05-10 16:31 11次下载

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

    时钟门控(Clock Gating)是一种在数字IC设计中某些部分不需要时关闭时钟的技术。这里的“部分”可以是单个寄存器、模块、子系统甚至整个SoC。 为什么
    的头像 发表于 06-13 16:48 2329次阅读

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

    clock) 是通过在时钟路径上增加逻辑门对时钟进行控制,使电路的部分逻辑在不需要工作时停止时钟树的翻转,而并不影响原本的逻辑状态。在ASIC和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>降低功耗的原理

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

    只有当FPGA工程需要大量降低功耗时才有必要引入门控时钟,若必须引入门控时钟,则推荐使用基于寄存器的门控
    的头像 发表于 07-03 15:32 1703次阅读

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

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

    一文详解门控时钟

    当寄存器组的输出端没有驱动或没有变化时,可以关掉寄存器组的时钟来减少动态功耗,此谓门控时钟 (Clock Gating, CG) 技术。
    的头像 发表于 03-29 11:37 6131次阅读
    一文详解<b class='flag-5'>门控</b><b class='flag-5'>时钟</b>

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

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

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

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

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

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