Product Documentation
Virtuoso Power Manager User Guide
Product Version IC23.1, June 2023

Exporting 1801 Power Model

You can export the power intent specified for the design to a 1801 power model file. To export power intent from a design,

  1. Open the cellview in Power Manager.
  2. Prepare the setup for automatic extraction.
  3. Load the setup from the Power Manager toolbar/menu.
  4. On the Power Manager toolbar/menu, click Extract from Design.
  5. Use vpmExportPowerModel to export the 1801 Power Model information for a cellview.

In the 1801 power model, the power intent of the top design is only exported as the power intent information, with no sub-block power intent details. A power model is used to define the power intent of a hard IP cell. The command pair begin_power_model and end_power_model create a definitive boundary for the power intent for the hard IP cell. A model name is created, and it is targeted for a specific macro cell.

The interfaces of the hard IP power model include the top-level power domain for this IP cell and all the supplies of IP. This power domain is also used to specify the system power states at the hard IP level.

upf_version 2.1
##### Power Model Initialization (Section 1)##################################
begin_power_model top_model -for top
##### Supply Ports (Section 2)###################################################
create_supply_port VDD!  -direction inout
create_supply_port VDDA! -direction inout
create_supply_port VSS!  -direction inout
##### Supply Nets (Section 3)####################################################
create_supply_net VDD   -resolve parallel 
create_supply_net VDD1  -resolve parallel 
create_supply_net VDDA  -resolve parallel 
create_supply_net VDDSW -resolve parallel 
create_supply_net VSS   -resolve parallel 
create_supply_net VSS1  -resolve parallel 
connect_supply_net VDD    -ports { VDD }
connect_supply_net VDDA   -ports { VDDA }
connect_supply_net VDDSW  -ports { I3/I0/VDD }
connect_supply_net VSS    -ports { VSS }
##### Supply Sets (Section 4)####################################################
create_supply_set SS_VDDA_VSS      -function { power VDDA } -function { ground VSS }
create_supply_set SS_VDDSW_VSS     -function { power VDDSW } -function { ground VSS }
create_supply_set SS_VDD_VSS       -function { power VDD } -function { ground VSS }
##### Power Domains (Section 5)#################################################
create_power_domain PD_MACRO -elements {.}  \
-supply { primary SS_VDD_VSS } \
-supply { extra_supplies_0 SS_VDD+VDDSW_VSS } \
-supply { extra_supplies_1 SS_VDDA_VSS } \
-supply { extra_supplies_2 SS_VDDSW_VSS }
##### Port Attributes (Section 6)############################################
set_port_attributes  -port en_iso  -receiver_supply SS_VDD_VSS
set_port_attributes  -port in1  -receiver_supply SS_VDD_VSS
set_port_attributes  -port in2  -receiver_supply SS_VDD_VSS
set_port_attributes  -port in3  -receiver_supply SS_VDD_VSS
set_port_attributes  -port in4  -receiver_supply SS_VDD+VDDSW_VSS
set_port_attributes  -port out1  -driver_supply SS_VDD_VSS
set_port_attributes  -port out2  -driver_supply SS_VDD_VSS
set_port_attributes  -port out3  -driver_supply SS_VDD_VSS
set_port_attributes  -port out_iso  -driver_supply SS_VDD_VSS
set_port_attributes  -port out_psw  -driver_supply SS_VDD_VSS
set_port_attributes  -port outvdd  -driver_supply SS_VDD_VSS
set_port_attributes  -port psw_en  -receiver_supply SS_VDD_VSS
##### Power States (Section 7)###########################################
add_power_state SS_VDDA_VSS -supply \
                             -state { ON -simstate NORMAL \
                                  -supply_expr { power == { FULL_ON 1.300000 } && ground == { FULL_ON 0.000000 } }} \ 
                              -state { OFF -simstate CORRUPT \
                                  -supply_expr { power == OFF && ground == OFF }}
add_power_state SS_VDDSW_VSS -supply \
                             -state { ON -simstate NORMAL \
                                  -supply_expr { power == { FULL_ON 1.100000 } && ground == { FULL_ON 0.000000 } }} \ 
                              -state { OFF -simstate CORRUPT \
                                  -supply_expr { power == OFF && ground == OFF }}
add_power_state SS_VDD_VSS -supply \
                             -state { ON -simstate NORMAL \
                                  -supply_expr { power == { FULL_ON 1.100000 } && ground == { FULL_ON 0.000000 } }} \ 
                              -state { OFF -simstate CORRUPT \
                                  -supply_expr { power == OFF && ground == OFF }}
add_power_state PD_MACRO -domain  \
                             -state { S0 -logic_expr { SS_VDD_VSS == ON && SS_VDDSW_VSS == ON && SS_VDDA_VSS == ON }} \
                             -state { S1 -logic_expr { SS_VDD_VSS == ON && SS_VDDSW_VSS == ON && SS_VDDA_VSS == OFF }} \
                             -state { S2 -logic_expr { SS_VDD_VSS == ON && SS_VDDSW_VSS == OFF && SS_VDDA_VSS == ON }} \
                             -state { S3 -logic_expr { SS_VDD_VSS == ON && SS_VDDSW_VSS == OFF && SS_VDDA_VSS == OFF }}
##### Power Model End (Section 8)######################################
end_power_model

The following points explain the different sections of the exported 1801 power model:

Related Topics

Setup for Automatic Extraction of Power Intent

vpmExportPowerModel

Registering Name-Based Supply Nets

Extracting the Power Intent from a Design

Creation of Power Domains

Exporting 1801 Design Model

Exporting Liberty Power Model

Special Isolation Cells in Liberty Power Model Export


Return to top
 ⠀
X