低功耗设计——UPF简介及编写流程


前言

可以把芯片设计粗略分为三个部分:功能、时序和电源,它们分别对应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等单元,来实现多电压域等更复杂的低功耗设计。
在这里插入图片描述

Level Shifter

对于多电压设计,需要用Level-shifter来实现不同电压域之间信号的电平转换。根据信号电平由高到低和由低到高的转换,Level-shifter分为两类,一种是高到低、一种是低到高。
在这里插入图片描述

Isolation Cell

主要用于不同的电源域之间,其中一个电源域断电后,不对另外一个电源域造成影响。主要是将断电后电源域的输出信号钳位到高或者低电平,防止掉电后的X态传播。
在这里插入图片描述

Retention Register

电源关断模块有可能要求register对关断前的数据进行锁存或者在电源打开后要求对锁存的数据进行恢复,这就需要特殊的单元Retention Register。它可以在掉电的时候保持住一个数值,用于对后面电路的控制。
在这里插入图片描述

Power Switch

power switch是一个装置,打开和关闭电源的供应网络。一个开关有一个输入供应网,一个输出供应网,以及至少一个用于控制开关的输入信号,可以通过多个信号控制,也可以输出多个信号。
在这里插入图片描述

Always_On Logic

在电源关断模块还有可能需要有些信号线或逻辑长期工作,比如MTCOMS单元的控制信号线,Retention Register的save/restore控制信号,Isolation Cell的控制信号。为了实现这种功能,这就需要另外的特殊单元叫Always-On BUF。
在这里插入图片描述

三、UPF流程

1. determine power intent

首先需要确定整个低功耗的策略,define power intent主要包括两步:
在这里插入图片描述
For example:
在这里插入图片描述
在把整体的功耗设计意图(power intent)确定好之后,接下来就需要用commands来一步一步实现。

2. define power domains

create power domain command syntax:
在这里插入图片描述
For example:
在这里插入图片描述

3. define supply network

define supply network用到的commands如下:
create_supply_port : 创建一个supply port
create_supply_net : 创建一根supply net
connect_supply_net : 将port 和 net 连接起来
create_supply_set : 一组supply nets 的集合(a bundle of supply nets),每一组包含power和groud,方便调用。supply set 物理上不存在,一种抽象的概念,方便在upf中使用。
在这里插入图片描述在这里插入图片描述
For example:
在这里插入图片描述

4. define supply sets power states

define power states command syntax:
在这里插入图片描述
examples:
在这里插入图片描述

5. define power management strategies

Level Shifting

define level shifter command syntax:
在这里插入图片描述
For example:
在这里插入图片描述

Isolation

define isolation cell command syntax:
在这里插入图片描述
For example:
在这里插入图片描述

State Retention

define retention register command syntax:
在这里插入图片描述
For example:
在这里插入图片描述

Power Switches

define power switch command syntax:
在这里插入图片描述
For example:
在这里插入图片描述

四、UPF实例

在这里插入图片描述
在这里插入图片描述

五、IEEE 1801(UPF) Key Command Subset

在这里插入图片描述
在这里插入图片描述

总结

UPF 语言提供了一种描述芯片功耗要求的方法, 能表述出IC 电路低功耗设计的供电意图,比如描述电压域、电压域的供电端口、电压域的电压变换、电压域的供电电压、电压域之间怎样加入低功耗元件,以及定义电路的电源网络、电源线间的行为等等。UPF 的运用贯穿低功耗电路始终,比如仿真验证、逻辑综合、物理实现、等价性验证和最终签核(SignOff)等。

  • 17
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
低功耗设计是现代集成电路设计中的重要方向,UPF(Unified Power Format)作为低功耗设计的一种工具,已经成为了业界使用的标准。UPF理论和实践方面主要关注以下几个方面: 一、UPF的基本概念。UPF针对的是SoC(System on Chip)设计,因此需要定义好设计中所有的电源域、时钟域、重置域等,并且需要将各个域之间的关系进行明确的描述,包括域间的逻辑关系、互斥关系等。 二、UPF编写和验证。UPF主要包含了各种规则和约束,需要进行编写和验证。UPF编写的重点在于设定各种约束条件,如电源域的启动顺序、软件控制电源域、时钟域的去耦合等。UPF用户需要根据设计的功能及性能规格,制定相应的约束并生成UPF文件,然后进行验证,验证目的在于确认UPF描述的低功耗场景是否符合设计要求,以及检测UPF的一致性和正确性。 三、UPF指导下的低功耗设计实践。在UPF指导下,低功耗设计可以通过多种手段实现,例如电源管理,时钟管理、去耦合设计等。UPF还可以对电源域进行分层,优化电源域间的互相影响,从而实现整个设计的低功耗。 总之,UPF提供了一种全面的低功耗设计思想,基于UPF低功耗设计需要理论与实践相结合,通过细致的设计、编写和验证,实现整个芯片设计的低功耗目标,并提高整个芯片系统的质量和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值