摘 要:研究了门控时钟技术在130 nm工艺、基于高阈值标准单元库下的低功耗物理实现方法。详细阐述了多级门控时钟技术的作用机制和参数的设置方法,给出了基于门控时钟的后端实现流程,着重分析了插入门控时钟对时钟偏移的影响并提出解决方案。在中芯国际130 nm工艺下用synop sys公司的DC, IC Comp iler, PT,VCS等工具完成物理实现。在10 M时钟下,总功耗降低22. 6 % ,面积也有所减小。
集成电路工艺节点的提升带来了芯片集成度的极大提高,同时也导致了功耗的急速增加。另外,市场对电子设备的大量需求使得系统功耗成为系统性能的一个重要指标,功耗的高低成了芯片厂商竞争力的焦点之一,功耗控制与管理已成为绝大多数芯片厂商首要考虑的问题。SoC设计的功耗包含两部分:静态功耗和动态功耗。静态功耗主要由泄漏电流引起,在130 nm工艺下,静态功耗相对较小,可以忽略不计。动态功耗主要包括短路功耗和翻转功耗,是本设计*耗的主要组成部分。短路功耗即内部功耗,指由器件内部由于P管和N管在某一瞬间同时导通引起的瞬时短路引起。翻转功耗由CMOS器件的输出端负载电容充放电引起。芯片工作时,很大一部分功耗是由于时钟网络的翻转消耗的,如果时钟网络较大,这部分引起的功耗损失会很大。在众多低功耗技术中,门控时钟对翻转功耗和内部功耗的抑制作用最强。本文主要讲述门控时钟技术的具体实现。另外,基于高阈值单元具有较低的功耗,设计采用高阈值单元库。
1 门控时钟技术的基本原理
对于一个设计中的寄存器组,经DC编译后一般会生成如图1所示的电路。由图1可以看出,当EN为1时, DATA_ IN的值由多路开关传至寄存器组的数据输入端,当CLK上升沿来临时,传至DATA_OUT。当EN为0时, OUTPUT保持不变。但由于时钟信号CLK的翻转,寄存器组会持续在CLK的上升沿来临时读取数据输入端的数据,而这时读取的数据是不变的,这就消耗了额外的功耗。
图1 带有多路开关的同步使能寄存器
为保证此时寄存器组不受时钟翻转的影响,可在EN信号为0时关断寄存器组的时钟输入端,使其不受CLK端的变化而变化,这一操作可通过门控时钟技术来实现,如图2所示。图中的门控单元由一个Latch和一个与门组成。门控单元也可以采用非latch结构,直接由与门或或门组成。但由于这种电路会引发毛刺,故此处采用基于Latch的门控单元电路。插入门控时钟后,当EN为1时, Latch单元在时钟低电平时将EN锁存至ENL,时钟上升沿来临时, ENCLK随CLK变化,寄存器组执行正常的读入读出操作。当EN为0时,寄存器时钟输入端ENCL保持为0,不随源时钟CLK的翻转而变化,故此时寄存器组不消耗额外功率。
由此可见,插入门控时钟能消除寄存器组冗余翻转引发的内部功耗,同时由于多路选择器组被一个基于latch的门控单元代替,所以也减小了电路的面积。
另外,为了进一步减小设计的功耗,可采用一些特定的门控技术。目前应用比较广泛的有多级门控时钟,层次化门控时钟等。在多级门控时钟技术中,一个门控单元还可用来驱动其他一个或一组门控单元。这样就通过分级控制减少了门控单元的数目,而且这种方法可组合尽可能多的寄存器组使得门控单元向顶层靠近,节省更多功耗。
图2 基于latch的门控单元电路