您现在的位置是:首页 >技术杂谈 >数字IC设计——功耗分析网站首页技术杂谈

数字IC设计——功耗分析

KGback 2023-06-05 00:00:02
简介数字IC设计——功耗分析

一、概述

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

1.1 功耗的分类

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

peak power
average power

1.2 芯片的翻转率

参考文章:SOC设计中一种提取翻转率用于IR-drop分析的方法
翻转率表示单位时间里信号(包括时钟,数据等信号)的翻转次数。通常由前端工程师在pre-layout阶段释放给后端工程师用来进行PG网络,IR-drop分析的输入值。

可使用PTPX提取设计的翻转率,详细参见下文4.1节。

二、 芯片的动态功耗

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 基于VCS+power compiler的功耗分析

参考文章:低功耗设计入门(二)——功耗的分析

  • 功耗分析与流程概述
  • 无向量分析法
  • SAIF–RTL BACK分析法
  • SAIF–GATE分析法
  • VCD转SAIF分析法
  • 功耗分析报告

PrimeTime PX

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

输入文件

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

Prime Time PX的翻转率提取

在这里插入图片描述

运行模式

  • average mode
    开发早期可使用,无需波形等数据
  • Time based mode
    后期可用,可载入波形,形成功耗趋势图,反应峰值功耗和平均功耗,数据更加准确

report

在这里插入图片描述

功耗曲线

在这里插入图片描述

结果分析

PrimeTime PX(Power Analysis) userguide阅读笔记

primepower RTL

在RTL阶段进行功耗分析。
相比于DC,可通过fast synthesis进行综合,获取时序信息。时间上可减小5倍左右,精度损失大致位15%

primepower

在网表阶段进行功耗分析
由PrimeTime PX更新而来

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。