统一电源格式(UPF,Unified Power Format)
介绍
统一功率格式(UPF)是IEEE发布的标准,由Accellera的成员开发。它旨在简化设计、模拟和验证具有多个电源状态和电源域的IC设计工作。该标准的IEEE 1801 -2009 版本基于Accellera(EDA组织)的捐赠。
UPF与RTL结合起来能完整描述芯片设计,可以一起用于设计过程的仿真阶段:
- RTL描述逻辑意图
- UPF描述电源意图
UPF能做什么
UPF的设计目的是在相对较高的水平上反映设计的电源意图。UPF脚本描述了哪些电源轨道应该被路由到单独的块,块预计何时被供电或关闭,当信号从一个电源域到另一个电源域时电压水平应该如何转移,以及如果一个域的主电源被移除,是否应该采取措施来保留寄存器和内存单元内容。
UPF是怎么做的
UPF的基础是工具控制语言(Tool Control Language, TCL),这是一种脚本语言,通用电源格式(Common Power Format, CPF)也是基于TCL,最初创建它是为了提供一种自动化控制设计软件的方法。
TCL的吸引力在于,命令行命令可以作为脚本中的语句使用。大多数TCL实现都是特定于单个工具的。然而,CPF和UPF定义不同寻常,因为它们是与电源感知工具一起使用的——工具本身必须确定TCL脚本中提供的命令是否与它们相关。
例如,UPF感知工具使用TCL命令“create_power_domain”在设计中定义一组块,这些块被视为一个电源域,与芯片上的其他块有不同的供电方式。这类命令背后的思想是,电源感知工具会认为设计描述中的块可以独立上电或下电。这些工具可以使用这些信息来确定,芯片模拟在不同条件下的表现。
应用举例
-
用System Verilog编写的测试台可能会向模拟器标识某个特定的块应该关闭电源,以确保其他块在没有先检查电源状态的情况下不会访问它。
-
晶体管级模拟可以使用电源定义来观察当电源电压或偏置电压改变时会发生什么。当一个模块的供电电压被降低以节省电力,而其他模块则以最大电压运行时,所有必要的逻辑路径是否满足预期的时序?
-
类似地,静态分析工具可以检查正确的电平移位器是否到位,以确定不同电源域中的块是否可以通信。
谁支持UPF
许多EDA供应商已经选择在他们的流程中支持UPF,包括Mentor Graphics
和Synopsys
。然而,支持并不是普遍的。Cadence Design Systems支持最初由公司开发的通用功率格式,但现在由Silicon Integration Initiative管理,但已宣布支持最新版本的IEEE 1801,该版本包含了来自CPF的许多特性。
UPF文件内容
-
TCL变量
这部分变量主要是简化RTL路径名,提高UPF的可读性。 -
约束UPF
定义电源域和电源状态。在配置UPF中有更详细的描述,isolation和power control信号来挂接到电源域。 -
配置UPF
定义电源控制逻辑,包括iso隔离控制 -
实现UPF
实现UPF文件必须定义:- The supply ports and names
- Voltage levels of each supply state
- Memory power modes and memory port attributes
- Level shifter rules
- Isolation rule updates