UPF 统一功耗格式
UPF 统一功耗格式
概念解析
定义与起源
术语定义:统一功耗格式(Unified Power Format, UPF)是IEEE 1801标准——描述芯片电源意图(power intent)的硬件描述语言。UPF之于功耗设计=SDC之于时序设计——它是一种意图语言,不是实现语言。
2007年IEEE 1801-2007(UPF 1.0)发布。2009年UPF 2.0成为事实标准。2013年UPF 2.1。2018年UPF 3.0支持3DIC。
核心要义
第一,UPF描述的是意图,不是实现。 你告诉工具"这个模块在sleep模式下断电"——工具自动插入isolation cells、retention registers、level shifters、power switches。
第二,UPF错误是芯片的沉默杀手。 时序violation STA能看到。UPF写错了——仿真和STA都不会暴露。硅片回来在lab里才发现。
第三,UPF和RTL是双生子——必须同步演进。 RTL加了新寄存器——这个寄存器在哪个电源域?需要retention吗?跨域信号需要isolation吗?UPF必须和RTL在同一个repo里做同一个code review。
实践应用
* 电源域划分从架构开始:不要等到RTL写完了再补UPF。 * Isolation策略要区分钳位到0还是1:选错了可能让下游逻辑进入非法状态。 * Retention策略要权衡面积和恢复时间:每个retention register比普通register大20-30%。
实战案例
某手机AP的UPF翻车导致死机:CPU断电时中断信号没有isolation——上电瞬间X信号触发虚假中断。补isolation后fix。——SNUG San Jose 2019
Retention Register省了30%面积:只对20%的关键寄存器做retention——面积增加7%而非35%。——SNUG Europe 2020
UPF+CPF双格式兼容噩梦:UPF说A域1.0V,CPF说0.9V——后端用错电压——timing差30%。统一到UPF后fix。——SNUG Silicon Valley 2018
常见误区
误区一:UPF就是描述电源域的。 UPF还包括电源状态表、隔离策略、保持策略、电平转换、电源开关。
误区二:UPF是后端的事。 UPF必须在RTL阶段写好。RTL仿真需要用UPF注入power-aware行为。
误区三:UPF验证跑一次就够了。 每改RTL/UPF/floorplan都要重验证。UPF验证是CI的一部分。