UPF basics Cheat Sheet
by Bug Hunter (kamezian) via cheatography.com/126408/cs/24454/
Power Domain Power Supply Network UPF 1.0 (cont)
create_power_domain pd1 Power domain created at set_domain_suppl‐ Specifies primary power/ground nets for
top level scope y_net power domain
create_power_domain pd2 - specify instance name create_supply_net -reuse will create supply net and supply port
elements cpu automatically at child level
create_power_domain pd3 - in relative scope cpu, exists
elements Mem -scope cpu instance Mem Level Shifters - set_level_shifter
set_domain_supply_net is required to specify primary power and set_level_shifter LS_in -domain PD2 -applies_to inputs -rule
ground nets for a power domain high_to_low -location self
set_domain_supply_net TOP -primary_power_net VDD -primary_‐ set_level_shifter LS_out -domain PD2 -applies_to outputs -rule
ground_net VSS low_to_high -location parent
rule can be " high_to_low", "low‐ location can be "self", "parent"
Power Switches - MTCMOS Cells _to_high" or "both" or "automatic"
create_power_switch myswitch -domain Core -input_suppl‐ LS needed when 2 different signals belonging to different voltage
y_port {in VDDC} -output_supply_port {out VDDS } -control_port power domains need to be connected to ensure proper signal value
{Nsleep PMU/sleep} -on_state {on_state in {!sleep} } and timing propagation
Place & Route later will physically map the constraint to the real Level Shifter strategy is optional since insertion controlled by PST.
switch cells: LS Strategy can be applied to control thelocation of the LS cells
map_power_switch -domain <domain_name> -lib_cell <lib_cell‐
ISO Cells-set_isolation/set_isolation_control
_name> <switch_name>
set_isolation -applies_to outputs -location parent
Even when not switching,CMOS cells consume leakage power. The
idea is to save leakage power by truning off design partitions set_isolation –no_isolation –elements {list}
when the logic is inactive,for that, Power Switches are added set_isolation iso_core_out -domain Core_domain -isolation_powe‐
between the main supply and the virtual supply to be shutdown. Of r_net VDDC -isolation_ground_net VSS -clamp_value 1 -applies_to
course the virtual supply is connected to standard cells supply rails. outputs
set_isolation_control iso_core_out –domain Core_domain -isola‐
Power Supply Network UPF 1.0
tion_signal PwrCtrl/isolate_ctrl -isolation_sense low -location parent
create_supply_port VDD Creates Port VDD
Provide protection during shutdown to avoid spurious signal propag‐
create_supply_net VDD -domain Creates supply net at top ation
TOP level
connect_supply_net VDD -ports Connects supply net to port
VDD VDD
By Bug Hunter (kamezian) Published 26th September, 2020. Sponsored by Readable.com
cheatography.com/kamezian/ Last updated 27th September, 2020. Measure your website readability!
Page 1 of 3. https://readable.com
UPF basics Cheat Sheet
by Bug Hunter (kamezian) via cheatography.com/126408/cs/24454/
Retention FF Importance of Power State Table
set_retention RET_PD1 -domain PD1 -retention_power_net VDDH - Recommendation to use the supply_net names for create_pst
retention_ground_net VSS command to keep PST matrix readable.
set_retention_control RET_PD1 -domain PD1 -save_signal {SAVE Power Management cell insertion is based on PST and UPF constr‐
high} -restore_signal {RESTORE high} aints:
Level shifter cells are inserted based upon the PST
map_retention_cell -domain PD1 -lib _cells
Isolation cells are inserted based upon the UPF constraints
Retention FF will maintain the state of sequential elements in a Retention cells are inserted based on constraints
shutdown block. Correctness of the design is checked against PST.
Retention supplies must be "Always-ON" as long as the FF need to
hold their value Always-On Logic
Some logic needs to stay active during shutdown
Power State Table - PST
1-Path to enable pins of ISO/ELS
Once you know more about what you are trying to define, specify the 2-Power switches
design switching characteristics in a power state table. 3-Retention registers
This requires knowing (or deciding) the operational voltages for each 4-Feedthrough paths
power domain, and the supplies being used. Always-on logic remains powered within shutdown block
The PST defines clearly all legal voltage states and power state 1-Single-rail AO cells
combinations for a design, hence it becomes the center of the 2-Dual-rail AO cells
design power intent as it captures the dynamic voltage scaling
(DVS/DVFS) and shutdown scenarios. PST Example
add_port_state <port_name> {-state {name <nom>|<min nom
max>|<off>}}
Defines all possible state information to a supply port
create_pst <table_name> -supplies {list}
Creates a PST using a specific order of supply nets
add_pst_state <state_name> -pst <table_name> -state <suppl‐
y_states>
Defines valid combination of supply net values for each possible
state of the design
Create Block Level UPF
PST Example
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
Idea here is to create boundary power constraints for IO ports of
blocks to guide block level implementation.
Also when no SRSN/SPA is applied user cn specify default supply to
be used to power ports:
set_port_attributes -elements { . } -attribute related_supply_def‐
ault_primary TRUE
By Bug Hunter (kamezian) Published 26th September, 2020. Sponsored by Readable.com
cheatography.com/kamezian/ Last updated 27th September, 2020. Measure your website readability!
Page 2 of 3. https://readable.com
UPF basics Cheat Sheet
by Bug Hunter (kamezian) via cheatography.com/126408/cs/24454/
Supply Sets
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 -rententio‐
n_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.
Supply Sets - 2 use models
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
Supply sets provide an abstract way of bundling supply nets and
doing the front-end implementation without knowing the supply
net and port names. Physical net and port information is refined at
the back-end. This helps improve the re-usability of your IP since
the IP is implemented without the actual nets and ports and thus
is more portable.
Complete supply network information is not needed when you
do your front end implementation.
Supply Set Handles-Explicit vs Implicit
By Bug Hunter (kamezian) Published 26th September, 2020. Sponsored by Readable.com
cheatography.com/kamezian/ Last updated 27th September, 2020. Measure your website readability!
Page 3 of 3. https://readable.com