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

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

3天内不再提示

低功耗设计基础:Clock Gating

冬至子 来源:数字后端设计芯讲堂 作者:阎浮提 2023-06-27 15:47 次阅读

大多数低功耗设计手法在严格意义上说并不是由后端控制的,Clock Gating也不例外。在一颗芯片中,绝大多数的Clock Gating都是前端设计者或者EDA综合工具自动加上去的,后端只有在极端例外的情况下才会动到它们。

尽管如此,Clock Gating的影响与后端息息相关,甚至会引起后端的一些问题,因此我们有必要从头理解一下它的原理。

芯片功耗从原理上区分主要有两大类:静态功耗(Static Power)和动态功耗(Dynamic Power)。二者的形成原因如下:

图片

所谓动态功耗,主要是由于信号的翻转从而导致器件内部的寄生RC充放电引起的,而静态功耗则是由器件在通电状态下的泄漏电流(Leakage Current)引起的。对此,为了节约动态功耗,最初有个十分简单的想法:在芯片实际工作过程中,有些信号或者功能并不需要一直处于活动状态,那么就可以在它们不用的时候将其时钟信号关闭。这样一来时钟信号不再翻转,从而能够有效减少动态功耗,而控制时钟信号开关的就是Clock Gating。

图片

那么Clock Gating是如何被加入到design中的呢?它主要有两种来源:设计者从RTL阶段加入或者由综合工具自动加入。

下面的例子介绍了在RTL阶段加入Clock Gating的方法:

图片

可以看到在加入Clock Gating之后,DFF的clock信号前多了一个使能端EN,从而可以控制该时钟信号的打开与关闭。

除此之外,在综合阶段,EDA工具同样支持自动插入Clock Gating。以Synopsys公司的Design Compiler工具为例,简单的插入Clock Gating的方法如下:

图片

Clock Gating在后端会引起一些问题,尤其在Setup Timing以及时钟树综合阶段,有时候会需要做一些特殊的处理。关于为何Clock Gating容易引起setup timing 的问题,请参考历史文章:

为了尽量避免ICG的setup timing,解决办法之一是将ICG放在距离register(sink)尽量近的地方:

图片

当然,EDA工具也提供了一些优化方法以便在早期发现和解决ICG的问题,这些技巧希望大家在实践中多多尝试和挖掘。

编辑根据作者在DC中做了一下实验,带ICG的DFF如下所示:

图片

ICG的结构如下所示:

图片

需要注意的是,只有当寄存器的位宽达到一定大小时,DC才会自动将其使能端综合为ICG单元(经过测试,3个及3个以上的位宽会综合为ICG单元)。

事实上,由于ICG单元本身带来了 面积占用 ,只有当寄存器位宽达到一定的大小时,使用ICG才能达到即降低面积又降低功耗的效果,这是在我们今后的使用中需要注意的地方。

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

    关注

    31

    文章

    5281

    浏览量

    119746
  • EDA工具
    +关注

    关注

    4

    文章

    264

    浏览量

    31654
  • RTL
    RTL
    +关注

    关注

    1

    文章

    385

    浏览量

    59648
  • 低功耗设计
    +关注

    关注

    0

    文章

    80

    浏览量

    16135
  • dff
    dff
    +关注

    关注

    0

    文章

    26

    浏览量

    3391
收藏 人收藏

    评论

    相关推荐

    降低电路漏电功耗低功耗设计方法

    概念: Power/Ground Gating是集成电路中通过关掉那些不使用的模块的电源或者地来降低电路漏电功耗低功耗设计方法。该方法能降低电路在空闲状态下的静态功耗,还能测试Idd
    的头像 发表于 09-16 16:04 1.1w次阅读
    降低电路漏电<b class='flag-5'>功耗</b>的<b class='flag-5'>低功耗</b>设计方法

    RTL实例化的clock gating cell浅见

    现在的深亚纳米工艺的设计中,低功耗已经是一个日渐总要的主题了,尤其是移动市场蓬勃发展起来之后,功耗的要求越来越严格,据传,在高级的手机系统开发的过程中,系统架构的设计,已经精确到每一个服务模块的毫安时(mAH)的级别,所以如果你的芯片
    的头像 发表于 07-14 10:14 1923次阅读
    RTL实例化的<b class='flag-5'>clock</b> <b class='flag-5'>gating</b> cell浅见

    clock-gating的综合实现

    在ASIC设计中,项目会期望设计将代码写成clk-gating风格,以便于DC综合时将寄存器综合成clk-gating结构,其目的是为了降低翻转功耗
    的头像 发表于 09-04 15:55 1745次阅读
    <b class='flag-5'>clock-gating</b>的综合实现

    浅析clock gating模块电路结构

    ICG(integrated latch clock gate)就是一个gating时钟的模块,通过使能信号能够关闭时钟。
    的头像 发表于 09-11 12:24 2187次阅读
    浅析<b class='flag-5'>clock</b> <b class='flag-5'>gating</b>模块电路结构

    #硬声创作季 #STM32 手把手教你学STM32-044 待机唤醒实验-低功耗-M4-2

    功耗低功耗
    水管工
    发布于 :2022年10月29日 14:06:37

    主要演示BL702/704/706系列mcu低功耗性能

    1、主要演示BL702/704/706系列mcu低功耗性能低功耗模式:Running : Running 为 CPU 正常运行时的功耗,由客户应用代码执行的功能决定功耗。WFI 模式:
    发表于 06-28 18:19

    一文搞懂BL开发板系列MCU低功耗性能

    1、主要演示 bl 系列 mcu 低功耗性能低功耗模式:Running : Running 为 CPU 正常运行时的功耗,由客户应用代码执行的功能决定功耗。WFI 模式:CPU 的
    发表于 07-07 18:09

    基于SCM算法为CPU电压调节设计研究

    。 CPU 低功耗技术很多,譬如时钟门控技术(Clock gating ),电源门控技术(Power gating )和动态电压频率调节技术(DVFS) 等。其中
    发表于 10-28 14:11 0次下载
    基于SCM算法为CPU电压调节设计研究

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

    门控时钟的设计初衷是实现FPGA的低功耗设计,本文从什么是门控时钟、门控时钟实现低功耗的原理、推荐的FPGA门控时钟实现这三个角度来分析门控时钟。 一、什么是门控时钟 门控时钟技术(gating
    的头像 发表于 09-23 16:44 1.3w次阅读
    什么是门控时钟 门控时钟降<b class='flag-5'>低功耗</b>的原理

    AND GATE的clock gating check简析

    一个cell的一个输入为clock信号,另一个输入为gating信号,并且输出作为clock使用,这样的cell为gating cell。
    的头像 发表于 06-29 15:28 2941次阅读
    AND GATE的<b class='flag-5'>clock</b> <b class='flag-5'>gating</b> check简析

    低功耗之门控时钟设计

    clock gating和power gating是降低芯片功耗的常用手段,相比power gating设计,
    的头像 发表于 06-29 17:23 3611次阅读
    <b class='flag-5'>低功耗</b>之门控时钟设计

    Clock Gating的特点、原理和初步实现

    当下这社会,没有几万个Clock Gating,出门都不好意思和别人打招呼!
    的头像 发表于 07-17 16:50 4074次阅读
    <b class='flag-5'>Clock</b> <b class='flag-5'>Gating</b>的特点、原理和初步实现

    ASIC的clock gating在FPGA里面实现是什么结果呢?

    首先,ASIC芯片的clock gating绝对不能采用下面结构,原因是会产生时钟毛刺
    发表于 08-25 09:53 958次阅读
    ASIC的<b class='flag-5'>clock</b> <b class='flag-5'>gating</b>在FPGA里面实现是什么结果呢?

    什么是Clock Gating技术?Clock Gating在SoC设计中的重要性

    随着集成电路技术的不断发展,芯片中的晶体管数量呈现出爆炸性增长。为了提高性能,降低功耗,SoC设计中采用了各种优化技术
    的头像 发表于 10-07 11:39 2704次阅读

    SOC设计中Clock Gating的基本原理与应用讲解

    SOC(System on Chip,片上系统)设计中,时钟信号的控制对于整个系统的性能和功耗至关重要。本文将带您了解SOC设计中的一种时钟控制技术——Clock Gating,通过Verilog代码实例的讲解,让您对其有更深入
    的头像 发表于 04-28 09:12 1594次阅读