4、UPF核心概念:电源域、电源状态、电源开关、隔离单元、电平转换器、保留单元等术语精讲
UPF(Unified Power Format)作为低功耗设计与验证的行业标准(IEEE 1801),其核心价值在于将设计意图中的功耗管理策略以标准化、可传递的形式表达出来。要真正掌握UPF,不能停留在命令语法层面,而必须深入理解其背后的物理与逻辑语义。本章将围绕六个核心术语——电源域、电源状态、电源开关、隔离单元、电平转换器、保留单元——展开精讲,剖析它们的定义、相互关系、设计约束及验证要点,帮助读者建立完整的低功耗设计知识框架。
上图展示了UPF核心概念之间的工程关系。电源域是划分供电边界的基础,电源开关控制可关断域的供电,隔离单元和电平转换器处理跨域信号,保留单元则保障状态恢复。理解这些概念之间的协作关系,是后续编写UPF命令、进行功耗验证的前提。
4.1 电源域(Power Domain)
核心原理:电源域是UPF中最基本的抽象概念,它定义了一组具有相同供电特性的逻辑单元集合。一个电源域可以包含一个或多个模块(Module Instance),这些模块共享同一个主供电(Primary Power)和地(Ground)。电源域的划分决定了哪些逻辑可以独立关断、哪些必须保持常开,是低功耗设计策略的物理基础。
判断方法:在实际设计中,划分电源域需要遵循以下原则:
- 功能相关性:将功能紧密耦合的模块放在同一域,减少跨域信号数量。
- 功耗管理需求:需要同时关断/唤醒的模块应归入同一域。
- 电压需求差异:不同工作电压(如1.0V核心、1.8V IO)的模块必须分属不同域。
- 物理实现约束:考虑布局布线可行性,避免域边界过于碎片化。
UPF中通过 create_power_domain 命令定义电源域,并指定其端口和供电网络。例如:
create_power_domain PD_TOP -include_scope {.}
create_power_domain PD_DSP -include_scope {u_dsp}
create_power_domain PD_GPU -include_scope {u_gpu}
案例拆解:假设一款移动SoC芯片,包含CPU、GPU、DSP、NPU和Always-On模块。设计目标是最小化待机功耗。我们划分如下:
| 电源域 | 包含模块 | 供电电压 | 关断策略 |
|---|---|---|---|
| PD_TOP | Always-On、时钟/复位、调试接口 | 1.0V | 永不关断 |
| PD_CPU | CPU核心、L2 Cache | 0.9V | 空闲时关断 |
| PD_GPU | GPU核心、渲染管线 | 0.75V | 非渲染时关断 |
| PD_DSP | DSP核心、加速器 | 0.8V | 音频任务结束后关断 |
常见误区:初学者常将电源域等同于物理分区,实际上电源域是逻辑概念,一个物理区域可能包含多个电源域(通过隔离带分隔)。另外,电源域划分过细会导致大量跨域信号,增加隔离和电平转换开销,反而增加面积和功耗。
4.2 电源状态(Power State)
核心原理:电源状态定义了系统在不同工作模式下,各电源域的供电组合情况。一个电源状态由所有电源域的供电状态(ON/OFF/RETENTION)和电压值共同决定。UPF通过 add_power_state 命令描述这些状态,并定义状态之间的合法转换关系。
操作流程:定义电源状态通常遵循以下步骤:
- 列出系统所有工作模式(如全速运行、低功耗待机、深度睡眠)。
- 确定每个模式下各电源域的供电状态。
- 使用
add_power_state定义每个状态,并指定状态名称和供电条件。 - 使用
add_power_state_transition定义状态转换路径。
add_power_state PS_ACTIVE -domain {PD_TOP PD_CPU PD_GPU PD_DSP} \
-state {on on on on}
add_power_state PS_SLEEP -domain {PD_TOP PD_CPU PD_GPU PD_DSP} \
-state {on off off off}
add_power_state PS_DEEP_SLEEP -domain {PD_TOP PD_CPU PD_GPU PD_DSP} \
-state {on retention off off}
案例拆解:以智能手机应用处理器为例,其电源状态设计如下:
| 状态名称 | PD_TOP | PD_CPU | PD_GPU | PD_DSP | 典型场景 |
|---|---|---|---|---|---|
| ACTIVE | ON | ON | ON | ON | 高性能计算 |
| NORMAL | ON | ON | OFF | ON | 日常使用 |
| SLEEP | ON | OFF | OFF | OFF | 待机 |
| DEEP_SLEEP | ON | RET | OFF | OFF | 深度待机 |
常见误区:电源状态定义不完整会导致验证时出现非法状态组合。例如,若未定义PD_GPU单独关断的状态,验证工具会将其视为非法。此外,状态转换路径必须明确,否则功耗管理单元(PMU)无法正确执行状态切换。
4.3 电源开关(Power Switch)
核心原理:电源开关是物理上控制电源域供电通断的器件,通常由PMOS晶体管阵列构成。UPF中通过 create_power_switch 命令描述开关的逻辑行为,包括控制端口、供电端口和电源良好(Power Good)信号。
判断方法:设计电源开关时需考虑以下关键参数:
- 导通电阻(Ron):影响电压降,需保证关断域在最大负载下仍满足工作电压要求。
- 电流承载能力:需满足峰值电流需求,避免过热。
- 开关速度:影响唤醒延迟,需与系统时序预算匹配。
- 漏电流:关断状态下的漏电直接影响待机功耗。
create_power_switch SW_DSP \
-domain PD_DSP \
-input_supply_port {VDD_TOP} \
-output_supply_port {VDD_DSP} \
-control_port {dsp_pwr_en} \
-on_state {on_state VDD_TOP {dsp_pwr_en}} \
-off_state {off_state {!dsp_pwr_en}}
案例拆解:某AI加速芯片设计中,DSP域峰值电流为2A,工作电压0.8V±5%。我们选择电源开关时,需保证导通压降不超过40mV。若采用标准单元库中的电源开关单元,其Ron为20mΩ,则压降为2A×20mΩ=40mV,刚好满足要求。但考虑到温度漂移,实际选择Ron为15mΩ的开关单元,留出设计裕量。
常见误区:电源开关的时序控制常被忽视。开关开启时需先稳定电压再释放隔离,关闭时需先使能隔离再断开电源。这个顺序必须通过UPF中的 set_isolation_control 和电源开关控制信号协同实现,否则会产生毛刺或漏电。
set_power_switch_control 指定,确保时序收敛。4.4 隔离单元(Isolation Cell)
核心原理:隔离单元用于防止可关断域输出信号在电源关闭后浮空,导致下游常开域逻辑产生不确定状态或漏电。隔离单元通常由简单的逻辑门(如AND/OR)构成,通过隔离使能信号(ISO_EN)控制输出状态。
操作流程:在UPF中插入隔离单元的标准流程:
- 识别需要隔离的信号:所有从可关断域输出到常开域的信号。
- 确定隔离策略:钳位到0(AND门)或钳位到1(OR门),或保持最后状态(锁存型)。
- 使用
set_isolation命令指定隔离要求。 - 使用
insert_isolation_cells命令完成物理插入。
set_isolation ISO_DSP_OUT -domain PD_DSP -isolation_signal dsp_iso_en \
-clamp_value 0 -applies_to outputs
insert_isolation_cells ISO_DSP_OUT
案例拆解:考虑一个DSP域输出到Always-On域的数据总线(32位)。当DSP关断时,若不加隔离,总线浮空会导致Always-On域的逻辑门输入悬空,产生约10μA/门的漏电。32位总线共产生320μA漏电,在待机模式下不可接受。插入隔离单元后,输出被钳位到0,漏电降至接近0。同时,隔离单元本身也有漏电,但通常小于1μA/门,整体收益显著。
常见误区:隔离单元的位置选择错误。隔离单元必须放置在常开域(接收端),而不是可关断域(发送端)。如果放在可关断域,隔离单元本身也会断电,失去隔离作用。另外,隔离使能信号必须来自常开域,且需在电源关闭前有效。
set_isolation -no_shift 选项,避免隔离单元被优化移动位置,影响时序收敛。4.5 电平转换器(Level Shifter)
核心原理:电平转换器用于连接不同工作电压的电源域之间的信号。当信号从高电压域(如1.0V)传输到低电压域(如0.8V)时,需要电平转换器将信号摆幅转换为目标域的电平范围,确保逻辑正确识别。
判断方法:是否需要电平转换器,取决于两个电源域之间的电压关系:
| 源域电压 | 目标域电压 | 是否需要电平转换 | 说明 |
|---|---|---|---|
| 1.0V | 0.8V | 需要 | 高→低,需转换 |
| 0.8V | 1.0V | 需要 | 低→高,需转换 |
| 0.8V | 0.8V | 不需要 | 同电压,直接连接 |
| 1.0V | 1.0V | 不需要 | 同电压,直接连接 |
操作流程:UPF中电平转换器的处理流程:
- 使用
set_level_shifter指定需要转换的信号或端口。 - 设置转换方向(高到低或低到高)。
- 使用
insert_level_shifter_cells完成插入。
set_level_shifter LS_DSP_TO_TOP -domain PD_DSP -applies_to outputs \
-location self -threshold 0.9
insert_level_shifter_cells LS_DSP_TO_TOP
案例拆解:在混合电压系统中,DSP域(0.8V)输出到TOP域(1.0V)的控制信号,若不经过电平转换,TOP域的逻辑门可能无法正确识别0.8V的高电平(其VIH可能为0.7×1.0=0.7V,勉强识别,但噪声容限不足)。插入电平转换器后,信号被提升到1.0V摆幅,噪声容限恢复。同时,电平转换器也起到隔离作用,防止高电压域信号反向漏电到低电压域。
常见误区:电平转换器与隔离单元的功能混淆。隔离单元处理的是电源关断时的浮空问题,电平转换器处理的是电压不匹配问题。两者可以结合使用,但不可互相替代。另外,电平转换器本身需要两个电源(源域和目标域)都供电才能正常工作,因此不能放在可关断域内。
self(源端)、fanout(目标端)和 both 三种选择。对于双向信号,需使用 both 并在两端各插入一个转换器。4.6 保留单元(Retention Cell)
核心原理:保留单元是一种特殊的寄存器,在电源关断时能够保持其状态值,电源恢复后无需重新初始化即可继续工作。保留单元通常由主寄存器和影子寄存器(Shadow Latch)构成,影子寄存器由常开电源供电。
操作流程:在UPF中实现保留功能的步骤:
- 识别需要保留状态的寄存器(如状态机、配置寄存器)。
- 使用
set_retention命令指定保留要求。 - 使用
insert_retention_cells完成替换。
set_retention RET_DSP_STATE -domain PD_DSP -retention_power_net VDD_TOP \
-retention_ground_net VSS -elements {u_dsp/state_reg}
insert_retention_cells RET_DSP_STATE
案例拆解:一个DSP音频处理器的状态寄存器包含当前采样率、滤波器系数指针等关键信息。若在DSP关断时丢失这些状态,唤醒后需要重新配置,耗时约100μs。使用保留单元后,状态在关断期间被保存到影子寄存器,唤醒后直接恢复,耗时仅1μs。代价是保留单元面积比普通寄存器大约30%,且漏电略高。
常见误区:保留单元的保存和恢复时序必须精确控制。保存操作(SAVE)必须在电源关闭前完成,恢复操作(RESTORE)必须在电源稳定后、逻辑开始工作前完成。UPF中通过 set_retention_control 指定保存/恢复信号,这些信号必须来自常开域。
4.7 核心概念综合对比与设计决策
为了帮助读者在实际项目中快速决策,下表总结了六个核心概念的关键属性对比:
| 概念 | 作用对象 | 控制信号 | 供电要求 | 主要代价 | 验证重点 |
|---|---|---|---|---|---|
| 电源域 | 模块/逻辑集合 | — | 独立供电网络 | 跨域信号开销 | 域划分正确性 |
| 电源状态 | 系统级 | PMU固件 | — | 状态定义复杂度 | 状态转换合法性 |
| 电源开关 | 供电网络 | PWR_EN | 常开电源 | 面积/压降/漏电 | 开关时序/压降 |
| 隔离单元 | 信号路径 | ISO_EN | 常开电源 | 延迟/面积 | 隔离时序/钳位值 |
| 电平转换器 | 信号路径 | — | 双电源 | 延迟/面积 | 转换方向/电压范围 |
| 保留单元 | 寄存器 | SAVE/RESTORE | 常开影子电源 | 面积/漏电 | 保存/恢复时序 |
设计决策流程:在实际项目中,建议按照以下顺序进行低功耗架构设计:
- 分析系统功耗目标,确定需要关断的模块和关断粒度。
- 划分电源域,定义电源状态。
- 设计电源开关网络,确定控制策略。
- 识别跨域信号,规划隔离和电平转换方案。
- 选择需要保留状态的寄存器,设计保留策略。
- 编写UPF文件,进行形式化验证和动态仿真。
总结复盘:UPF的六个核心概念构成了低功耗设计的完整闭环。电源域是基础,电源状态是策略,电源开关是执行,隔离和电平转换是保障,保留单元是优化。在实际项目中,这些概念往往交织在一起,需要设计者从系统角度统筹考虑。建议初学者先从简单的双域设计入手,逐步增加复杂度,在实践中深化理解。