电源域、保持与隔离:给芯片「分区断电」的三块基础设施
更新时间:2026-09-12。本文是「集成电路大类 · 芯片设计」进阶层(intermediate)数字逻辑第六十六篇。时钟门控省的是翻转功耗,再进一步、把整块不工作的逻辑彻底断电(power gating)才能连漏电一起省。但断电会立刻带来两个问题:状态没了、输出乱了。这一篇讲解决它们的保持、隔离和电源开关基础设施。
本文要回答的问题
- 把一个模块断电后,它的触发器状态还能保住吗?怎么保?
- 断电域的输出引脚为什么会变成「危险源」?什么会被它拖坏?
- 隔离单元、保持触发器、电平转换器各放在什么位置、谁供电?
- 一次安全的「关电→再上电」时序序列是什么(save/isolate/switch/restore)?
- UPF 在描述什么?电源门控、时钟门控、DVFS 是什么层级关系?
一、问题:断电后的两个隐患
电源门控用 header(VDD 侧 PMOS)或 footer(GND 侧 NMOS)电源开关把某个**电源域(power domain)**与其电源轨断开。断开后:
- 状态丢失:普通触发器靠供电维持的 Q 值全部消失,重新上电是随机态;
- 输出浮空:断电域里连到相邻「仍上电域」的导线失去驱动,电压漂在中间值——如悬空输入所述,这会让活域输入缓冲上下管同时导通,产生直通电流、误翻转,甚至倒灌回断电轨。
这两点决定了光加开关管不够,必须配套「保状态」和「封边界」的专用单元。
二、三件套:隔离、保持、电平转换
- 隔离单元(isolation cell,ISO):插在断电域→活域的信号上,有一个由 always-on 电源供电的使能(ISO_EN),下电时把输出钳到固定安全值(通常 0,低有效使能信号则钳 1)。它保证断电期间边界永远是合法电平。原则:信号从可关电域走向常电域必须隔离;方向相反则不用(活域驱动断电域最多浪费一点驱动)。
- 保持触发器(retention FF):在普通 FF 旁挂一个用独立 always-on(常在)电源供电的影子锁存器(balloon)。下电前把主寄存器值存入影子锁存、断电后主域没电但影子用极小漏电维持,上电后把值写回。代价是面积和 always-on 轨;并非所有寄存器都要保持,只保持恢复所需的关键上下文。SRAM 也有对应保持/深睡模式(低电压维持内容)。
- 电平转换器(level shifter):跨不同电压域(如 0.7V 逻辑驱动 1.0V 域)时插入,和板级电平转换同理,只是做在标准单元里、需双电源。
三、安全上下电序列与时序
断电和上电不能瞬切,否则隔离来不及、保持会失败。电源管理单元(PMC/PMU,本身在 always-on 域)按严格顺序握手:
下电: ① 停该域时钟(门控) → ② 置 retention save(状态存入影子锁存)
→ ③ 置 ISO_EN(边界钳到安全值) → ④ 打开电源开关断电
上电: ④' 闭合开关、等电源稳定(power good) → ③' 撤隔离
→ ②' restore(影子锁存写回触发器) → ①' 恢复时钟,继续运行要点:先保存、先隔离,再断电;先稳压、再恢复、最后撤隔离,顺序反了就会出现「带着活时钟断电」「边界还浮空就被活域采样」。域之间的握手信号需要跨电源域同步,隔离使能、保持控制本身必须由常开电源供电。这套状态机与复位/RDC的「复位在时钟稳定后释放」纪律非常相似,只是控制对象换成了电源。
四、UPF:用意图描述电源架构,而非在 RTL 里手画
隔离/保持/电源开关/电平转换不应写死在普通 Verilog 里(它们是物理实现单元、跨工具链),而用 UPF(统一功耗格式,IEEE 1801)/CPF 以独立文件声明意图:定义电源域、电源网络(supply nets)、电源开关、隔离规则(哪条网、钳什么值、放发送还是接收侧)、保持策略、电平转换规则。综合、仿真、P&R、验证工具读同一 UPF,自动插入正确单元并做电源感知仿真(检查没隔离就跨域、没保存就断电等)。这与用 SDC 约束时序、用 RTL 描述功能是同一「功能/约束/功耗意图分层」思想。
五、省电手段的层级与代价
| 手段 | 省什么 | 恢复代价 | 状态 |
|---|---|---|---|
| 时钟门控 ICG | 动态(翻转)功耗 | 1 拍,几乎无损 | 全保留 |
| DVFS 降频降压 | 动态为主(电压平方关系) | 调 PLL,数 µs | 全保留 |
| 保持型电源门控 | 动态+漏电,仅 always-on 维持影子 | 上电+恢复,数十~数百 µs | retention 保留关键态 |
| 完全断电(无保持) | 全部功耗 | 冷启动,需重新初始化 | 全丢 |
越往下越省电但唤醒越慢、上下文成本越高,系统按空闲时长分级选择(手机的 idle/sleep/deep-sleep、MCU 的 sleep/stop/standby 就是这套阶梯)。always-on 域(PMU、RTC、看门狗、唤醒逻辑)永远供电,是整个管理的「根」。
与现有篇目的衔接
总结
一句话总结:电源门控用 header/footer 开关把某个电源域彻底断电以同时省动态和漏电,但普通触发器会丢状态、断电域输出会浮空成中间电平,经仍上电域的输入缓冲形成直通漏电和误采样,所以必须配三件套——隔离单元在 always-on 使能控制下把跨向活域的信号下电时钳到固定安全值(只隔从可关电域到常电域方向)、retention 触发器用常开电源供电的影子锁存在断电前 save、上电后 restore 关键上下文、电平转换器处理跨电压通信;上下电由常开的 PMU 按「门控时钟→保存→置隔离→断电」和「等 power good→恢复→撤隔离→开时钟」严格握手,顺序反了会带活时钟断电或被浮空边界反咬,域间控制还要做跨域同步;这些物理单元不写进 RTL,而由 UPF 声明电源域、隔离、保持、转换意图,让综合/P&R/验证统一插入和检查;省电手段按「时钟门控→DVFS→保持型电源门控→完全断电」越来越省但唤醒越来越慢、状态保留越来越少,系统按空闲时长选档,而 always-on 的 PMU/RTC/看门狗是整套机制永远在线的根。