低功耗技术(三)UPF的使用

原创 AndyICer Andy的ICer之路 2月21日
UPF是一个统一的,被广泛应用的低功耗实现标准。它用一些标准的语言描述用户的低功耗设计意图。

一、UPF所需要的特殊单元库
1)Level-Shifter和Isolation Cell

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

对于电源关短技术,电源关短区域的输出信号在电源关断时处于不定态,这种不定态会导致其负载单元出现内部电流,从而导致不期望的功耗。所以需要在电源关断区域的输出信号上插入Isolation Cell来实现对不定态的隔离。

2)Power-Gating Cell,Retation-Register和Always-on单元

对于电源关断技术,需要Power-Gating Cell来实现电源的关断。可以选择断开电源(VDD)或地(VSS)的连接来实现Power-Gating;

电源关断模块有可能要求register对关断前的数据进行锁存或者在电源打开后要求对锁存的数据进行恢复,这就需要特殊的单元Retention-Register。

在电源关断模块还有可能需要有些信号线或逻辑长期工作,比如MTCOMS单元的控制信号线,Retention-register的save/restore控制信号,isolation cell的控制信号。为了实现这种功能,这就需要另外的特殊单元叫always-on cell。

二、UPF在芯片设计实现中的应用

低功耗技术(三)UPF的使用_第1张图片
芯片划分3个power domain,分别为PD_1、PD_2、PD_TOP。其中PD_1是掉电区,PD_2是降压区,PD_TOP是常开区;PD_2嵌套在PD_1内部,当PD_1掉电时,PD_2可以降压保持数据即可。VDD和VDD_2是芯片外部提供的两个电源,分别提供给PD_TOP和PD_2;而VDD_1是PD_1的内部电源,由VDD经过MTCOMS产生,可以通过控制MTCOMS关断PD_1掉电。

三、UPF对Power Domain的描述
1)在UPF中,首先要对所有的Power domain进行定义。先设定顶层的power domain,然后描述PD_1和PD_2这两个power domain。

#power domaindefinitions
Create_power_domainPD_TOP -include_scope
Create_power_domainPD_1 -elements BLOCKA
Create_power_domainPD_2 -elements BLOCKB

2)创建Power domain的建议

一些没有关闭多长时间的逻辑不应该分到关断domin里

对一些关键路径逻辑不应该考虑使用低电压或者动态电压频率调节技术

只有那些对性能没有多大影响可以加入一个新的domain

UPF对Power Network的描述
然后根据电源分区拓扑图,清晰地描述各个power_domain里面的电源网络(Power Nerwork),如下所示,详细的定义了每个domain里面的电源线的名称以及和芯片原始电源输入端口的连接关系。

#power ports definitions//创建顶层的电源ports
Create_supply_port VDD-domain PD_TOP -direction in
Create_supply_port VDD_2-domain PD_TOP -direction in
Create_supply_portVSS -domain PD_TOP -direction in
#supply netsdefinitions//创建内部电源线
Create_supply_netVDD -domain PD_TOP//顶层的电源线
Create_supply_net VDD-domain PD_1 -reuse//连接到内部domain
Create_supply_net VDD_2-domain PD_TOP
Create_supply_net VDD_2-domain PD_1 -reuse
Create_supply_net VDD_2-domain PD_2 -reuse
Create_supply_net VDD_1-domain PD_1
Create_supply_net VSS-domain PD_TOP
Create_supply_net VSS-domain PD_1 -reuse
Create_supply_net VSS-domain PD_2 -reuse
#connect thesupply net to power port
Connect_supply_netVDD -ports VDD
Connect_supply_netVDD_2 -ports VDD_2
Connect_supply_netVSS -ports VSS
#define theprimary power/ground for power domains
Set_domain_supply_netPD_TOP -primary_power_net VDD -primary_ground_net VSS
Set_domain_supply_netPD_1 -primary_power_net VDD_1 -primary_ground_net VSS
Set_domain_supply_netPD_2 -primary_power_net VDD_2 -primary_ground_net VSS

四、UPF对Power Gating的描述
1)含有电源关短模块,需要在UPF中定义电源关短电源(Power Gating cell),描述该单元的电源输入输出,以及控制信号的连接。

Create_power_switch SW1-domain PD_1\
-output_supply_port {VDD_OUT VDD_1}\
       -input_supply_port{VDD_INVDD}\
-control_port{PW_CTRL pd1_pw_en}\
-on_state {PW_ON VDD_IN {PW_CTRL}}
-ack_port{PW_ACK pd1_pw_ack}
   该条命令中VDD_1是VDD经过该单元后的电源名称,pd1_pw_en是控制信号,当该控制信号为高的时候,VDD_1接通VDD使电路处于开启状态,除了该控制信号,该单元还输出一个叫pd1_pw_ack的响应信号。

五、UPF对Isolation的描述
因为芯片有关断模块,从功能上了为处理模块关断后信号输出的稳定性,还需要增加关断电源模块处于关断时如何插入isolation单元的描述。如下所示,以PD_1的边界信号定义为例:指定其所有输入信号都不插入isolation cell,输出信号默认插入到0的isolation cell,对其中两个特殊信号输入到1的isolation cell。并且定义了isolation cell的控制信号,以及插入的位置是在PD_TOP domain。

六、UPF对Power state的描述
在UPF里面,还有一个非常重要的部分,那就是描述电源状态表(Power state Table),也就是说要描述各个电源有哪些工作模式。有了这个表格,工具就可以判断是否需要在各个电源模块之间插入特殊的单元。

   本芯片共有三种工作模式:

pst_pd1_ON是正常模式,三个domain都是1.2V供电;

pst_pd1_OFF是掉电模式,PD_1掉电,其他两个domain都是1.2V供电;

pst_pd1_LOW是掉电模式,PD_1掉电,PD_2降压到0.8V供电;

add_port_state VDD -state{NOR_VOL 1.2}
add_port_state VDD_1 -state{NOR_VOL 1.2}
add_port_state VDD_1 -state{OFF_VOL off}
add_port_state VDD_2 -state{NOR_VOL 1.2}
add_port_state VDD_2 -state{LOW_VOL 0.8}
create_ps top_pst -supplies [list VDD VDD_1 VDD_2]
add_pst_state pst_pd1_ON -pst top_pst -state{ NOR_VOL NOR_VOL NOR_VOL}
add_pst_state pst_pd1_OFF -pst top_pst -state{ NOR_VOL OFF_VOL NOR_VOL}
add_pst_state pst_pd2_LOW -pst top_pst -state{ NOR_VOL OFF_VOL LOW_VOL}

你可能感兴趣的:(低功耗设计与验证,硬件架构)