通常在设计的初级阶段,由于设计者功耗分析手段的缺乏,往往无法考虑具体工艺技术带来的技术差别,所以基本都采取非工艺相关的方式进行手工功耗分析,无法全面的掌握clock功耗的分布情况。在设计的后续阶段,在对设计进行直接分析或在时序分析的基础上,通过采用各种组合的优化技术,可以对Clock-Gating控制逻辑进一步加以优化 。
通过时序分析,向前追溯优化可以带来新的功耗降低,即如果在本级寄存器有Clock-Gating控制逻辑,而下一级寄存器没有相关的Clock-Gating控制信号en的情况下(如图3中(a)所示),此时在下一级也通过延迟一个时钟周期的Clock-Gating控制信号en(t l)对下一级寄存器时钟关断进行控制(如图3中(b)),可以更多地降低功耗。在产生新的控制信号en(t l)时,需要注意将前一级控制信号en与时钟clock实现同步,以保证控制关断的正确性。
而实际中的电路结构更为复杂,特别是控制信号en(t l)的产生就需要根据具体情况具体分析。如图4中(a)所示,控制信号en1和en2对与逻辑门的两个输人前继in1和in2的寄存器时钟进行控制,为了降低下一级寄存器的时钟功耗,需要通过将en1和en2相或得到新的控制信号对下一级的寄存器时钟进行控制,降低功耗(如图4中(b)所示。
同样,越复杂的组合逻辑所需要的控制信号产生逻辑也会越复杂,可能带来的代价也会越大,所以需要对降低的动态功耗和增加的部件功耗加以权衡,上文中关于Clock-Gating的位宽限制在这里将会变得更加严格,一般要在寄存器位宽较大时考虑该措施。
更进一步,向后追溯同样也能得到另一种新的功能消耗降低可能。即在本级寄存器有Clock-Gating控制,而上一级寄存器没有相关的Clock-Gating控制的情况下,通过一定的逻辑得到较本级Clock-Gating控制的信号en提前一个时钟周期的更早的Clock-Gating控制信号en(t-1),用于控制上一级寄存器时钟的关断,降低其动态消耗,而且还能降低两级寄存器之间的组合逻辑部件的动态消耗。2100433B