clock gating cell是降低动态功耗(dynamic power)不可缺少的一个单元。
对于一个后端工程师来说,在时钟路径上place一个clock gating cell需要更多谨慎的考量。
本文讨论两种clock gating cell placement方式的优缺点,即各自在timing 和power之间折中(trade-off)。
考虑一个场景,SoC上存在两个IP和一个时钟源(clock source)。
那么问题来了,我们的clock gating cell应该被placed在什么位置呢?
存在两种选择:
1、靠近sink,即靠近各自需要门控的IP
2、靠近source,即靠近时钟源
现在我们来看下,这两种clock gating cell的placement方式各有什么优缺点,即各自在timing和power上的影响。
Clock gating cell placed near the source

如上图所示,我们可以发现将clock gating cell place在靠近时钟源的地方会增加非公共时钟路径。
需要知道Common Path Pessimism Removal的概念。
在进行时序分析时,uncommon clock path会考虑OCV derate(悲观考虑)。但是,将clock gating cell放置在靠近clock source对power是有利的,因为在clock gating关闭时,上图中的uncommon clock path意味着更多的clock tree buffer停止翻转,不消耗动态功耗。
所以,这是一个工程问题,designer 需要在timing和power之间根据各自需求进行trade-off。
Clock gating cells placed near the sink
另一种情况就是clock gating cell被放置在靠近IP,即sink点的地方。

如上图所示,具有相对更长的common clock path,所以对timing有利,对动态功耗有弊
解决方案是case-by-case的,假设我们的设计是IP2 clock gating开启是在IP1 clock gating开启的前提上时,

可以设计层次化的clock gating。既能节省动态功耗,也能较少uncommon path。
网友评论