Zexun Luo

低功耗设计与验证

Shaka / 2023-08-15


一. 简介

功耗是现代复杂芯片最重要的维度之一。设计人员可利用功率门控、电压调整、体偏压等复杂功耗分析技术来节省功耗及减少散热。因此,芯片的功耗分析验证是一个相当复杂的过程。功耗管理调试的难度导致大量 EDA 供应商不仅要提供功耗分析前端仿真与硬件加速仿真功能,而且还要推出聚焦于功耗管理验证的工具 —— 从静态分析和基于规则的功耗检查,到功耗分析逻辑等效性检查和 Layout 工具,从前端设计阶段一直到后端实现阶段。

功耗管理调试已渗透到传统 HDL 仿真的方方面面,几乎所有的主要 EDA 供应商都需要提供如下功耗专用调试特性:UPF(统一功耗格式) 创建对象的可视化,RTL 源和波形窗口中的 HDL 信号着色和高亮显示,功耗相关的动态信息/状态消息,功耗专用断言的自动生成以及功耗报告的生成。

二、分类

功耗分析主要可以分为两个部分 静态功耗和 动态功耗。

1. 静态功耗(漏电流功耗 leakage power)

CMOS电路中,静态功耗主要是漏电流引起的功耗。即使电路处于静止状态,没有时钟,没有任何switching,这部分功耗依然存在。

漏电流的计算主要通过.lib中的数据,从而选定一种或几种适合当前design需求的library。如 CellA 相比 CellB 的 leakage 比较大,因此再做 PR 时就不会选 CellA。

1.1 编译时的静态验证

许多工具会根据 UPF 中描述的 PST 和功耗状态,以统计方式确定域边界处隔离和电平转换器单元的需求。

2. 动态功耗

2.1 开关功耗(Switch Power)

Switch Power是在CMOS电路中,对负载电容进行充放电时消耗的功耗。通过开关功耗的公式 Pswitch = 0.5 * V^2 * C * Tr 计算。

2.2 内部功耗(Internal Power)

内部功耗(Internal Power)也称短路功耗,是由于信号翻转时,有一段时间 PMOS 和 NMOS 同时导通,那么电源 VDD 到地 VSS 之间就有了通路,形成短路电流。

内部功耗的公式:Pshort = Tr * V * Qx

由于这部分是由标准单元内部switch造成的功耗。工具根据.lib里的数据计算这部分功耗。输入A变化引起的功耗。工具根据输入A的transition time查询rise_power, fall_power 表。

三、功耗分析工具

功耗分析预测分析工具包括PowerArtist(Ansys)、Spyglass Power(Synopsys)、Prime Time PX(Synopsys)和Redhawk(Ansys)等。 下表为不同功耗分析工具的比较。

RTL功耗门级功耗
工具PowerArtist & SpyglassPrimeTime PXRedhawk
目的为设计提供建议准确的功耗估计静态和动态分析
使用难度易用,适用于硅前验证早期复杂,适合在门级复杂,适合在门级
专注领域功耗管理的功能优化布局布线的影响能耗一致性问题调试

四、低功耗与断言(SVA)

系统 Verilog 断言 (SVA) 是动态验证低功耗设计的强有力方法。断言可用来验证功耗控制逻辑序列,以及确保功耗模式转变之前和之后能满足特定要求。许多 EDA 供应商会提供自动化的、工具生成的断言,以 在运行时检查隔离和电平转换器单元是否缺少或不正确。针对域边界处的每个接口信号都会插入一个断言,检查是否需要隔离和电平转换器单元。

五、IC 设计中的功耗分析流程

1. 逻辑综合后的功耗分析(以 Synopsys 设计流程为例)

PTPX所需文件:

Synopsys PTPX 功耗分析的流程:

2. 布局布线后的功耗分析

与综合后功耗分析流程类似。

六、提高验证效率和电路规模

现代 EDA 产商 多使用 multi-threaded(多线程)、distributed processing(分布式运算)和Hierarchical analysis(分层分析)技术提高验证效率和电路规模。