Introduction to Unified Power Format syntax to model the Power Intent of your Design.
|
create_power_domain pd1
|
Power domain created at top level scope
|
|
create_power_domain pd2 -elements cpu
|
specify instance name
|
|
create_power_domain pd3 -elements Mem -scope cpu
|
in relative scope cpu, exists instance Mem
|
|
set_domain_supply_net is required to specify primary power and ground nets for a power domain
|
|
|
create_power_switch myswitch -domain Core -input_supply_port {in VDDC} -output_supply_port {out VDDS } -control_port {Nsleep PMU/sleep} -on_state {on_state in {!sleep} }
|
|
|
Place & Route later will physically map the constraint to the real switch cells:
|
|
|
map_power_switch -domain <domain_name> -lib_cell <lib_cell_name> <switch_name>
|
|
create_supply_port VDD
|
Creates Port VDD
|
|
create_supply_net VDD -domain TOP
|
Creates supply net at top level
|
|
connect_supply_net VDD -ports VDD
|
Connects supply net to port VDD
|
|
set_domain_supply_net
|
Specifies primary power/ground nets for power domain
|
|
set_level_shifter LS_in -domain PD2 -applies_to inputs -rule high_to_low -location self
|
|
|
set_level_shifter LS_out -domain PD2 -applies_to outputs -rule low_to_high -location parent
|
|
|
rule can be " high_to_low", "low_to_high" or "both"
|
location can be "self", "parent" or "automatic"
|
|
set_isolation -applies_to outputs -location parent
|
|
set_isolation –no_isolation –elements {list}
|
|
set_isolation iso_core_out -domain Core_domain -isolation_power_net VDDC -isolation_ground_net VSS -clamp_value 1 -applies_to outputs
|
|
set_isolation_control iso_core_out –domain Core_domain -isolation_signal PwrCtrl/isolate_ctrl -isolation_sense low -location parent
|
|
set_retention RET_PD1 -domain PD1 -retention_power_net VDDH -retention_ground_net VSS
|
||
|
set_retention_control RET_PD1 -domain PD1 -save_signal {SAVE high} -restore_signal {RESTORE high}
|
||
|
map_retention_cell -domain PD1 -lib_cells
|
|
To specify driver supply set on input ports and receiver supply set on output port ,one can use set_port_attributes command(SPA),
|
|
set_port_attributes -driver_supply_set | -receiver_supply_set VDD_set
|
|
To specify supply net on ports if no corresponding supply set is defined, use set_related_supply_net(SRSN):
|
|
set_related_supply_net –object_list A –power VDD
|
**create_power_domain** doesn't require the use of **set_domain_supply_net** as pre-defined handles **primary.power** and **primary.ground** are automatically created.
Hence :
**set_isolation** doesn't require use of **-isolation_power_net** or **-isolation_ground_net** options
**set_retention** doesn't require use of **-rentention_power_net** or **-retention_ground_net** options
**set_isolation** **-source** SS_VDD1 **-sink** SS_VDD3 -> using source/sink provides finer control for inserting isolation cells to only on ports where the driver supply is related to a given supply set and load supply is related to another supply set. **Works for only for supply sets**
**set_isolation** **-diff_supply_only true** will insert iso cells only for ports where driver and load usea different supply. **Works for both supply sets and supply nets.**
|
Explicit: create_supply_set mySS1 -function {power myVDD} -function {ground myVSS}
|
|
|
Implicit: Supply set handles automatically created with the create_power_domain command
|
|
|
Predefined handles are : PD1.primary PD1.default_isolation PD1.default_retention
|
No comments yet.
Cheatography n. The art of mapping complex subjects into clear, instantly navigable reference guides.