数字集成电路低功耗物理实现技术与UPF.docx

上传人:b****2 文档编号:1072577 上传时间:2022-10-16 格式:DOCX 页数:39 大小:523.76KB
下载 相关 举报
数字集成电路低功耗物理实现技术与UPF.docx_第1页
第1页 / 共39页
数字集成电路低功耗物理实现技术与UPF.docx_第2页
第2页 / 共39页
数字集成电路低功耗物理实现技术与UPF.docx_第3页
第3页 / 共39页
数字集成电路低功耗物理实现技术与UPF.docx_第4页
第4页 / 共39页
数字集成电路低功耗物理实现技术与UPF.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

数字集成电路低功耗物理实现技术与UPF.docx

《数字集成电路低功耗物理实现技术与UPF.docx》由会员分享,可在线阅读,更多相关《数字集成电路低功耗物理实现技术与UPF.docx(39页珍藏版)》请在冰豆网上搜索。

数字集成电路低功耗物理实现技术与UPF.docx

数字集成电路低功耗物理实现技术与UPF

数字集成电路低功耗物理实现技术与UPF

孙轶群 sun.

国民技术股份有限公司

NationzTechnologiesInc

摘要

 本文从CMOS电路功耗原理入手,针对不同工艺尺寸下数字集成电路的低功耗物理实现方法进行描述,并着重描述了SynopsysUPF(UnifiedPowerFormat)对低功耗设计的描述方法。

UPF是Synopsys公司提出的一种对芯片中电源域设计进行约束的文件格式。

通过与UPF格式匹配的Liberty文件,UPF约束文件可以被整套Galaxy物理实现平台的任何一个环节直接使用,并将设计者的电源设计约束传递给设计工具,由工具完成设计的实现工作,从而实现整套数字集成电路低功耗物理实现的流程。

1.0 概述

本文从数字集成电路低功耗设计原理下手,对设计中低功耗的实现技术进行描述,包括完成低功耗设计需要的库资料以及常用EDA工具对低功耗技术实现的方法。

2.0 CMOS电路的低功耗设计原理

CMOS电路功耗主要分3种,静态功耗主要与工艺以及电路结构相关,短路电流功耗主要与驱动电压、p-MOS和n-MOS同时打开时产生的最大电流、翻转频率以及上升、下降时间有关,开关电流功耗主要与负载电容、驱动电压、翻转频率有关。

做低功耗设计,就必须从这些影响功耗的因素下手。

3.0 低功耗设计手段及Library需求

低功耗的设计手段较为复杂,但对于不同的设计,或者不同的工艺,实现的方法却各不相同。

3.1   0.18um及以上工艺

0.18um及以上工艺,在低功耗设计手段上较为有限,主要原因在于,静态功耗很小,基本不用关心。

动态功耗方面,主要的功耗来自于SwitchingPower,即与负载电容、电压以及工作中的信号翻转频率相关。

减小负载电容,就必须在设计上下功夫,减少电路规模。

减少信号翻转频率,除了降低时钟频率外,只有在设计上考虑,能不翻转的信号就不翻转。

至于电压,由于0.18um及以上工艺的阈值电压有一定的限制,因此,供电电压降低,势必影响工作频率。

一般说来,在0.18um工艺下设计电路,主要有以下几种对低功耗设计的考虑。

3.1.1     静态功耗可以忽略 

根据现有项目经验可知,利用0.18um工艺StandardCell设计出来的某芯片,数字逻辑加上Ram和Rom约40万门的电路,在完全静止的状态下,功耗约200uA左右(实测数据为400uA左右,包括了50uAFlash,30uA的PHY,113uA的VR,其他模拟部分漏电不大,因此这里估算为200uA)。

这样的功耗,我们是可以接受的。

如果非要减少静态功耗,则可以参照90nm工艺的设计思路,专门设计高阈值电压的MOSFET,或者专门设计切断电源所需的元件,但由此带来设计的复杂性,对0.18um工艺的影响还是很大的。

如果设计规模没有那么大,且可以满足应用,往往还是可以忽略这个结果的。

3.1.2      时钟门控减小不必要的动态功耗 

在寄存器的电路设计中,时钟输入端都会有一个反向器负载,就算输入端不发生变化,时钟的变化也会造成该反向器的变化,由此产生动态功耗。

因此在如果该寄存器输入在某种条件下等于输出(即输出保持)时,可以将时钟门控住,以减少无效的时钟翻转。

时钟门控的实现原理如下图所示:

图31时钟门控原理图

如上图所示,由于现在的设计方式,大多数是同步设计,设计人员只考虑数据路径,时钟往往是不做处理的。

因此如果要实现门控,只需要在设计电路时提供可以识别的控制信号,在综合的时候,EDA工具就可以自动插入时钟门控。

利用DesignCompiler进行时钟门控单元插入,在读入设计以及时序约束后,需要做以下设置:

1. set_clock_gating_style,设置时钟门控单元插入的约束

2. insert_clock_gating–global,开始插入时钟门控单元;

3. uniquify,将所有时钟门控单元做uniquify操作,以便后续PR

4. hookup_testports-se_portATPGSE_Pad-se_pinuPad/uATPGSE_Pad/C–verbose,将所有时钟门控单元的scan_enable信号与测试用SE信号连接起来。

如果没有ATPG,可以不用该句命令。

5. propagate_constraints-gate_clock,将门控单元信息传递给整个电路。

6. report_clock_gating可以查看时钟门控单元插入的情况,以便做电路修改,或插入时钟门控单元设置的修改。

完成这些设置后,只需要和平常一样做系统综合即可。

而在DC2008.09版本以后,第2~5的步骤都可以省略,在利用compile_ultra进行优化时,第2、3步骤都会被自动执行,第4、5步骤会在insert_dft时被执行。

形式验证工具Formality,在进行形式验证,需要设置verification_clock_gatie_hold_mode为low、high或者any,Formality就可以识别出时钟门控单元,并与RTL进行形式验证了。

3.1.2.1. ClockGatingCells

这里所说的ClockGatingCell是指专门设计的,集成式时钟门控单元(IntegratedClockGatingCell,简称ICG),就是利用Latch和与门/或门实现的一个独立的StandardCell,其优势在于以硬IP实现,时序易于掌握,物理实现中对布局布线有帮助。

当然如果单元库中不提供专门的时钟门控单元,EDA工具也可以利用与门、或门、Latch甚至是寄存器等进行门控单元的实现,但效果都没有ICG好用。

这里针对ICG的插入进行描述。

图31中的门控单元是一种典型的,利用负沿使能Latch以及与门组成的上升沿有效时钟门控单元,只有时钟下降沿后才会将时钟门控住,保证不产生时钟毛刺。

在Liberty格式文件中,某个Cell,需要有clock_gating_integrated_cell,才能让EDA工具认识到,该Cell是一种ICG。

不同的clock_gating_integrated_cell的设置,需要在DC设置set_clock_gating_style时做相应的设置,才可能被使用到,下面列举一些常用的设置:

同时,在ICG的不同Pin上,必须有以下属性,来告诉DC该Pin在ICG的使用中是什么功能(这里只列举常用的信息):

clock_gate_enable_pin

该pin是时钟使能控制信号

clock_gate_out_pin

该pin是时钟输出信号

clock_gate_clock_pin

该pin是时钟输入信号

clock_gate_test_pin

该pin是scan_enable或test_mode信号

3.1.3     使用低电压的库进行设计 

由于动态功耗中,驱动电压对功耗的影响也相当大,因此,如果能有一套电压只有1V的标准单元库,进行设计,仍然可以达到降低动态功耗的目的。

但电压的降低,势必引起元件延时的增加,且由于0.18um工艺下,阈值电压一般在0.4V左右,驱动电压的稳定性需求也相当大,否则,可能会导致致命性的错误。

法国的Dolphin公司是一家致力于低功耗设计的IP提供商,在TSMC、SMIC等Foundry的0.18um工艺下都提供了1V的逻辑单元库。

下面列出Dolphin在SMIC0.18um工艺下设计的一套1V逻辑单元库,和SMIC0.18um工艺Metro标准单元库进行比较。

比较中Metro标准单元库使用1个门的BUFX2M,而Dolphin使用最小的Bufferni01d1进行比较。

 

 

area

(um*um)

Averageleakage(nW)

Risedelay

(0.04pf,ns)

TypicalRiseEnergy

(0.04pf,pJ)

SMIC18METRO

BUFX2M

8.7808

0.048

0.182256

0.0266

Dolphin1Vfor       

SMIC0.18um

ni01d1

10.3488

0.01

0.6

0.005

由比较中可以看出,当电压下降到1V后,RiseEnergy下降了80%以上,除了由于电压下降引起的功耗降低外,Dolphin应该在电路结构等方面也做了处理,因此不但动态功耗减少了,而且静态功耗也减少了很多。

但延时却大了很多,因此如果设计需要翻转的频率不高时,可以考虑利用低功耗的库进行设计,达到降低功耗的目的。

如果速度要求很高,这个方法是不可行的。

3.2   90nm及以下工艺

从3.1.3可以知道,降低驱动电压,可以减少动态功耗,但由于电压降低,驱动能力也同时被减弱,因此元件延时较大。

为了解决这个问题,工艺尺寸开始减小,以便在减小驱动电压的情况下,增加宽长比(aspectratio),以达到提高驱动电流的目的,保持元件延时。

同时进入更低尺寸的工艺,氧化层厚度也随之减小,以便减少阈值电压,进一步提高速度。

但因为氧化层厚度在减小,漏电电流也变大了。

在90nm及以下工艺中,漏电电流开始被设计人员关注。

下面对在90nm工艺下进行低功耗设计及实现的一些手段结合常用EDA工具进行描述。

3.2.1      切断未使能电路的电源减小不必要的静态功耗 

针对SMIC0.18um工艺Metro标准单元库以及TSMC90nmLP工艺高密度标准单元库(dbtcbn90lphdbwptc)进行比较,以一个门的Buffer来举例:

 

 

 

Averageleakage(nW)

Incremental

TypicalRiseEnerge

(0.04pf,pJ)

Incremental

SMIC18METRO

BUFX2M

0.048

-

0.0266

-

TSMC90LPBiasedWell

BUFFD1BWP

0.214

345.83%

0.00272

-89.77%

可以看出,90nm工艺下的静态功耗,已经是0.18um工艺下功耗的3.5倍左右了。

根据3.1.1可知,利用0.18um设计出来的,约40万门的电路,静态功耗,大约是200uA(360uW,0.18um工艺按1.8V供电电压计算)。

如果同样规模的电路,放在90nm工艺下,则可能达到1.26mW左右,即1.05mA左右的静态功耗(90nm工艺按1.2V供电电压计算)。

既然,静态功耗这么大,那么在静止时,怎样才能将这些功耗减小呢?

一个非常彻底的方法就是将静止状态电路的电源关断。

为了关断电源,就需要在电源网络和电路之间建立一个电源控制电路,他们被称为电源开关单元(PowerSwitchingCell),在需要关断时,控制PowerSwitchingCell将电路的供电关闭,否则打开,提供电源。

由于电源关断后的电路,其输出信号就没有电路驱动,对于其驱动的电路来说,就会出现输入浮空的状态。

为了解决这个问题,就需要在关闭电源的电路输出端添加一个额外的保持电路,当其电源关闭后保持输出,而电源打开时,保持电路则表现的像一个Buffer,输出等于输入即可。

同时,如果被关闭电源地电路输入固定电压,也可能产生对地的电流,就需要一个特别的单元对该部分电流进行保护。

这样的单元被称为隔离单元(IsolationCell)。

一般来说IsolationCell的输出部分有较大的电容负载,也就是说IsolationCell的延时将会比较大,对时序有一定的影响,是需要注意的。

当然,对于寄存器来说,如果断电,则原有的数据就无法保存

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1