在数字IC设计中,我们几乎都要用到门控时钟clock gating技术。使用门控时钟这种技术,我们可以改善电路的三个主要性能指标:速度,面积和功耗,特别是芯片的功耗。市场上主流的综合和静态时序分析工具(Design Compiler& PrimeTime)降低了ASIC设计人员使用门控时钟的门槛。
ASIC设计人员主要使用正边沿触发的D触发器来生成寄存器。这些触发器在每个时钟周期被时钟触发; 如果需要保持以前的值,通常使用MUX多路器电路。图1显示了这个电路。
虽然这个电路在概念上很简单,但它可以通过几种方式进行改进。 图2显示了门控时钟的等效电路。 这个电路的性能更高,因为它从输入到触发器的时序关键路径中移除了MUX,同时节省了面积。 最后,这个电路的功耗较低,因为触发器不必在每个周期都被触发。
NOTE2:可以有很多的方法来实现门控时钟。 但是,大多数都可以归结到图2中的电路。
在该电路中,触发器的时钟信号被门控。在GATE被置为低电平时,GCLK将保持低电平。 低电平锁存器用来在CLK高电平期间锁存住门控信号。为了仿真产生毛刺,对于NAND门需要满足setup和hold time 的时序要求。
图3显示了用于分析建立时间的时序图。
图4显示了用于分析保持时间的时序图
在当今的数字IC设计中,我们所用到的门控时钟clock gating都是采用集成的ICG,并非通过与门或者或门搭的电路。原因是后者需要数字后端实现过程和静态时序分析阶段人工在与门或者或门的输入端加clock gating check,这样做的弊端是一方面比较麻烦,另外一方面很有可能会漏掉某些需要clock gating的点。
而且现在clock gating一般都要求靠近clock root,这样能够节省更多的功耗。但是我们知道当clock gating cell越靠近root,到clock gating的enable使能端的setup越不容易满足。因此在整个数字IC后端实现过程中需要做折中。
相关推荐:
数字IC设计门控时钟低功耗技术–Auto Bound 与Physical Aware Clock Gating
数字后端实现中clock gating使能端setup violation修复方法汇总
数字IC设计中Lockup latch的详细用法-lockup latch eco方法