VCLP的使用

I. VCLP 的阶段
II. UPF Design FLow

VCLP  At RTL-levelVC LP UPF checks help in identifying power  intent issues early in the design life-cycle and enable you to arrive at a clean UPF before starting the design flow.  VCLP UPF checks ensure that the UPF is complete and the design conforms to all the isolation and level shifter rules for all power-modes.

At Netlist level, the VC LP UPF and functional(architectural) checks ensure that the netlist is consistent with UPF in structure and function.

The VC LP Power Ground checks help validate the power network implementation by verifying if the power/ground pin connectivity in the post-layout design is consistent with UPF and cell library.

Vclp RTL阶段需要读入待验证的模块的filelistRTL文件的读入方式是通过read_filevcs analyze –vcselaborate –vcs 这些阶段,待读入的文件通过rtl_filelist进行设置。

设置的脚本set_lib.tcl set rtl_filelist 设置待读入的文件,通过common_setup.tcl设置DESIGN_NAME

读入UPF文件read_upf Makefile 设置通过UPF_RTL ?= */win2030_dsp_subsys.upf

check_lp阶段使用check_lp –stage upf check_lp –stage design

report_lp阶段报告UPF目前存在的问题,这些问题可以通过查找 VC_Low_power_Message_Reference查找问题

 Start with logic and specification

 Define Domains

 Define Power States

 Embellish designs with:

-Domain definitions

  .Select elements

  .Provide Control and Power

-Domain boundary elements

  .Level shifters

  .Isolation

-Identify Controlled Elements

  .Retention

  .Switches

-Provide interconnect

-Logical Verification

-Implementation

-Validation

set_scope top

create_power_domain top_power_domaininclude_scope

create_supply_net VDD_SOC domain top_power_domain

connect_supply_net VDD_SOC –ports {pad_VDD_SOC}

create_supply_net VSS_SOC domain top_power_domain

connect_supply_net VSS_SOC –ports {pad_VSS_SOC}

create_power_domain my_power_domain –elements {U1}

create_supply_net sw_vdd –domain my_power_domain

set_domain_supply_net my_power_domain

 primary_power_net sw_vdd

 primary_ground_net VSS_SOC

create_power_switch my_power_switch domain my_power_domain

 -input_supply_port {my_sw_input_port  VDD_SOC}

-output_supply_port {my_sw_output_port  sw_vdd}

-control_port {my_sw_control_port  pwr_req}

-ack_port {my_ack_port pwr_ack}

-on_state {pwr_on_state my_input_port {my_sw_control_port == 1 })}

-off_state {pwr_off_state {my_sw_control_port == 0}}

set_retention my_retention_strategy domain my_power_domain retention_power_net VDD_SOC set_retention_controlmy_retention_strategydomain my_power_domain save_signal {retain_n negedge}

restore_signal {retain_n posedge}

set_isolation my_power_domain_isolationdomain my_power_domainisolation_power_net VDD_SOC -clamp_value 0

set_isolation_control my_power_domain_isolationdomain my_power_domain -isolation_signal isolate -location self

set_level_shifter my_level_shifter_strategy –domain Domain_A applies_to outputs –location fanout

set_scope top

create_power_domain top_power_domaininclude_scope

create_supply_net VDD_SOC domain top_power_domain

connect_supply_net VDD_SOC –ports {pad_VDD_SOC}

create_supply_net VSS_SOC domain top_power_domain

connect_supply_net VSS_SOC –ports {pad_VSS_SOC}

create_power_domain my_power_domain –elements {U1}

create_supply_net sw_vdd –domain my_power_domain

set_domain_supply_net my_power_domain

 primary_power_net sw_vdd

 primary_ground_net VSS_SOC

create_power_switch my_power_switch domain my_power_domain

 -input_supply_port {my_sw_input_port  VDD_SOC}

-output_supply_port {my_sw_output_port  sw_vdd}

-control_port {my_sw_control_port  pwr_req}

-ack_port {my_ack_port pwr_ack}

-on_state {pwr_on_state my_input_port {my_sw_control_port == 1 })}

-off_state {pwr_off_state {my_sw_control_port == 0}}

set_retention my_retention_strategy domain my_power_domain retention_power_net VDD_SOC set_retention_controlmy_retention_strategydomain my_power_domain save_signal {retain_n negedge}

restore_signal {retain_n posedge}

set_isolation my_power_domain_isolationdomain my_power_domainisolation_power_net VDD_SOC -clamp_value 0

set_isolation_control my_power_domain_isolationdomain my_power_domain -isolation_signal isolate -location self

set_level_shifter my_level_shifter_strategy –domain Domain_A applies_to outputs –location fanout

UPF creates

        Power nets

        Power ports

        Power swithes

        Isolation cells

        Level shifters

UPF Connects Power Nets to

        Power ports

        Power switches

        Isolation cells

        Level shifters

        Retention Flops

        Standard cell logic

UPF converts flops to retention flops

UPF connects control signals to

         Power switches

         Isolation cells

         Retention flops

ON:

        Both primary power and ground are ON

         Supply port drives a voltage value

OFF:

        Primary power and/or ground are OFF

        Voltage value is irrelevant

PARTIAL_ON

        For power-aware  models may more accurately reflect switching capacitive transition

         Useful in supply net resolution (coming up)

Event:

         Power net to logic block switched off

         And/Or Ground net switched off

Logic behavior is disabled from evaluation

          On inputs may transition,but events do not trigger powered down logic to evaluate

 Wires driven by powered down logic are corrupted

          X for logic types

          Default initial value all other types

           Pass through wires are not effected

Registers in the powered down logic are corrupted        

       

Event:

        Power and Ground are switched ON

Logic behavior is enabled for evaluation:

        Combinatorial logic and latches are re-evaluated

        Continuous assignments are re-evaluated

        Flops (edge-triggerd logic) evaluated on next active edge

Wire values are updated as assignments are evaluated

Register values remain unchanged until controlling logic is re-evaluated

Power down/up semantics applies for:

          Logic connected to primary power&ground

          Retention registers connected to retention power & ground

                If a retention supply is swiched off during retention,the retained value is corrupted and save/restore is disabled

           Isolation logic connected to isolation power & ground

                 If an isolation supply is switched off,then the isolated output is corrupted

Other supplies may be defined in UPF

          But,UPF defines no power down/up semantics for these supplies

          The logic connected to these supplies must be power-aware

                  .Explicitly handle corruption and evaluation (switching enabling/disabling)

each IP comes with a UPF:

        formal description of power within IP

        to be used ‘as is’ or merged on the top level

Incremental change from version to version of an IP block

        reuse of existing UPF

Power configuration of ‘family members’ on top level

       upper level UPF links UPF of IPs together and defines PST

        Power and Ground are switched ON

See UPF commands:

      merge_power_domains

       option ‘-scope’ defines hierarchical scope of UPF commands

给出UPF文件之前需要画出power arch结构图,power arch结构图需要标明power domainpower supply、需要画出power_switch需要给出power_switch的供电,同时需要添加isolation cell,通常设置output接口的clamp

如下图

需要定义supply_net supply_port 需要定义POWER GROUD,supply_net 是内部定义的net线,supply_port是外部port

create internal power pin 使用create_supply_net VDDCORE_cluster_i –resolve parallel

定义内部的power pinassociate_supply_set –handle (将电源集、电源开关或策略电源集句柄相关联)

set_isolation             需要定义在哪个domainisolation_supply_set isolation的供电

isolation_signal         isolation的控制信号

isolation_sense          isolation

clamp_value               clamp到什么上去

location 有多种选择可以放在self也可以放在pa

applies_to   输入还是输出

后端使用的UPF的upf version 2.1

验证仿真在sim选项上使用-upf *.upf 加上去,supply(VDD_SOC,1,)这样

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值