> 文章列表 > 数字IC设计——功耗分析

数字IC设计——功耗分析

数字IC设计——功耗分析

一、概述

芯片的整体功耗很难通过简单的电流,电压或者电阻值的的相乘来计算。其原因在于,由于芯片作为具有复杂功能的器件,其功耗会根据其不同时段的不同行为,不同的外部条件而发生很大的变化。

1.1 功耗的分类

数字IC芯片的功耗分为静态功耗动态功耗。现代数字IC基本采用CMOS晶体管,它在稳定工作状态时几乎没有功耗,即静态功耗几乎为0,因此对CMOS电路功耗起支配作用的是由充电和放电电容引起的动态功耗。

二、 芯片的动态功耗

2.1 功耗来源

芯片在工作工程中,晶体管处于跳变状态所产生的功耗,包括动态开关电流引起的动态开关功耗(或跳变功耗),以及短路电流引起的短路功耗两部分。因此对于动态功耗,所占最大比例的就是clock信号。

动态功耗由于和芯片的功能息息相关,因此在计算的时候会引入翻转率(toggle rate)的概念。翻转率是衡量单位时间内device上信号翻转时间所占的比率。在实际计算dynamic功耗的时候,又会分成两个部分。
一部分为标准单元内部的dynamic功耗,又名Internal Power,这部分的计算是嵌入liberty库文件内部,通过标准单元的input transition和output load来查表得到的;
另一部分为互连线(net)上的开关功耗,这部分的计算通过将所有net上每个翻转周期的功耗乘以其翻转率并相加得到。翻转率通过某种固定格式的文件传入EDA工具,比较常用的格式有SAIF(Switching Activity Interchange Format)、VCD(Value Change Dump)以及FSDB(Fast Signal Database)文件。

2.1.1 开关功耗

输出电压在跳变过程中,对负载电容充放电时会有一部分能量被损耗在PMOS和NMOS管中,该部分损耗即为开关功耗。

如下式为计算一个CMOS的开关功耗公式
f为开关频率,P为开关因子,即该门的输出段引起0 -> 1跳变事件的概率。
P d y n = C L V D D 2 f P P_{dyn} = C_L V_{DD}^2 f P Pdyn=CLVDD2fP

2.1.2 internal Power

贡献internal power的因素应该分为两个因素:
一是信号翻转时由于NMOS和PMOS同时导通而产生的短暂但巨大的贯穿电流,在开关的一小段时间内,PMOS和NMOS存在都导通的状态,导致VDD直接与GND相连并产生短路电流和功耗。
二是给内部和外部负载充放电所消耗的能量。

参考链接:低功耗设计基础:深入理解Internal Power

三、 芯片的静态功耗

四、EDA工具进行功耗分析

4.1 PrimeTime PX

PrimeTime是synopsys开发的一款专门的静态时序分析软件,PrimeTime PX是集成在软件中的一个工具,可以用来对Design Compilier(DC)综合后的V文件进行功耗分析。PrimeTime的一个特点就是它对功耗的分析比DC给出的功耗信息要精确得多,所以一般采用PTPX进行功耗分析。

输入文件

  1. 网表文件
  2. 静态时序分析的sdc文件
  3. 带功耗信息的db文件
  4. RTL仿真过程vcd文件

report

数字IC设计——功耗分析

功耗曲线

数字IC设计——功耗分析