基于门控时钟的C MOS 电路低功耗设计罗 罹(安徽大学计算机科学与技术学院,安徽合肥 230039)摘 要:阐述了如何运用门控时钟来进行C MOS 电路的低功耗设计。
分析了门控时钟的实现方式,如何借助E DA 工具在设计中使用门控时钟,并且附有部分脚本程序,以一个watchdog ti m er模块为例,给出了相关的功耗分析报告和优化结果。
这样,可以借助E DA 工具的帮助,在综合时插入门控时钟,较大幅度地降低功耗,同时附带减小面积,为使用门控时钟进行低功耗设计者提供有益的参考。
关键词:低功耗;门控时钟;泄漏中图分类号:T N431.2 文献标识码:A 文章编号:1000-2162(2005)03-0021-04通常在C MOS 电路设计中,面积和速度是最为重要的性能指标。
目前,随着嵌入式设备和手持设备的普及,由于电池的大小和重量的限制,决定了电池的供电量有限,因此降低功耗成为很紧迫的问题。
设备功耗中的很大一部分是采用C MOS 工艺设计的芯片所引起的。
因此,降低C MOS 电路的功耗很有意义,功耗也成为C MOS 电路设计中一个重要的性能指标。
C MOS 电路的低功耗设计的概念和方法学应运而生,成为目前超大规模集成电路设计中的一个重要方向。
C MOS 电路的低功耗设计有很多方法,主要有:降低供电电压、使用门控时钟等。
但是降低供电电压,会带来很多副作用:首先,降低供电电压,会导致速度下降,减小电容充放电的电流或负载驱动电流;其次,会导致较低的输出功率或较低的信号幅度,从而产生噪声和信号衰减的问题。
相比之下,门控时钟是一个很有效的方法。
门控时钟可以有效地对某些较少使用的时序逻辑进行开关控制,从而大大降低功耗[1]。
本文将以一个watchdog ti m er 模块为例,使用Synop sys 公司的综合工具DesignComp iler,详细阐述如何在设计中插入门控时钟,并且给出了使用的脚本,通过详细的分析报告,特别是使用门控时钟前后的功耗对比,相信可以为工程师使用门控时钟进行低功耗设计提供有益的参考。
1 功耗和门控时钟的的基本概念1.1 功耗的基本概念电路中耗散的能量可以分为静态功耗(static power )和动态功耗(dyna m ic power )。
静态功耗的主要原因是:晶体管中从源到漏的亚阈值泄漏(subthreshold leakage ),就是指阈值电压的降低阻止了栅的关闭。
动态功耗分为开关功耗(s witching power )和内部功耗(internal power )。
开关功耗是由于器件的输出端的负载电容的充放电引起的。
负载电容包括了门和线的电容。
内部功耗指在器件内部耗散的能量,主要由瞬时短路所引起的。
1.2 门控时钟的的基本概念通常,门控时钟的实现方式有4种:基于“与”门、基于“或”门、基于触发器和基于latch 。
以图1中基于latch 的门控时钟为例,基于latch 的门控时钟的实现原理是:在cl ock 为高电平时latch 不会锁存数据,在cl ock 的上升沿捕获enable 信号。
特别需要注意的是,门控时钟的使用可能会带来时序上的问题。
特别当集成电路的设计已经进入深亚微米级时代,线延时占据了总延时的70%。
以基于latch 的门控时钟为例,布局收稿日期:2005-03-18作者简介:罗 罹(19812),男,安徽黄山人,安徽大学助教,中国科技大学硕士研究生.2005年5月第29卷第3期安徽大学学报(自然科学版)Journal of Anhui University Natural Science Editi on May 2005Vol .29No .3布线之后,对应的latch 和寄存器可能会距离很远,造成它们之间的连线延时过大,时序就可能不满足图1 基于latch 的门控时钟要求。
因此,采取的方法是将对应的latch 和寄存器整合在一起,作为一个标准单元来使用。
这样,可以保证的时序满足要求(此时的set_cl ock_gating_style 的设置将会不同)。
2 在设计中使用门控时钟本文首先给出了综合时使用的脚本,以实际中的一个设计生成的报告文件为例,对比了使用门控时钟前后的面积、时序、功耗方面的差别。
2.1 运行的脚本一般可以采用全定制(full -cust om )的设计方法,手工绘制电路图,确定设计中是否采用门控时钟。
但随着设计规模的日益增大,必须要借助E DA 工具的帮助。
在脚本中可以很灵活地对设计进行如下方面的控制:(1)时钟的实现方式:基于“与”门、基于“或”门、基于触发器、基于latch;(2)“使能”端(enable )进行SET UP 、HOLD 检查;(3)对特定的signal 是否使用门控时钟;(4)门控时钟的最大扇出;(5)是否插入scan 信号。
使用Synop sys 公司的综合工具Design Compp iler,该综合工具支持在设计中使用门控时钟,并可以进行相应的时序分析和功耗分析[2~4]。
下面给出使用Design Comp iler 进行综合时部分脚本:set_cl ock_gating_style -sequential_cell latch -positive_edge_l ogic {and}-negative_edge_l ogic {or}/3基于latch 的门控时钟,如果从工艺库中调用已经做好的具有门控时钟功能的标准单元,对应选项变为-positive_edge_l ogic integrated 3/analyze -f or mat veril og -lib library_na me -define SY NOPSI S/3读入veril og 格式的HDL 文件,并且用指定的library 中的中间格式存储3/Set_cl ock_gating_signals -design design_na me/3控制signal 是否采用门控时钟3/elaborate design_na me -gate_cl ock -update -lib library_na me/3从存储的中间格式中建立对应的设计3/p r opagate_constraints -gate_cl ock/3将底层设计中的约束加到当前设计中3/comp ile -incre mental_mapp ing -map_eff ort high/3映射过程中花费更多的cpu 运行时间3/2.2 报告文件Synopys 公司的Design Comp iler 作为业界最流行的综合工具软件,功能相当强大,可以生成详细的报告文件,将会在时序、功耗、面积三个方面加以比较。
首先必须保证时序满足条件,否则功耗的降低和面积的减小就没有意义。
而门控时钟的引入,常常会造成相应的时序问题。
作者使用Synopys 公司的Pri m eTi m e 进行静态时序分析(Static Ti m ing A 2nalysis )。
表1给出的是Pri m eTi m e 对当前设计的关键路径的时序报告。
data required ti m e 表示理论上最大允许的延迟时间,data arrival ti m e 表示实际数据到达的时间。
表1说明,使用门控时钟后,时序仍22安徽大学学报(自然科学版)第29卷然满足要求。
表1 使用门控时钟前后的时序报告不使用门控时钟Start point:wdt_i pb_interface_wdt_reset_b_reg (rising edge -triggered fli p -fl op cl ocked by i pg_clk )Endpoint:wdt_reset_b (out put port cl ocked by i pg_clk ) ………………………………data required ti m e 10.75 data arrival ti m e -6.33 slack (MET )4.42使用门控时钟Start point:i p s_addr_2(input port cl ocked by i pg_clk )Endpoint:wdt_i pb_interface_clk_gate_wm r_reg/latch (negative level -sensitive latch cl ocked by i pg_clk ) …………………………………………data required ti m e 17.50 data arrival ti m e -14.06 slack (MET )3.44 表2给出的是Design Comp iler 对当前设计的功耗报告。
可以看到,使用门控时钟后,功耗总体下降了45.4%。
其中内部功耗下降了53.9%,开关功率下降了35.3%,但是泄漏功耗只下降了1.8%,由于泄漏功耗在总体功耗中比例可以忽略不计,使用门控时钟后功耗总体有了显著的下降。
同时说明门控时钟的使用,对内部功耗和开关功率的影响较为显著,对泄漏功耗的影响不显著。
值得注意的是,虽然不排除通过牺牲面积来降低功耗。
但在本设计中,降低功耗的同时,面积也有了一定的下降。
总面积下降了7.3%,其中组合逻辑的面积减少了21.5%,非组合逻辑的面积增加了5.5%。
说明门控时钟的使用,减少了组合逻辑的使用,增加了非组合逻辑的使用。
表2 使用门控时钟前后的功耗报告 不使用门控时钟的设计 使用门控时钟的设计降低率(%)功耗Cell I nternal Power =473.7284μW (54%)Cell I nternal Power =218.3035μW (46%)53.9 Net S witching Power =396.8938μW (46%)Net S witching Power =256.8232μW 54%)35.3 Total Dynam ic Power =870.6222μW (100%)Total Dyna m ic Power =475.1267μW (100%)45.4 Cell Leakage Power =106.6267n W Cell Leakage Power =104.6448n W 1.8面积/μm 2Combinati onal area:8282.881836Combinati onal area:6503.04296921.5 Noncombinati onal area:9262.079102Noncombinati onal area:9768.9619145.5 Total cell area:17544.960938Total cell area:16272.0000007.33 结 论门控时钟的使用有很多的优点,可以借助EDA 工具的帮助,在综合时插入门控时钟。