低功耗基础概念——ICG(Intergrated Clock Gating)

转载来源:
低功耗设计基础:Clock Gating
后端Timing基础概念之:为何ICG容易出现setup violation?

为了节约动态功耗,最初有个十分简单的想法:在芯片实际工作过程中,有些信号或者功能并不需要一直开启,那么就可以在它们不用的时候将其时钟信号关闭。这样一来信号不再翻转,从而能够有效减少动态功耗,这就是Clock Gating。
在这里插入图片描述
那么Clock Gating是如何被加入到design中的呢?下面的例子介绍了在RTL阶段加入Clock Gating的方法:

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

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

ICG(Intergrated Clock Gating)作为low power的设计手法之一,已经在实际中得到广泛应用。它们能够在某些时候将某些clock关断从而达到降低功耗的目的。
在这里插入图片描述
一般每个ICG会控制一个或多个DFF,通过某个DFF传递过来的控制信号控制ICG的开启或者关断。

然而,在CTS(clock tree synthesis)工具或者命令综合时钟树的时候,ICG不会被看作sink因此并不会作为balance对象,因此就会出现如下这种结果:
在这里插入图片描述
由上图可以看出,在分析DFF到ICG的setup timing时:

launck clk delay = a + b
capture clk delay = a

因此,对于ICG的setup path,天然存在clock skew:b ,而skew的大小完全取决于ICG距离sink DFF有多远。

在出现setup violation的ICG path上,比较多见的就是因为ICG和sink DFF的clock之间存在较多逻辑或者物理上距离较远,从而导致skew较大而发生setup violation。

针对这种现象,
(1) 在实际设计中,我们可能会考虑将出现setup violation的ICG尽量放在sink DFF附近以减小skew。

(2)与此同时,EDA工具也提供命令来收紧ICG的timing constraint来迫使工具来优化这些path,比如set_clock_gating_check命令。

另外,CTS工具会对其做clone、declone操作。

ICG cell Clone:

受相同ICG cell控制的时序单元较多或者分布不均匀时,就会导致ICG cell连线过长,这时可通过clone ICG cell进行优化;

ICG cell De-Clone:

受相同ICG cell控制的时序单元较少,就会导致ICG cell数量过多,设计density增大。这时可通过De-clone ICG cell进行优化;

引用\[1\]中提到,clock gating有两种形式:AND gate和OR gate。当插入的逻辑是AND gate时,这个值设置为low;当插入的逻辑是OR gate时,这个值设置为high。引用\[2\]中提到,如果Reference电路中的clock gate是RTL设计者插入的,在综合的时候用power compiler插入的,这个值应该被设置为none。如果Implement电路中的Clock Gate是在后端实现的过程中插入的,为了修改电路的某些行为,那么它的EN端与电路的连接关系在Reference电路中是不存在的。在这种情况下,根据插入的clock gate的类型是AND Gate还是OR Gate,将变量设计成相应的值(Low/High)。引用\[3\]中提到,ICG(Integrate Clock Gating Cell)可以减少时钟功耗,通过停止时钟(gating)来减少功耗。ICG可以使用AND gate和OR gate,其中前者在0时是enable,后者在1时是enable。为了避免glitch(短时脉冲)的产生,可以在AND gate或OR gate前加上一级latch,保证enable信号只在时钟低电平或高电平时才传到gate上去。根据这些信息,关于clock gate LAT的具体含义需要更多的上下文信息才能确定。 #### 引用[.reference_title] - *1* *2* [Formality笔记](https://blog.csdn.net/SH_UANG/article/details/57083275)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [CDC设计实例](https://blog.csdn.net/weixin_41846089/article/details/121620479)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值