UPF [UNIFIED POWER
FORMAT]
UPF is used for low power design Intent and this is widely
used in Semiconductor Industry. UPF is
abstract of supply distribution and control network specification. This is used
through out of design cycle. Everything defined in UPF exists in logic
hierarchy of Design
COMMOND USED IN
WRITING UPF:
1. Creating Power Domain
create_power_domain domain_name [-elements list] [-include_scope]
[-scope instance_name]
Ø create_power_domain PDA –include_scope
2. Creating
Supply Port
create_supply_port port_name -domain domain_name [-direction <in |
out>]
Ø
create_supply_port VDDMAIN –domain PDA –direction
in
3. Creating Supply NET
create_supply_net net_name -domain domain_name [-reuse] [-resolve <
unresolved | one_hot | parallel >]
Ø
create_suply_net VDDMAIN –domain PDA -resolved
parallel
4. Connecting SUPPLY NET
connect_supply_net net_name
[-ports list]
[-pins list]
[< -cells list |
-domain domain_name >]
[< -rail_connection rail_type |
-pg_type pg_type >]*
[-vct vct_name]
Ø Connect_supply_net VDDMAIN -port VDDMAIN
5. Create SUPPLY SET
Ø Create_supply_set SS_VDDMAIN –function
{power VDDMAIN} –function {ground VSS}
6. Associate Supply Set
Ø Associate_supply_set SS_VDDMAIN PDA.primary
7. Creating Power Switch
create_power_switch switch_name
-domain domain_name
-output_supply_port { port_name supply_net_name }
{-input_supply_port { port_name supply_net_name }}*
{-control_port { port_name net_name }}*
{-on_state {state_name input_supply_port
{boolean_function}}}*
[-on_partial_state { state_name input_supply_port {
boolean_function }}]*
[-ack_port { port_name net_name [{boolean_function}] }]*
[-ack_delay { port_name delay}]*
[-off_state { state_name {boolean_function}
}]*
[-error_state { state_name
{boolean_function} }]*
Ø Create_power_switch
SW1 –domain PDA –input_supply_port {inp VDDMAIN} –output_supply_ports {out
VDDMAINS}
8. MAP_POWER SWITCH
Ø map_power_switch
SW1 –domain PDA –lib_name <name_of_lib_cell>
9. ADD PORT STATE
Ø Add_port_state
VDDMAIN –state {on_state 1.000}
10.
Create
Power State
Ø create_pst
block.pst –supply { VDDMAIN ____ ____}
Ø add_pst_state
pst_state_1 –pst block.pst –state {on_state off_state ………}
11.
ISOLATION
CONTROL
set_isolation iso3
–domain PDgreen –isolation_power_net Vbu –clamp_value 0 –applies_to outputs
set_isolation_control iso3 –domain
PDgreen –isolation_signal CPU_iso –location self
Ø set_isolation ISO1_clamp0 –domain PDA –isolation_supply_set SS_VDDAON –element { < list of
element>} –clamp_value 0
Ø set_isolation_control
ISO1_clamp0 –domain PDA –isolation_signal isoen –isolation_sence low
12.
Setting
Port attribute
Ø Set_port_attribude
–port {<INPUT_PORT>} –driver_supply SS_VDDAON
Ø Set_port_attribude
–port {<OUTPUT_PORT>} –receiver_supply SS_VDDAON