1. 低功耗数字芯片实现概览
在先进工艺节点下,功耗已经和面积、时序一起成为数字芯片实现的三大硬约束。一个常见的现象是:芯片功能验证全部通过、时序也收敛了,但功耗预算超标,导致封装散热方案要重新设计,甚至整颗芯片无法量产。因此,理解功耗从哪里来、低功耗实现难在哪里、以及 Cadence 工具链在其中扮演什么角色,是进入本课程后续所有实操环节的前提。
一、功耗从哪里来:动态功耗与静态功耗
数字芯片的总功耗可以拆成两大部分:动态功耗和静态功耗。动态功耗来自电路翻转时的充放电和短路电流,静态功耗则来自晶体管关断状态下仍然存在的漏电流。
动态功耗中最主要的是开关功耗,其经典表达式为:
P_switching = α · C_L · V_DD² · f
其中 α 是翻转活动因子,C_L 是负载电容,V_DD 是供电电压,f 是时钟频率。这个式子揭示了低功耗实现最核心的三个杠杆:降低电压、降低电容、降低翻转活动。注意电压是平方项,所以降压的收益最大,这也是多电压域(Multi-VDD)和动态电压频率调节(DVFS)被广泛采用的原因。
静态功耗主要来自亚阈值漏电、栅氧漏电和结漏电。在 28nm 及以下工艺,漏电功耗占比可能达到总功耗的 20%~40%,在高温下更明显。因此低功耗实现不能只关注翻转,还要通过电源门控(Power Gating)把不工作的模块彻底断电。
下面这张图把功耗来源、影响因素和对应的低功耗手段组织在一起,便于建立整体认知。
二、低功耗实现为什么难
低功耗实现之所以困难,根本原因在于它和时序、面积、可测性之间存在强耦合,任何单点优化都可能引发连锁反应。
第一,电压域划分与电平转换。为了降压省功耗,设计会被切成多个电压域。跨域信号必须插入电平转换器(Level Shifter),否则会出现驱动不足或直通电流。而电平转换器本身有延迟和面积开销,插入位置不当会恶化时序。
第二,电源门控与状态保持。断电模块重新上电后,内部寄存器状态丢失。若该模块需要保持状态,就必须使用带保持功能的寄存器(Retention Flop)或隔离单元(Isolation Cell),否则上电瞬间会产生不确定的毛刺并向后级传播。
第三,低功耗结构与验证复杂度。电源开关(Power Switch)的使能顺序、隔离信号的断言时机、保持寄存器的保存/恢复控制,都需要专门的电源管理逻辑和 UPF/CPF 描述。这些控制如果出错,往往在功能仿真中难以暴露,却会在硅后表现为随机失效。
第四,功耗与性能的权衡。降低电压会拉长门延迟,降低频率又影响性能。DVFS 需要在不同工作点之间切换,切换过程本身也有开销和稳定性要求。
三、Cadence 工具链在低功耗实现中的角色
Cadence 的低功耗实现流程覆盖了从 RTL 到签核的完整链路,核心工具各司其职:
- Genus:综合工具,负责把 RTL 映射到门级网表,同时根据 UPF 插入隔离单元、电平转换器、保持寄存器和电源开关,并完成时钟门控插入。
- Innovus:物理实现工具,负责布局布线、电源规划(Power Plan)、多电压域物理约束、电源开关的物理放置与连接。
- Voltus:功耗签核工具,基于最终网表和寄生参数做动态/静态功耗分析,输出各电压域、各模块的功耗分布。
- Joules:RTL 级功耗估算工具,在综合前就能给出功耗趋势,帮助早期决策。
- Conformal Low Power:低功耗结构的形式验证工具,检查 UPF 与 RTL 的一致性,确认隔离、保持、电源开关控制逻辑正确。
这些工具之间通过 UPF 和统一的低功耗意图描述串联起来。UPF 定义了电源域、电源开关、隔离策略、保持策略和电平转换规则,是贯穿综合、实现、验证、签核的“低功耗合同”。
四、整体流程与关键节点
一个典型的低功耗实现流程可以概括为:RTL 与 UPF 协同设计 → RTL 功耗估算 → 低功耗综合 → 低功耗结构验证 → 物理实现与电源规划 → 功耗签核。每个阶段都有明确的输入、输出和检查点。
以综合阶段为例,Genus 读入 RTL 和 UPF 后,会先建立电源域层次,然后根据 UPF 中的 set_isolation、set_retention、create_power_switch 等命令插入相应结构。综合完成后,需要用 Conformal Low Power 检查插入的低功耗结构是否与 UPF 意图一致,确认没有遗漏隔离或保持单元。
进入 Innovus 后,重点是电源规划:确定电源环(Power Ring)、电源条(Power Stripe)的宽度和间距,放置电源开关,连接 always-on 网络。这一阶段要特别关注 IR Drop,因为电压降会直接削弱低功耗收益,甚至导致功能失效。
最后用 Voltus 做功耗签核,输入是带寄生参数的网表和真实的翻转活动文件(SAIF/VCD)。输出包括动态功耗、漏电功耗、各电压域功耗占比。判断依据通常是:总功耗是否满足预算、各模块功耗是否与预期一致、是否存在异常高功耗节点。
理解功耗来源、低功耗实现的耦合难点、Cadence 工具链的分工以及整体流程,是后续学习 UPF 编写、电源域规划、隔离与保持策略、功耗分析与优化的基础。本章建立的这张“全局地图”,会在后续每个具体环节中被反复引用。