Read UPF Utility#
This module contains functionality to read, and modify information from Unified Power Format (UPF) files.
Commands#
Note
Parameters in square brackets
[-param param]
are optional.Parameters without square brackets
-param2 param2
are required.
Read UPF#
Sources the UPF file.
read_upf
-file file
Options#
Switch Name |
Description |
---|---|
|
Path to |
Write UPF#
Writes the UPF file.
write_upf file_name
Options#
Switch Name |
Description |
---|---|
|
Filename argument. |
Create Power Domain#
This command creates power domain for a group of modules.
create_power_domain
[-elements elements]
name
Options#
Switch Name |
Description |
---|---|
|
List of module paths that belong this this domain OR |
|
Domain name. |
Create Logic Port#
This command creates logic port. Direction must be specified from:
in
, out
, inout
.
create_logic_port
[-direction direction]
port_name
Options#
Switch Name |
Description |
---|---|
|
Direction of the port ( |
|
Port name. |
Create Power Switch#
This command creates power switch.
create_power_switch
[-domain domain]
[-output_supply_port output_supply_port]
[-input_supply_port input_supply_port]
[-control_port control_port]
[-on_state on_state]
name
Options#
Switch Name |
Description |
---|---|
|
Power domain name. |
|
Output supply port of the switch. |
|
Input supply port of the switch. |
|
Control port on the switch. |
|
One of { |
|
Power switch name. |
Create or Update Isolation Strategy#
This command creates or update isolation strategy.
set_isolation
[-domain domain]
[-applies_to applies_to]
[-clamp_value clamp_value]
[-isolation_signal isolation_signal]
[-isolation_sense isolation_sense]
[-location location]
[-update]
name
Options#
Switch Name |
Description |
---|---|
|
Power domain |
|
Restricts the strategy to apply one of these ( |
|
Value the isolation can drive ( |
|
The control signal for this strategy. |
|
The active level of isolation control signal. |
|
Domain in which isolation cells are placed ( |
|
Only available if using existing strategy, will error if the strategy doesn’t exist. |
|
Isolation strategy name. |
Set Interface cell#
This command sets the interface cell.
use_interface_cell
[-domain domain]
[-strategy strategy]
[-lib_cells lib_cells]
Options#
Switch Name |
Description |
---|---|
|
Power domain name. |
|
Isolation strategy name. |
|
List of lib cells that could be used. |
Set Domain Area#
This command sets the power domain area.
set_domain_area
domain_name
-area {llx lly urx ury}
Options#
Switch Name |
Description |
---|---|
|
Power domain name. |
|
x-/y- coordinates in microns for the lower left and upper right corners of the power domain area. |
Map existing power switch#
This command maps existing power switch.
map_power_switch
[-switch_name_list switch_name_list]
[-lib_cells lib_cells]
[-port_map port_map]
Options#
Switch Name |
Description |
---|---|
|
A list of switches (as defined by create_power_switch) to map. |
|
A list of library cells that could be mapped to the power switch |
|
A map that associates model ports defined by create_power_switch to logical ports |
Set Level Shifter#
This command sets level shifter. Options coming soon.
set_level_shifter
[-domain domain] \
[-elements elements] \
[-exclude_elements exclude_elements] \
[-source source] \
[-sink sink] \
[-use_functional_equivalence use_functional_equivalence] \
[-applies_to applies_to] \
[-applies_to_boundary applies_to_boundary] \
[-rule rule] \
[-threshold threshold] \
[-no_shift] \
[-force_shift] \
[-location location] \
[-input_supply input_supply] \
[-output_supply output_supply] \
[-internal_supply internal_supply] \
[-name_prefix name_prefix] \
[-name_suffix name_suffix] \
[-instance instance] \
[-update] \
[-use_equivalence use_equivalence] \
name
Options#
Switch Name |
Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Set Domain Voltage#
This command sets the voltage of a power domain.
set_domain_voltage
[-domain domain] \
[-voltage voltage]
Options#
Switch Name |
Description |
---|---|
|
Power domain name. |
|
Power domain voltage. The allowed values are |
Set Level Shifter Cell#
This command sets the library cell used for level shifter.
set_level_shifter_cell
[-level_shifter level_shifter] \
[-cell_name cell_name] \
[-input_port input_port] \
[-output_port output_port]
Options#
Switch Name |
Description |
---|---|
|
KIV. |
|
KIV. |
|
KIV. |
|
KIV. |
Example scripts#
Example script demonstrating how to run upf
related commands can be found here:
./test/upf_test.tcl
Regression tests#
There are a set of regression tests in ./test
. For more information, refer to this section.
Simply run the following script:
./test/regression
Limitations#
FAQs#
Check out GitHub discussion about this tool.
License#
BSD 3-Clause License. See LICENSE file.