low power-upf-vcsnlp(六)

本文详细介绍了在低功耗设计中使用UPF进行电源开关创建、电源状态管理和级联转换的过程,包括如何添加power switch、设置power state、创建power state group以及level shifter和retention的配置。并通过VCSNLP工具进行了仿真验证,探讨了开关实验、响应延迟、功耗状态和retention保存与恢复的细节。
摘要由CSDN通过智能技术生成

low power-upf-vcsnlp(一)

例子中最初dut和环境见上篇low power-upf-vcsnlp(二)

例子中dut和环境在上篇基础上修改low power-upf-vcsnlp(三)

low-power-upf-vcsnlp(四)

low power-upf-vcsnlp(五) 

low power-upf-vcsnlp(六)

4.create_power_switch

 -switch_type 指定switch类型,如果是粗粒度或者both,则output_supply_port必须指定否则报错。细粒度的则会忽略output_supply_port。

-output_supply_port指定output port name以及连接的net name

-input_supply_port指定input port name以及连接的net name

-control_port指定control port name和连接的net name。net负责开关的。

-on/off_state指定state,和对应的布尔表达式。

-ack_port -ack_delay指定响应port和延时。

(1)添加PD0的power switch

set_design_top top/dut_u

#create_power_domain PD_TOP -include_scope
create_power_domain PD_TOP -elements {.} \
                -exclude_elements {inst0}

create_supply_port VDD_TOP
create_supply_port VSS_TOP
create_supply_net  VDD_TOP
create_supply_net  VSS_TOP

connect_supply_net VDD_TOP -ports VDD_TOP
connect_supply_net VSS_TOP -ports VSS_TOP

create_supply_set PD_TOP_SET \
    -function {power VDD_TOP} \
    -function {power VSS_TOP}

create_power_domain PD_TOP \
    -supply {primary PD_TOP_SET} \
    -update


create_supply_port VDD_TOP0
create_supply_net  VDD_TOP0
connect_supply_net VDD_TOP0 -ports VDD_TOP0

#PD0
set_scope inst0

create_power_domain PD0 -elements {.}

create_supply_port VDD0_i
create_supply_port VSS0

create_supply_net VDD0_i
create_supply_net VSS0

#这个net是接到power switch中的output_supply_port上,并且作为PD0的supply_net. 
create_supply_net VDD0_o

connect_supply_net VDD0_i -ports VDD0_i
connect_supply_net VSS0 -ports VSS0

create_power_switch PD0_SWITCH -domain PD0 \
    -input_supply_port {in0 VDD0_i} \
    -output_supply_port {out0 VDD0_o } \
    -control_port {en0 pwr_en} \
    -on_state {PD0_on in0 {en0}} \
    -off_state {PD0_off {!en0}}

create_supply_set PD0_SET \
    -function {power VDD0_o}  \
    -function {ground VSS0} 

create_power_domain PD0 \
    -supply {primary PD0_SET} \
    -update


set_scope ..

connect_supply_net VSS_TOP -ports inst0/VSS0
connect_supply_net VDD_TOP0 -ports inst0/VDD0_i

仿真结果的power map如下,其中PD0的power supply port和power switch的 output supply port使用VDD0_o连接起来,power switch通过pwr_en进行控制:

(2)在增加一个PD1的power domain,并为其增加一个power switch。

set_design_top top/dut_u

#create_power_domain PD_TOP -include_scope
create_power_domain PD_TOP -elements {.} \
                -exclude_elements {inst0}

create_supply_port VDD_TOP
create_supply_port VSS_TOP
create_supply_net  VDD_TOP
create_supply_net  VSS_TOP

connect_supply_net VDD_TOP -ports VDD_TOP
connect_supply_net VSS_TOP -ports VSS_TOP

create_supply_set PD_TOP_SET \
    -function {power VDD_TOP} \
    -function {power VSS_TOP}

create_power_domain PD_TOP \
    -supply {primary PD_TOP_SET} \
    -update


create_supply_port VDD_TOP0
create_supply_net  VDD_TOP0
connect_supply_net VDD_TOP0 -ports VDD_TOP0

#PD0
set_scope inst0

create_power_domain PD0 -elements {.}

create_supply_port VDD0_i
create_supply_port VSS0

create_supply_net VDD0_i
create_supply_net VSS0

#这个net是接到power switch中的output_supply_port上,并且作为PD0的supply_net. 
create_supply_net VDD0_o

connect_supply_net VDD0_i -ports VDD0_i
connect_supply_net VSS0 -ports VSS0

create_power_switch PD0_SWITCH -domain PD0 \
    -input_supply_port {in0 VDD0_i} \
    -output_supply_port {out0 VDD0_o } \
    -control_port {en0 pwr_en} \
    -on_state {PD0_on in0 {en0}} \
    -off_state {PD0_off {!en0}}

create_supply_set PD0_SET \
    -function {power VDD0_o}  \
    -function {ground VSS0} 

create_power_domain PD0 \
    -supply {primary PD0_SET} \
    -update


set_scope ..

connect_supply_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值