Quick Revision Notes: UPF Commands with Full Syntax & Examples
1. create_power_domain
Purpose: Define a power domain and its attributes.
Command Syntax:
create_power_domain \
[-design <design_name>] \
[-elements <element_list>] \
[-include_scope] \
[-exclude <element_list>] \
[-default] \
[-power_switches <switch_list>] \
[-isolation_strategy <strategy_name>] \
[-retention_strategy <strategy_name>] \
[-parent <domain_name>] \
[-boundary {level | hierarchical}] \
<domain_name>
Example:
create_power_domain \
-elements {top/U1 top/U2} \
-include_scope \
-parent PD_TOP \
-isolation_strategy iso_strat \
-retention_strategy ret_strat \
PD_LOGIC
Creates a domain PD_LOGIC under PD_TOP including instances U1 and U2, with isolation and
retention applied.
2. connect_supply_net
Purpose: Connects a supply net (power/ground) to ports or switches.
Command Syntax:
connect_supply_net \
[-design <design_name>] \
[-domain <power_domain_name>] \
[-location <instance_path>] \
-net <supply_net_name> \
{-ports <port_list> | -switches <switch_list>}
Example:
connect_supply_net \
-net VDD \
-location top/U1 \
-ports {VDD_U1}
Connects VDD to port VDD_U1 at instance top/U1.
3. create_supply_net
Purpose: Define a supply net (e.g., VDD, VSS).
Command Syntax:
create_supply_net \
[-domain <power_domain_name>] \
[-type {power | ground | nwell | pwell | bulk | bias}] \
[-direction {input | output | inout}] \
[-voltage <voltage_value>] \
[-tie] \
[-external_pin <pin_name>] \
[-design <design_name>] \
<supply_net_name>
Example:
create_supply_net \
-domain PD_LOGIC \
-type power \
-direction input \
-voltage 1.2 \
-design chip_top \
VDD_LOGIC
Defines a 1.2V input power net VDD_LOGIC for domain PD_LOGIC.
4. create_supply_port
Purpose: Define a supply port for connection to a module/instance.
Command Syntax:
create_supply_port \
[-domain <power_domain_name>] \
[-type {power | ground | nwell | pwell | bulk | bias}] \
[-direction {input | output | inout}] \
[-design <design_name>] \
[-location <instance_path>] \
<supply_port_name>
Example:
create_supply_port \
-domain PD_LOGIC \
-type power \
-direction input \
-location top/U1 \
VDD_U1
Defines power port VDD_U1 for U1 in PD_LOGIC.
5. set_repeater
Purpose: Specify level shifter/buffer rules between domains.
Command Syntax:
set_repeater \
-type {level_shifter | buffer | custom} \
-from <source_domain> \
-to <destination_domain> \
-cells <lib_cell_list> \
-location {source | destination | auto} \
[-min_distance <value>] \
[-max_distance <value>] \
[-voltage_tolerance <percent>] \
<repeater_name>
Example:
set_repeater \
-type level_shifter \
-from PD_LOGIC \
-to PD_IO \
-cells {LS_BUF_1V8_TO_1V2} \
-location auto \
LEVEL_SHIFT_STRAT
Inserts level shifters between domains PD_LOGIC and PD_IO.
6. create_logic_port
Purpose: Define a logic port for control signals (e.g., isolation enable).
Command Syntax:
create_logic_port \
-direction {input | output | inout} \
[-design <design_name>] \
[-location <instance_path>] \
<logic_port_name>
Example:
create_logic_port \
-direction input \
-location top/AON_Block \
iso_ctrl
Creates input logic port iso_ctrl at top/AON_Block.
7. create_logic_net
Purpose: Declare a logic net for control signals.
Command Syntax:
create_logic_net \
[-design <design_name>] \
[-location <instance_path>] \
<logic_net_name>
Example:
create_logic_net iso_ctrl_net
Declares control net iso_ctrl_net.
8. connect_logic_port
Purpose: Connect a logic port to a logic net.
Command Syntax:
connect_logic_port \
-port <logic_port_name> \
-net <logic_net_name>
Example:
connect_logic_port \
-port iso_ctrl \
-net iso_ctrl_net
Connects logic port iso_ctrl to net iso_ctrl_net.
9. set_isolation
Purpose: Apply an isolation strategy to a domain.
Command Syntax:
set_isolation \
-domain <power_domain_name> \
-isolation_signal <logic_net_name> \
-isolation_cells <cell_list> \
<strategy_name>
Example:
set_isolation \
-domain PD_SW \
-isolation_signal iso_ctrl_net \
-isolation_cells {ISO_BUF} \
ISO_STRAT
Isolates PD_SW with ISO_BUF on control net iso_ctrl_net.
These are the most important UPF commands you’ll use. Pair each command with its appropriate
context as you prepare or review low-power design power intent files. [1]
⁂
1. Broadsemis_UPF.pptx