基于门控时钟的CMOS电路低功耗设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于门控时钟的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 公司的综合工具Design
Comp 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卷