门控时钟的定义
时钟门控(Clock-Gating)一直以来都是降低微处理器功耗的重要手段,主要针对寄存器翻转带来的动态功耗,在某一时段不需要使用时钟时,通过使能信号将时钟关闭,从而降低其所带来的功耗。
常见的门控时钟:
①直接利用与门实现
如下图:
这样实现起来比较简单,但是同样也伴随着一些问题。如果使能信号在时钟上升沿的时候拉低,那最后会出现下面这样的情况,产生毛刺,这是非常危险的情况。所以要采取一种方法,能够消除这种毛刺。
②利用锁存器实现
根据第一种方法中的情况,在时钟信号为高时突然使能信号为低,造成输出的时钟突然拉低,那么可以从这方面考虑来解决这个问题:使能信号只能在时钟低电平时才能拉低。这样的话,源时钟低电平时本身产生的时钟信号就为低电平,并且即使没有使能这个时钟,输出的时钟也为低电平,这样就不会产生毛刺。
那么如何实现将使能信号只在低电平时才会变低呢?其实就是让使能信号只会在时钟低电平时更新就行,可以通过低电平敏感的锁存器来实现。
③利用寄存器实现门控时钟
也可以采用寄存器进行打拍,让使能信号在每个周期内保持一致。