前言
可以把芯片设计粗略分为三个部分:功能、时序和电源,它们分别对应RTL(functional behavior)、SDC和UPF(power behavior)三种设计文件。前端工程师对RTL和SDC是非常熟悉的,但是UPF(SNPS叫UPF,Cadence叫CPF)更多地是跟后端相关。
一、UPF定义
UPF(Unified Power Format) is a power intent format. UPF的作用是基于工具命令语言(tcl)把功耗设计意图(power intent)传递给EDA工具,从而帮助实现物理设计。因为RTL只能实现功能设计,对于功耗设计意图则需要通过UPF实现,下面是两者的区别。
Power intent用于描述芯片工作的『电特性』,包括工作电压、电压的开关、芯片的power state(such as run/standby/retention/shutdown)、低功耗cell插入的策略等。
二、UPF术语
1. Power Domain
Power Domain:设计中的一组元素,它们共享一组公共的电源。默认情况下,电源域中的所有逻辑元素使用相同的主电源和主地。
2. Power Supply Network
Supply Nets:可以类比RTL里面的wire,用来定义一根电源线,而且只在声明它的PD中有效。
Supply Ports:可以类比RTL里面的port,在电路中它们对应的是电源pin。
Power Switches:这个没有可类比的RTL元素,它就是一个电源开关,其两端电源属于不同的Nets,控制信号来自RTL function电路。
3. Power State table
Power State table:用来定义芯片低功耗模式的一张表格,列出本设计中所有电源域的电压值和电源开关状态的允许组合。
4. Special Cells for Low Power Techniques
UPF包含level shifter/isolation cell/retention register/power switch/always_on buffer等单元,来实现多电压域等更复杂的低功耗设计。