PrimeTime PX User Guide 2008
PrimeTime PX User Guide 2008
User Guide
Version B-2008.12, December 2008
Comments?
Send comments on the documentation by going
to http://solvnet.synopsys.com, then clicking
“Enter a Call to the Support Center.”
Copyright Notice and Proprietary Information
Copyright © 2008 Synopsys, Inc. All rights reserved. This software and documentation contain confidential and proprietary
information that is the property of Synopsys, Inc. The software and documentation are furnished under a license agreement and
may be used or copied only in accordance with the terms of the license agreement. No part of the software and documentation may
be reproduced, transmitted, or translated, in any form or by any means, electronic, mechanical, manual, optical, or otherwise,
without prior written permission of Synopsys, Inc., or as expressly provided by the license agreement.
Right to Copy Documentation
The license agreement with Synopsys permits licensee to make copies of the documentation for its internal use only.
Each copy shall include all copyrights, trademarks, service marks, and proprietary rights notices, if any. Licensee must
assign sequential numbers to all copies. These copies shall contain the following legend on the cover page:
“This document is duplicated with the permission of Synopsys, Inc., for the exclusive use of
__________________________________________ and its employees. This is copy number __________.”
SystemC is a trademark of the Open SystemC Initiative and is used under license.
ARM and AMBA are registered trademarks of ARM Limited.
Saber is a registered trademark of SabreMark Limited Partnership and is used under license.
All other product or company names may be trademarks of their respective owners.
ii
Contents
1. Overview
Introduction to PrimeTime PX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
Power Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
Leakage Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
Dynamic Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4
Internal Power. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4
Switching Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5
Generating Power Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6
2. PrimeTime PX Tutorials
Averaged Power Analysis Mode Tutorial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
Related Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
PrimeTime PX Script File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
Gate-Level Netlist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
Technology Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
SDC File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
Parasitic File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
Switching Activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
Steps for Analyzing Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
iii
Changing Your Working Directory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
Running PrimeTime PX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
Viewing the Power Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6
Vector-Free Power Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6
Related Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6
PrimeTime PX Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
Steps for Analyzing Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
Running PrimeTime PX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
Viewing the Power Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8
Time-Based Power Analysis Mode Tutorial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8
Related Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8
PrimeTime PX Script File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9
Steps for Analyzing Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10
Running PrimeTime PX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10
Reviewing the Power Report and Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11
iv
Analysis Flow With the GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
Starting and Stopping a GUI Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3
Using the GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3
v
Activity File Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5
Mapping the Testbench Instance to the Design Module . . . . . . . . . . . . . . . . . . . . . . 6-6
Handling Large Activity Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-6
Handling VCD Files With Nonmodule Scopes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7
Modeling Special Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7
Glitch Power. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8
Z State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8
X State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8
Debugging Problems With the VCD File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9
Performing Time-Based Power Analysis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9
Understanding the Peak Power Calculation. . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-10
Power Table Switching Activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-10
Initial X-State Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12
Unmatched States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12
Distributed Peak Power Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12
Viewing and Scaling the Power Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-16
vi
Overriding the Library Voltages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-21
9. Generating Reports
Power Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2
Reporting the Intrinsic and Leakage Powers . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-4
Power Group Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-4
Using Power Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5
Reporting Power Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-6
Sample Power Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-6
Custom Report Generation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-9
Index
vii
viii
Preface FIX ME!
ix
What’s New in This Release
Information about new features, enhancements, and changes; known problems and
limitations; and resolved Synopsys Technical Action Requests (STARs) is available in the
PrimeTime PX Release Notes in SolvNet.
If prompted, enter your user name and password. If you do not have a Synopsys user
name and password, follow the instructions to register with SolvNet.
2. Click PrimeTime Suite, then click the release you want in the list that appears at the
bottom.
Audience
PrimeTime PX is intended for designers of high-performance ASIC and structured custom
ICs who need accurate power dissipation data for cell-based designs.
Preface
x
Related Publications
For additional information about Prime Time PX, see Documentation on the Web, which is
available through SolvNet at
http://solvnet.synopsys.com/DocsOnWeb
You might also want to refer to the documentation for the following related Synopsys
products:
• PrimeTime
• Power Compiler
Preface
xi
Conventions
The following conventions are used in Synopsys documentation.
Convention Description
Edit > Copy Indicates a path to a menu command, such as opening the Edit
menu and choosing Copy.
Customer Support
Customer support is available through SolvNet online customer support and through
contacting the Synopsys Technical Support Center.
Preface
xii
Accessing SolvNet
SolvNet includes an electronic knowledge base of technical articles and answers to
frequently asked questions about Synopsys tools. SolvNet also gives you access to a wide
range of Synopsys online services including software downloads, documentation on the
Web, and “Enter a Call to the Support Center.”
http://solvnet.synopsys.com
If prompted, enter your user name and password. If you do not have a Synopsys user name
and password, follow the instructions to register with SolvNet.
If you need help using SolvNet, click HELP in the top-right menu bar or in the footer.
• Open a call to your local support center from the Web by going to
http://solvnet.synopsys.com (Synopsys user name and password required), then clicking
“Enter a Call to the Support Center.”
• Send an e-mail message to your local support center.
- E-mail [email protected] from within North America.
- Find other local support center e-mail addresses at
http://www.synopsys.com/support/support_ctr.
• Telephone your local support center.
- Call (800) 245-8005 from within the continental United States.
- Call (650) 584-4200 from Canada.
- Find other local support center telephone numbers at
http://www.synopsys.com/support/support_ctr.
Preface
xiii
Preface
xiv
1
Overview 1
This chapter describes the PrimeTime PX tool and its features. It contains the following
sections:
• Introduction to PrimeTime PX
• Power Modeling
1-1
Introduction to PrimeTime PX
PrimeTime PX is an add-on feature to PrimeTime that accurately analyzes power dissipation
of cell-based designs. It is intended as an advanced solution for ASIC and structured custom
circuit designers who are developing products for power-critical applications such as
portable computing and telecommunications.
Figure 1-1 shows how PrimeTime PX fits into the Synopsys low-power design methodology.
Design Compiler
PrimeTime/PrimeTime PX
JupiterXT
Milkyway
IC Compiler
Star-RCXT
TetraMAX ATPG
Hercules
PrimeTime PX builds a detailed power profile of the design based on the circuit connectivity,
the switching activity, the net capacitance, and the cell-level power behavior data in the
Synopsys database format (.db) library, which can be either a nonlinear power model
(NLPM) or a Composite Current Source (CCS) library. It then calculates the power behavior
for a circuit at the cell level and reports the power consumption at the chip, block, and cell
levels.
Chapter 1: Overview
1-2
You can use the following power analysis techniques with PrimeTime PX:
Power Modeling
The power dissipated by a circuit falls into two broad categories, as described in this section.
• Leakage power
• Dynamic power, which includes internal power and switching power
For power analysis, your Synopsys library must contain power models for all of the cells.
These power models (NLPM or CCS) contain tables that PrimeTime PX uses to calculate
leakage power and internal power.
Switching power results from calculations based on the voltage, netlist capacitance, and
switching of the nets.
PrimeTime PX uses leakage and dynamic power calculations to return results for peak
power analysis and average power analysis.
Leakage Power
Leakage power is the power dissipated by a cell when it is not switching—that is, when it is
inactive or static.
Power Modeling
1-3
Intrinsic Leakage Power
Leakage power is dissipated in several ways. Most of the leakage power dissipation results
from source-to-drain sub-threshold leakage, which is caused by reduced threshold voltages
that prevent the gate from completely turning off. Leakage power is also dissipated when
current leaks between the diffusion layers and the substrate. The leakage power is state and
voltage dependent. These types of leakage power are referred to as intrinsic leakage.
Dynamic Power
Dynamic power is the power dissipated when the circuit is active. A circuit is active anytime
the voltage on a net changes due to some stimulus applied to the circuit. Because voltage
on an input net can change without necessarily resulting in a logic transition on the output,
dynamic power can be dissipated even when an output net does not change its logic state.
• Internal power
• Switching power
Internal Power
Internal power is any power dissipated within the boundary of a cell. During switching, a
circuit dissipates internal power by charging or discharging any existing capacitances
internal to the cell. Internal power includes power dissipated by a momentary short circuit
between the P and N transistors of a gate, called short-circuit power.
To illustrate the cause of short-circuit power, consider the simple gate shown in Figure 1-2.
A rising signal is applied at IN. As the signal transitions from low to high, the N-type transistor
turns on and the P-type transistor turns off. However, for a short time during signal transition,
both the P- and N-type transistors can be on simultaneously. During this time, current Isc
flows from Vdd to GND, causing the dissipation of short-circuit power (Psc).
Chapter 1: Overview
1-4
Figure 1-2 Components of Power Dissipation
Vdd
Time Time
N
gate Cload
leakage Ilk
Ilk Leakage current
Isc Short-circuit current
Isw Switching current GND
For circuits with fast transition times, short-circuit power can be low. However, for circuits with
slow transition times, short-circuit power can account for more than 50 percent of the total
power dissipated by the gate. Short-circuit power is affected by the dimensions of the
transistors and the load capacitance at the gate’s output.
In most simple library cells, the input transition time and the load internal power are due
mostly to short-circuit power. For more complex cells, the charging and discharging of
internal capacitance can be the dominant source of internal power.
Library developers can model internal power by using the internal power library group. For
more information on modeling internal power, see the Library Compiler reference manuals.
Switching Power
The switching power of a driving cell is the power dissipated by the charging and discharging
of the load capacitance at the output of the cell. The total load capacitance at the output of
a driving cell is the sum of the net and gate capacitances on the driving output.
Because such charging and discharging are the result of the logic transitions at the output
of the cell, switching power increases as logic transitions increase. Therefore the switching
power of a cell is a function of both the total load capacitance at the cell output and the rate
of logic transitions.
Power Modeling
1-5
Generating Power Models
PrimeTime PX provides an automated mechanism to store power data in a model. The
power model generated by the tool can be instantiated for a faster chip-level power analysis
and is based on the Extracted Timing Model (ETM) feature of PrimeTime. The power model
is generated by incorporating power information into the ETM. So, you have to perform timing
analysis and power analysis on your design prior to generating the power model. Based on
the result of the analysis, you can use the extract_model -power command to generate
the power model. The extract_model -power command can generate models that
contain both timing and power data.
When generating the power model from the gate-level design, PrimeTime PX associates the
dynamic power of the gate-level design with the clock pins of the generated power model. In
other words, the dynamic power of the gate-level design translates into the internal power of
the generated power model. The internal power of the model can change based on the clock
frequency at which the power model is instantiated. To get similar results in terms of power
from the generated power model and the gate-level design, the power model must be
instantiated at the same clock frequency as the clock that powers the power model.
The following are the limitations of PrimeTime PX in generating the power model:
• Multiple modes of operation are not supported in the generated power model.
• Block scope checking for power is not supported.
• When the extract_model -power command is used, .lib is the only format that is
supported to write the power model. To generate the .db equivalent of the model, use the
Library Compiler or Design Compiler, and compile the .lib file. For more information about
this command see the Prime Time User Guide and the extract_model command man
page.
Chapter 1: Overview
1-6
2
PrimeTime PX Tutorials 2
PrimeTime PX supports two modes of power analysis, the averaged and the time-based
power analysis mode. The tool installation directory contains tutorials for both modes of
power analysis. To use the tutorial, copy the tutorial file to your own directory and follow the
instructions in this chapter. The design used in the tutorials consists of a multiplier, an adder,
and logic to connect them. The example design, the activity data files, the PrimeTime PX
scripts, and the steps you complete to run the examples are described in the following
sections:
2-1
Averaged Power Analysis Mode Tutorial
The <installation_directory>/doc/pt/tutpx/averaged contains the examples for averaged
power analysis. The averaged power analysis mode is selected when you set the
power_analysis_mode variable to averaged. This variable must be set before specifying
any power analysis command.
The following sections describe the various files used in the tutorial, the commands used in
the PrimeTime PX scripts, how you run the examples in the tool and how to view the
generated report.
Related Files
In the tutorial directory, the files listed in Table 2-1 are related to averaged power analysis.
For more information about each command, review the remaining sections of this chapter or
check the man pages.
Gate-Level Netlist
PrimeTime PX supports a gate-level netlist only. The file mag.vg is a gate-level verilog netlist.
This netlist contains leaf-level cells that are the instantiation of the library cells. The valid
formats are Verilog, VHDL, EDIF, db, .ddc, or Milkyway. Verilog is used for this tutorial. The
netlist can be either flat or hierarchical.
SDC File
The SDC file contains the design constraints. The driver cell information is used to calculate
the transition time on the primary inputs.
Parasitic File
The parasitic file contains the capacitance of the nets. Capacitance is one of the factors in
determining the dynamic power. You can unzip and view the file.
Switching Activity
In the averaged power analysis, you use either SAIF or VCD file formats to read the switching
activity.
A SAIF file is generated either from gate-level or RTL simulation. RTL SAIF captures
switching activity for only part of the design. PrimeTime PX propagates the partial switching
activity throughout the whole design.
You can also use the VCD file to specify the switching activity information. If you do not
specify switching activity information, the tool assumes certain default values for the
switching activity.
Running PrimeTime PX
You can run any of the sample PrimeTime PX scripts, ave_saif.tcl, ave_vcd.tcl or ave_vf.tcl
for the averaged power analysis flow. For instance, to run the ave_saif.tcl script, enter the
following command:
****************************************
Report : Averaged Power
-hierarchy
Design : mac
Version: B-2008.12
Date : Tue Nov 18 01:28:23 2008
****************************************
Related Files
In the tutorial directory, the files listed in Table 2-2 are related to the vector-free analysis
tutorial.
PrimeTime PX Script
This is a Tcl script. You specify the search path, the link and the target library and the
PrimeTime PX variables and commands for power analysis, in this script.
Example 2-2 PrimeTime PX Script in the Tutorial for Vector Free Power Analysis
#####################################################
Link the Design
#####################################################
set search_path "../src/hdl/gate ../src/lib/snps . "
set link_library " * core_typ.db"
Running PrimeTime PX
To run the ave_vf.tcl script in PrimeTime PX, enter the following command:
%>pt_shell -f ave_vf.tcl
The following sections describe the various files used in the tutorial, the commands used in
the PrimeTime PX scripts, how you run the examples in the tool and how to view the
generated report.
Related Files
In the tutorial directory, the files listed in Table 2-3 are related to the time-based power
analysis tutorial.
Running PrimeTime PX
The tutorial contains two sample scripts for time-based power analysis using PrimeTime PX.
You use the time_gatevcd.tcl to run the gate-level time-based analysis and tim_rtlvcd.tcl to
run the RTL VCD time-based analysis. To run the timegatevcd.tcl script, use the following
command:
After the power analysis, a power .fsdb waveform file is saved in the current directory. To view
it, use the waveform viewer called nWave. In the UNIX shell, enter nWave & to start the
viewer. Specify nWave -h to view the usage options and their descriptions. This viewer
requires a snps_fs_nwave license.
Alternatively, in the GUI, choose Power > View Waveforms to open nWave. Figure 2-1 and
Figure 2-2 show the waveforms for peak power analysis and cycle accurate peak power
analysis respectively.
• Overview
• Power Analysis Flow Using the New User Interface
• Saving and Restoring PrimeTime PX Sessions
3-1
Overview
PrimeTime PX supports different types of power analysis modes. In each of the modes the
tool supports various options to suit different types of designs and applications. To perform
power analysis for a design successfully, you must select the required power analysis mode
and the specific options supported for the selected mode.
The user interface is enhanced with new variables, commands and command options to
select the power analysis mode and the supported options of the mode. The two basic types
of power analysis mode supported are the averaged power analysis and the time-based
power analysis. In each of the modes, the tool supports specific command options to perform
certain type of analysis. You provide the switching activity information in the SAIF or VCD file
formats. Irrespective of the mode you select and the options you choose, power analysis is
performed during the execution of the update_power command.
The following sections discuss in detail the usage of the commands, variables, and the
command options supported in the new user interface for the various modes.
Note:
If your PrimeTime PX scripts use the older user interface, you can use the tool in
backward compatibility mode by setting the power_ui_backward_compatibility
variable to true. For more details on the new user interface and the backward
compatibility mode, see “New User Interface and Backward Compatibility” on page 10-1.
set_power_analysis_options
You specify the operating conditions for the analysis using the
set_operating_conditions command. This enables the tool to use the appropriate set
of parameter values from the technology library. These parameter values generally include
fabrication process, operating temperature, and power supply voltage as characterized by
the ASIC vendor.
You must set this variable before using any of the power commands. If you do not set this
variable, PrimeTime PX, by default, performs averaged power analysis.
After power analysis, if you change the value of the variable, the switching activity and power
information are lost. So you must re-read the switching activity data to perform power
analysis.
Design data includes parasitic information, such as port and net loads, wire load models, and
back-annotated parasitics. It also includes transition time information and, for averaged
power analysis, the design constraints, as compiled with PrimeTime in a Synopsys Design
Constraints (SDC) file. For more information, see the PrimeTime documentation.
Both CCS and NLPM data can coexist in a cell description in the .lib file format. That is, a
cell description can have only NLPM data, only CCS data, or both NLPM and CCS data.
PrimeTime PX uses either NLPM data or CCS data for the power calculation.
You use the power_model_preference nlpm | ccs variable to specify your power
model preference when the library contains both NLPM and CCS data. The default is ccs.
Using CCS power libraries does not change the use model.
PrimeTime PX also supports compact CCS power format. The compact format significantly
reduces the size of the library without affecting the accuracy.
For more information about CCS power libraries and how to generate them, see the Library
Compiler documentation.
Name Mapping
For accurate results power analysis and optimization results occur when the switching
activities are accurately associated with the correct design objects in the gate-level netlist.
For this to occur, the RTL names must map correctly to their gate-level counterparts.
Despite default name mapping, mapping inaccuracies can occur during synthesis that can
affect your results. If inaccuracies occur, use the set_rtl_to_gate_name command to
map the RTL names to the gate-level names. This command allows you to specify unique
name mappings and global substitutions. You can use Power Compiler to generate a name-
mapping file formatted especially for PrimeTime PX.
For more information about the set_rtl_to_gate_name command, see the man page.
To define signals that must never be mapped or to unmatch erroneously matched signals,
specify the unset_rtl_to_gate_name command.
Name-mapping inaccuracies can also occur when you generate activity data from mixed-
language simulation. For example, because VHDL is case-insensitive, VCD files generated
from VHDL testbenches might not maintain the original case. To address this issue,
PrimeTime PX provides the following variable to control the handling of mixed-language
simulation activity files:
By default, this variable is true. To enable case-sensitive name mapping set this variable to
false.
To check the SAIF or VCD RTL-to-gate name mapping that you specified with the
set_rtl_to_gate_name command, specify
report_name_mapping
• SAIF Format
You use the read_saif command to specify the activity information in the SAIF file
format that is generated from RTL or a gate-level netlist.
• VCD Format
You use the read_vcd command to read the VCD file that contains the switching activity
information. Use the -rtl option of the read_vcd command to specify that the VCD is
generated from an RTL simulation. If the VCD file is generated from a zero-delay
simulation use the -zero_delay option. When neither option is specified, the tool
assumes that the file is a gate-level VCD file.
In the averaged mode, PrimeTime PX supports reading activity data from multiple VCD
files. For the different VCD files, if you specify different time values for the -time option,
of the read_vcd command, the tool issues a warning message. When you specify
multiple VCD files, the tool internally triggers the vcd2saif utility to convert the VCD files
to SAIF format. The tool also issues an information message, stating that the VCD has
been converted to SAIF.
When you read a SAIF file or an RTL VCD file for power estimation, use the
set_rtl_to_gate_name command to map the RTL and gate-level object names. This
command is especially necessary if you have performed only the RTL simulation for
generating the backward SAIF file. Because the RTL object names can change after
synthesis, the read_saif or read_vcd command is not able to map the names present
• set_switching_activity Command
You use this command to specify different kinds of switching activity information, such as
toggle count, glitch count, and static probability, on specific nets, pins, ports, and cells of
the design. For more details of this command, see “Annotating Switching Activity Using
the set_switching_activity Command” on page 5-8.
The following commands and variables affect the default toggle rates used by the tool:
create_clock
set power_default_toggle_rate
set power_default_static_probability
set power_default_toggle_rate_reference_clock
set_switching_activity
reset_switching_activity
set_case_analysis
The default value of the static probability and toggle rate are 0.5 and 0.1, respectively. The
period is set to the clock frequency of the related clock. For more details on default
settings, see “Using the Default Switching Activity” on page 5-12.
Note:
If your design contains multicycle path, you should specify a switching activity; using
the tool default values does not guarantee accurate results.
The time-based power analysis mode requires that you specify the switching activity
information in VCD format. Use the read_vcd command to read the VCD file that contains
the activity information. Two types of VCD files are supported for specifying the activity data:
• RTL VCD
When you use the -rtl or the -zero_delay option, the tool generates cycle-accurate
waveform. The clock cycle is used as the default waveform interval.
• Gate-level VCD
While reading the VCD file using the read_vcd command, if you specify neither the -
rtl option nor the -zero_delay option, the tool assumes that the file is a gate-level
VCD file.
In time-based mode, PrimeTime PX does not support reading activity information from
multiple VCD files. If you read multiple VCD files, PrimeTime PX overwrites the VCD files
previously specified, and only the last VCD file specified is used for the analysis.
If you use the read_vcd -pipe_exec command, the tool defers reading the VCD file,
including the header annotation.
Table 3-4 shows how PrimeTime PX handles different types of VCD files in the time-based
power analysis mode. The type of VCD file is indicated by the different option used with the
read_vcd command.
Table 3-4 Handling Different Types of VCD files in time-based Power Analysis Mode
VCD Types Name Mapping Event Propagation Enforce Cycle Accurate
Peak Power
set_power_analysis_options
[-static_leakage_only]
[-waveform_interval <float>]
[-cycle_accurate_cycle_count <integer>]
[-cycle_accurate_clock clock]
[-waveform_format fsdb| out| none]
[-waveform_output file]
[-include top| all_without_leaf | all_with_leaf]
[-include_groups list]
[-cells list]
Vector Analysis
Before you perform power analysis, you can qualify your vectors for power analysis using
vector analysis. This feature provides you with feedback about your vectors by creating
activity waveforms. PrimeTime PX reads the VCD file and writes an activity waveform for a
hierarchical block. It then plots the average toggle rate for all the signals of the design for a
specified time interval. To generate the activity waveform, the tool breaks down the
simulation time in the VCD file into time intervals. The toggle rate for each interval is
computed and displayed as a waveform. You can view the activity waveforms to determine
if the testbench simulated as expected and if the vectors have covered the design well
enough to be useful as inputs for power analysis.
You use the -peak_window option of the command to specify the window period. The tool
searches for the peak period in the VCD file and reports the peak activity using a sliding
window. This option affects the way in which the peak periods are reported in text format. It
does not affect waveform generation.
Note:
The value specified with the -peak_window option must be a multiple of the -interval
option.
This command also supports options to specify the level of hierarchy for cells to include in
the waveform, to specify signals to be excluded from the waveforms, and so on. For more
details about this command, refer to the command man page.
Example 3-4 shows how the -peak_window option affects the report generated by the
report_activity_waveforms command. By specifying -peak_window 2, the
reported peak interval is 5 ns, although the interval for the waveform is 0.2 ns.
report_activity_waveforms
****************************************
Report : Time-Based Switching Activity
Activity File: myvcd.vcd
****************************************
Block # Signals
Peak Peak Average
Name Interval Toggle Toggle
(ns) Rate Rate
-------------------------------------------------------------------------
GOOD_upstream_router_tb 1383 4.400-9.400 0.00145 0.000882
test_GOOD_upstream_router 1335 4.400-9.400 0.000899 0.000548
-------------------------------------------------------------------------
Power analysis is triggered consistently for the various power analysis modes during the
execution of the update_power command. After the analysis the update_power
command generates the power data.
In the averaged mode, if you do not specify activity data, the tool assumes default values.
However, in the time-based mode, you must specify the activity data in the VCD file format
before using the update_power command. Otherwise, PrimeTime PX issues an error
message.
The following example shows the power report in the averaged power analysis mode:
****************************************
Report : Averaged Power
Design : mac
Version: B-2008.12
Date : Tue Nov 18 06:48:38 2008
****************************************
Attributes
----------
i - Including register clock pin internal power
u - User defined power group
The following example shows the power report with peak power for time-based power
analysis. You can also use the nWave utility to view power waveforms.
****************************************
Report : Time Based Power
Design : mac
Version: B-2008.12
Date : Tue Nov 18 06:23:15 2008
****************************************
Attributes
----------
i - Including register clock pin internal power
u - User defined power group
1
You can also generate your own reports by using tool command language (Tcl) constructs
and accessing the power attributes. To save and restore your power parameters, make sure
that you set the power_enable_analysis variable to true.
You can also restore any PrimeTime or PrimeTime SI timing analysis sessions and continue
doing power analysis.
4-1
Starting and Ending a Shell Session
Before you can use PrimeTime PX, the software must be installed and licensed at your site.
For information on installation and licensing, see the documentation that comes with the
software release.
To start pt_shell (the PrimeTime PX command-line interface), enter the following command
at the operating system prompt:
%> pt_shell
PrimeTime PX automatically checks out a PrimeTime license and checks whether you have
a PrimeTime PX license or not. If yes, the following initial message displays. The PrimeTime
PX license is checked out when the first power-related command is executed.
PrimeTime PX(R)
Version 2005.06 -- June 1, 2005
Copyright (c) 1988-2005 by Synopsys, Inc.
ALL RIGHTS RESERVED
pt_shell>
You enter commands at the pt_shell prompt (pt_shell>). PrimeTime PX responds with text
messages in the terminal window below your command entry line.
To start a PrimeTime PX session that includes the GUI, enter the following at the system
prompt:
You can optionally set the DISPLAY environment variable when you invoke the PrimeTime
PX GUI. For example,
You can also start the GUI from a pt_shell session. To start the GUI, use the following
command at the pt_shell prompt:
pt_shell> start_gui
To stop the GUI while still keeping the original pt_shell session going in the terminal window,
use the stop_gui command or choose File > Close GUI from the menu. To exit from
PrimeTime PX entirely, choose File > Exit.
After you’ve read and calculated power and opened the GUI, you can view and analyze your
power data by right-clicking within the main window and choosing Power > Analysis Driver
or clicking the power icon, which looks as shown in Figure 4-1.
Power Analysis Driver. The analysis driver allows you to easily analyze dynamic power and
static power. As shown in Figure 4-2, the GUI opens with the analysis driver window (on
right) to a view of the total power consumption for the current design with its distribution
among dynamic, switching, internal, and leakage consumption.
The list box in the lower-left corner of the Power Distribution display (circled) allows you to
show the power distribution by power types (the default), by predefined groups, and by user-
defined groups.
Design Map. Click the Power Design Map button shown in Figure 4-3 to view the total power
density as a map of the design. The power density displays as a treemap, which is a
visualization tool that can help you identify anomalies in large hierarchical data sets.
Treemaps convey hierarchical data with squares that represent cells in the hierarchy. The
thickness of the lines between the squares tells you where you are in the hierarchy; that is,
the thicker the line, the closer you are to the root of the hierarchy tree.
Use the Analysis box to change the parameters used for mapping how the color and node
size indicators are used. Your choices are shown in Table 4-1.
Total Power Density Relative degree of total power Relative total power
consumption
For example, Figure 4-4 shows a treemap for total power density in which the area of each
node represents its corresponding relative total power within the design. The color gradient
progresses from red to yellow, with red indicating the highest power consumption.
Right-click within the treemap to access a context-sensitive menu that allows you view
histograms.
The Threshold % slider circled in blue adjusts the value at which a parameter is considered
critical. In Figure 4-4, sliding the control to the left causes more cells to appear red. A
context-sensitive menu appears when you right-click the slider; you can customize the color
selection and minimum and maximum scale colors.
The View Level option controls the number of hierarchical levels shown in the treemap.
Click the Customize button to view the Power Treemap Options dialog box from which you
can choose to open new treemaps in new windows and specify the toggle coverage
threshold, as needed.
Design Hierarchy Browser. Use the panes to the left of the analysis driver to browse the
design hierarchy. As shown in Figure 4-2, the Cells (All) view displays cell attributes. Use the
arrow to also view the attributes for the following menu selections:
• Cell Hierarchical
A context-sensitive menu (not shown) provides quick access to histogram data depending
on which segment of the power distribution bar chart you select. For example, selecting the
internal-power bar shown in Figure 4-3 provides choices for viewing a histogram of the
internal power as well as a total power or toggle histogram. These menus are also available
for predefined groups.
In addition, click the Toggle Histogram button to view a toggle histogram for hierarchical cells
in the design and the Total Power Histogram button to view a total power histogram for
hierarchical cells in the design.
A context-sensitive menu accessible from within the histogram view is available when you
select one or more bars on the histogram. As shown in Figure 4-5, this menu allows you to
generate a further series of histograms based on the selected bar(s).
When you select a hierarchical item, the cells within the hierarchical cell are used to plot the
next histogram using the hierarchical cell name in the title of the new histogram.
When you select a histogram bar, it turns yellow and its associated cells are displayed in the
right pane. Given multiple cells listed on the right (not shown), you can select any
combination of them to view their histograms.
Cell Data Table.To view the design’s power attributes, you can create data tables for cells,
pins or ports, and nets. To do this, choose Design > New Table View for Selection if you have
already selected cells, pins or ports, or nets. Otherwise use Design > New Table View.
By default, power attributes do not appear in the data tables. To view them as shown in
Figure 4-7, click the Columns button. The Show and Order Columns dialog box opens, as
shown in Figure 4-8. From here you can select the applicable power-related columns for
visibility.
To view a net’s capacitance, select the net and then choose Net Capacitance Profile from
the Timing menu.
Waveform Viewer. To view your switching activity in a waveform format, choose Power >
View Waveforms to open the nWave waveform viewer.
PrimeTime PX calculates averaged power based on toggle rates. The annotated activity can
come from default toggle rates or switching activity specifications, or in the form of
simulation-generated SAIF or VCD files. Zero-delay simulation is used to propagate
switching activity to unannotated nets for calculating the power consumption for the complete
design.
5-1
Annotating Switching Activity
The power consumption of a design depends on the switching activity of the nets and cell
pins of the design. The higher the switching activity, the more power the design consumes.
To calculate the averaged power, you must first annotate the design with the switching
activity as described in this section.
The required switching activity information can be annotated on design objects such as nets,
ports, and pins and then used by the update_power command during power analysis.
You can annotate the following types of switching activity on design objects:
The toggle rate is the rate at which the design object switches between logic values 0 and
1 within a time period.
• State-dependent and path-dependent (SDPD) toggle rates on output pins of leaf cells
The internal power characterization of output pins can be state-dependent, or path-
dependent, or both. Output pins of cells with such characterization can be annotated with
SDPD toggle rates.
Annotate the switching activity with one of the following methods. These are described in the
sections that follow.
• Generate a VCD file using RTL or gate-level simulation and read the VCD file using the
read_vcd command.
PrimeTime PX also supports a type of activity source called implied activities which are
activities on the nets that are derived from annotation of the deterministic propagation. For
instance, if you set the switching activity on the Q pin of a sequential cell, activity that is on
the Q bar pin can be implied activity based on the activity on the Q pin.
For averaged power analysis, PrimeTime PX automatically derives switching activity from
the VCD file and converts the data into toggle rates used to calculate the average power of
every cell. For information about read_vcd, see Chapter 6, “Time-Based Power Analysis.”
The behavior of the read_vcd command in the averaged power analysis is as follows:
• It is not necessary to use the read_vcd command. Activity files can be read in SAIF
format or using the set_switching_activity command. If you do not specify activity
data, PrimeTime PX uses default values.
• Supports reading of multiple VCD files through the vcd2saif utility. Issues warning
message when different values are specified with the -time option of the read_vcd
command.
• The read_vcd command triggers the vcd2saif conversion and issues an information
message about the conversion.
• The name mapping is enabled.
The read_vcd command reads the specified file and applies the activity data to the
attributes on the design instances. Use the report_switching_activity or
get_switching_activity command to view the activity data derived from the VCD file.
PrimeTime PX applies default annotation to primary ports that are not annotated. The tool
uses zero-delay simulation to propagate the activity to the unannotated nets in the design.
In addition, an internal algorithm calculates the switching activity for nets that do not have
annotated switching activity.
======================================================================
Summary:
Total number of nets = 1625
Number of annotated nets = 437 (26.89%)
Total number of leaf cells = 1339
Number of fully annotated leaf cells = 114 (8.51%)
======================================================================
The total number of nets shown in the example is the number of nets in the design. The nets
that exist at several levels of design hierarchy are considered only once for the count.
The number of annotated nets is the number of nets for which switching activity is specified
in the VCD file. The total number of leaf cells is the number of leaf cells in the design. The
number of fully annotated leaf cells is the number of leaf cells in the design for which
switching activity is annotated for all the pins.
Note:
The read_saif command also provides a summary with similar information of the nets
and cells, of the design being read.
To ensure proper switching activity annotation, ensure that your name mapping is correct.
For more information, see “Name Mapping” on page 3-5.
HDL Simulation. The Synopsys VCS MX simulator is capable of generating SAIF files
directly with built-in tasks. For other HDL simulators, the SAIF generation programmable
language interface (PLI) must be linked, and the testbench must include the appropriate PLI
commands for outputting the toggle information in the SAIF format.
For more information on SAIF generation from HDL simulation, see the Power Compiler User
Guide.
vcd2saif Utility. Not all simulators write SAIF files. However, because many simulators
support the VCD format, you can use the vcd2saif utility to convert both RTL and gate-level
VCD data into the SAIF format. This utility supports Verilog, VHDL, and mixed-language
VCD outputs from VCS, VCS MX, Verilog-XL, MTI ModelSim, and NC-SIM. The vcd2saif
utility also supports the VHDL generate construct. The supported formats for input VCD files
read into vcd2saif can be compressed into .gz, .Z, VPD, and FSDB formats.
The following syntax for the vcd2saif utility can be used for RTL simulation (without a forward
SAIF file) and gate-level simulation:
RTL SAIF. If no gate-level simulation data is available, provide RTL-level SAIF files that
contain the switching activity of the primary inputs, hierarchical ports, and synthesis-invariant
elements such as sequential elements.
For proper switching activity annotation, ensure that your name mapping is correct. For more
information, see “Name Mapping” on page 3-5.
Gate-Level SAIF. The same read_saif command is used to parse the gate-level SAIF file,
although you can apply different options. If the gate-level SAIF contains activity annotations
for all elements in the design, PrimeTime PX can accurately calculate the average power
consumption of the design.
• read_saif
• merge_saif
• write_saif
Reading SAIF Files With read_saif. Within the SAIF file, the current design is instantiated
as an instance in the testbench used to generate the SAIF file. Use the following command
to read SAIF:
read_saif
-strip_path prefix
[-path prefix] [-ignore ignore_name]
[-exclude exclude_filename]
[-derate_glitch value]
[-quiet] filename
You can specify a gate-level or RTL SAIF file. The command reads the specified file and
applies the activity data to the attributes on the design instances.
Apply the -strip_path option to specify the path to the current design instantiated in the
simulator environment. For example, the following command reads in a SAIF file, my.saif, in
which the current design is instantiated as TB/DUT in the SAIF file:
Reading SAIF Files With merge_saif. The merge_saif command can read switching
activity information from multiple SAIF files. Input SAIF files are given individual weights, and
a weighted sum of the switching activities is annotated. You can use this command for flows
in which different SAIF files are generated for different modes of the same design. The
switching activity from all the different modes can then be used for power calculations and
optimization.
For example, assume that your design has three modes (standby, slow, and fast) and that
the SAIF files standby.saif, slow.saif, and fast.saif are generated for these modes. Based on
the expected usage of the design, you give the following weight to the SAIF files:
standby.saif 80%
slow.saif 5%
fast.saif 15%
You can then use the following command to read the SAIF files:
Use the -output option of the merge_saif command to generate a SAIF file containing
the weighted sum of the switching activities.
After merge_saif reads each individual SAIF file, it uses a switching activity propagation
mechanism to estimate the switching activity of design nets that are not included in the file.
Therefore, you can use the following command to generate a gate-level SAIF file with
estimated switching activity information from an RTL SAIF file:
Use the -simple_merge option to switch off the switching activity propagation mechanism
when the information in the SAIF files is being merged.
Currently, SAIF files with SDPD information cannot be used by the merge_saif command.
The syntax of the merge_saif command is the same as that of the read_saif command,
with the following exceptions:
Writing Out SAIF Files in PrimeTime PX. PrimeTime PX can write out SAIF files
containing user-annotated and propagated switching activity.
The toggle count represents the number of toggles within a given time period where the
period can be specified with the -period, -clock, or -base_clock options. Internally,
the toggle count is converted to an absolute toggle rate by dividing it by the period. If no
period is specified, PrimeTime PX assumes that the toggle count is relative to the library time
unit. For example,
This command specifies that the value of net1 is logic 1 for 20 percent of the time and that it
transitions between logic values 0 and 1 an average of 10 times in 1,000 time units. The
toggle rate applied to net1 is 10/1000, or .01.
The time unit used for the toggle rate is the target library time unit. The -period option is
optional; a default value of 1 is used when this option is not specified. If the -period option
was omitted in the previous example, the toggle rate for net1 would be 10/1, or 10.
This command specifies that the pin ff1/Q toggles 0.01 times when the pin D is at logic 1 and
0.03 times when the pin D is at logic 0. You can use the -rise_ratio option with state-
dependent toggle rates to specify the ratio of rise transitions to fall transitions for the
specified state. For example,
This command specifies that the pin xor1/Y toggles 0.01 times when the cell is in state A and
that 90 percent of these toggles are rise transitions.
These commands specify that the pin and1/Y toggles 0.02 times due to a toggle on the input
pin A but never toggles due to a toggle on B. You can specify toggle rates that are both state
and path dependent by using the -state_condition and -path_sources options
together.
These commands specify that the cell and1 is at state A & B for 10 percent of the time, at
state A & !B for 70 percent of the time, and at state !A for 20 percent of the time.
You can also use the -clock and -base_clock options to specify the time period for the
toggle count. The -clock option defines a period based on the object’s
power_base_clock period.
The power_base_clock attribute is set for all the nets in the design and references the
clock domain to which they belong. If they belong to multiple clock domains, the
power_base_clock attribute is set to the fastest of the clocks.The -base_clock option
allows you to specify the period as that of the specified clock, regardless of the clock domain
to which it belongs. It does not modify the power_base_clock attribute value; it simply
controls the toggle rate applied to the node. For more information, see the man page.
You can apply appropriate switching activity to all primary inputs of the design by defining a
toggle count relative to the clock period of the clock domain with which the inputs are
associated.
the command specifies that all registers in the design have a toggle rate of 0.1 relative to
their related clock. If clk1 has a period of 25 ns and clk2 had a period of 10 ns, PrimeTime
PX applies a toggle rate of .1/25, or .04, to registers in the clk1 domain and a toggle rate of
.1/10, or .01, to registers in the clk2 domain.
Note:
When setting the toggle rate on registers and clock-gating cells, first apply the command
to the registers, followed by the clock-gating cells because these are, in fact, registers as
well.
set_switching_activity
[-state_condition state]
[-toggle_count toggle_rate]
[-period period_value]
[-clock_derate value]
[-glitch_count count]
[-path_sources name_list]
[-static_probability static_prob]
[-rise_ratio rise_ratio]
[-period period_value]
[-base_clock clock]
[-type object_type_list]
[-no_hierarchy] [-quiet]
[-clocks clocks] object_list
This command removes the simple and SDPD switching activity annotation from the
specified objects.
reset_switching_activity
[-state_condition state]
[-path_sources path]
[-toggle_rate]
[-no_hierarchy] [-static_probability]
[-quiet] [object_list]
It is recommended that you remove switching activity information from previous switching
activity annotation by using the reset_switching_activity command before reading
new SAIF files.
This toggle rate is assigned to all primary inputs, tristate outputs, and black box outputs and
propagated throughout the rest of the design.
report_switching_activity
[-gate]
[-rtl]
[-cells cell_list]
[-list_not_annotated]
[-list_low_activity]
[-list_by_source source_string]
[-base_clock clock_name]
[-average_activity]
[-coverage]
[-hierarchy]
[-show_pin]
[-sort_by hier | toggle]
[-exclude string]
[-include_only string]
[-only_related_clock clock]
See the man pages for option descriptions. You can use this command after either the
read_saif or read_vcd command.
As shown below, the default report shows the percentage of design objects annotated from
the activity file, set_switching_activity command, set_case_analysis command,
and create_clock command. In addition, it categorizes the nets driven by certain types of
drivers.
report_switching_activity
****************************************
Report : Switching Activity
Design : test1
Version: B-2008.12
Date : Tue Nov 4 15:29:05 2008
****************************************
Object Type File (%) SSA (%) SCA (%) Clock (%) Default (%) Propagated(%) Implied(%) Annotated(%) Total
----------------------------------------------------------------------------------------------------------------------------------
Nets 3489(100.0%) 0(0.00%) 0(0.00%) 0(0.00%) 0(0.00%) 0(0.00%) 0(0.00%) 0(0.00%) 3489
----------------------------------------------------------------------------------------------------------------------------------
Nets Driven by
----------------------------------------------------------------------------------------------------------------------------------
Primary Input 150(100.0%) 0(0.00%) 0(0.00%) 0(0.00%) 0(0%) 0(0.00%) 0(0.00%) 0(0.00%) 150
Tri-State 300(100.0%) 0(0%) 0(0%) 0(0%) 0(0%) 0(0%) 0(0%) 0(0%) 300
Black Box 80(100.0%) 0(0%) 0(0%) 0(0%) 0(0%) 0(0%) 0(0%) 0(0%) 80
Sequential 956(100.0%) 0(0%) 0(0%) 0(0%) 0(0%) 0(0%) 0(0%) 0(0%) 956
Combinational 2012(100.0%) 0(0.00%) 0(0.00%) 0(0.00%) 0(0.00%) 0(0.00%) 0(0.00%) 0(0.00%) 2012
Memory 0(0%) 0(0%) 0(0%) 0(0%) 0(0%) 0(0%) 0(0%) 0(0%) 0
Clock Gate 0(0%) 0(0%) 0(0%) 0(0%) 0(0%) 0(0%) 0(0%) 0(0%) 0
----------------------------------------------------------------------------------------------------------------------------------
1
Use the -list_not_annotated option to display the design objects that do not have user-
annotated switching activity information.
Use the following attributes to get the value of toggle rate and signal probability:
toggle_count
toggle_rate
glitch_rate
static_probability
Use the following PrimeTime PX commands to view the annotated information used for
power analysis:
• report_switching_activity
• get_switching_activity
The set_switching_activity command and user-provided SAIF/VCD files are parsed
as soon as these commands are issued. You can query the annotation (but not the net
propagation until after update_power) immediately after specifying the read_saif,
read_vcd, and set_switching_activity commands.
-average_activity
Reports the average switching activity for the design or a specified block.
-hierarchy
Reports the average switching activity for the top-level design and its subhierarchies for
average activity, coverage, and default reports.
Suppose you suspect that propagation unsuccessfully propagated low-activity rates through
a series of sequential elements, which results in zero activity at the output of some
sequential elements. The following series of commands helps you verify your problem:
To determine average switching activity at the output of sequential elements with non-zero
switching activities, use the following commands:
update_power
report_switching_activity -average_activity \
-include_only sequential -exclude low_activity
As shown below, the average activity report includes both toggle rates and the toggle counts.
The toggle rates are calculated with respect to the primary clock, which you can designate
with the -primary_clock option.
****************************************
Report : Switching Activity
-average_activity -hierarchy
For more information about the report_switching_activity options, see the man
page.
Use the following get_switching_activity option to help you analyze the annotation:
-toggle_rate
Returns the toggle rate along with the information source. For example:
pt_shell> get_switching_activity \
-toggle_rate smas_ira_read_data[29]
{“smas_ira_read_data[29]” 0.000017}
The first type of nets includes nets driven by clocks, where the switching activity information
can be accurately derived from the clock waveform. For the second type of nets, the
propagation mechanism uses the functionality of design cells to propagate the input
switching activity to the cell outputs. Black box cells do not have functional descriptions in
the technology library; therefore, the switching activity of black box outputs cannot be derived
using the propagation mechanism. Black box outputs that are not user-annotated are
annotated with a default value.
• Nets driven by constants: A default toggle rate value of 0.0 is used. A static probability
value of 0.0 is used for logic 0 constants, and a value of 1.0 is used for logic 1 constants.
• Nets driven by clocks: The default values for the toggle rate and static probability are
derived from the clock waveform.
• Nets driving or driven by buffers: If the buffer input or output net is user- or default-
annotated, then the unannotated buffer output or input is default-annotated with the
switching activity values on the annotated input or output.
• Nets driving or driven by inverters: If the inverter input or output net is user- or default-
annotated, then the unannotated inverter output or input is default-annotated with the
same toggle rate value and with the inverted static probability value. If the annotated static
probability value is sp, the inverted static probability value is 1.0 – sp.
• Flip-flop outputs: If a flip-flop cell has both Q and QN output ports and only one of the
outputs is annotated, then the other output is default-annotated with the same toggle rate
value and with the inverted static probability value.
• Primary inputs and outputs of black box cells: The switching activity of primary inputs and
black box outputs cannot be propagated. Default switching activity based on the value of
the power_default_static_probability and power_default_toggle_rate
variables is used.
In this example, both D1 and D2 are assigned the same default toggle rate based on the
fastest clock, clk1. Therefore
User- and default-annotated switching activity values are never overwritten by values derived
by the propagation mechanism.
Based on the activity on the outputs and inputs of every leaf cell, PrimeTime PX calculates
the Boolean difference for each power arc to determine the contribution of each power arc.
The power arcs are obtained from the library power table.
set_annotated_power
[-internal_power int]
[-leakage_power leak]
cell_list
Although this command is normally used for black box cells for which the internal and
leakage power cannot be estimated, you can also specify leaf cells. Annotated internal and
leakage power values override any internally estimated internal and leakage values.
In the cell power report, cells with annotated powers are displayed together with cells whose
powers are internally calculated, but they are labeled to show that their powers are
annotated. Annotated power overrides estimated power in the report.
Annotated powers:
------------------------------------------
1. m1_r_reg[15](internal: 0.498leakage: 0.0037]
2. m1_r_reg[14](internal: 0.498leakage: 0.0037]
3. m1_r_reg[13](internal: 0.498leakage: 0.0037]
4. m1_r_reg[12](internal: 0.498leakage: 0.0037]
| | | NOT |
Cell type | Total | Annotated | Annotated |
----------------------------+--------+-----------+-------+
unresolved black-box cell| 5 | 4 | 1 |
leaf cell | 7842 | 0 | 7842 |
----------------------------+--------+-----------+-------+
| 7847 | 4 | 7843 |
check_power
[-verbose]
[-significant_digits digits]
[-override_defaults check_list]
[-include check_list]
[-exclude check_list]
This command checks the design structure for potential power violations.
For further details about check_power and power_check_defaults, see the man
pages. The man pages also describe the power checks.
For more details about this command, see the command man page.
By default, PrimeTime PX extrapolates indefinitely if the data point for internal power lookup
is out of range. If, however, the power_limit_extrapolation_range variable is set to
true, PrimeTime PX limits the extrapolation. The NLPM power table stops extrapolation at
one additional index grid. The SPPM power table stops extrapolation at the specified range.
If there are many high-fanout nets (such as clock or global reset nets), you might want to limit
the extrapolation for more accurate power values.
PrimeTime PX calculates the average power for the entire SAIF file or until there is
convergence when no SAIF data is provided.
Traditional time-based power analysis relies on gate-level simulation activity to perform peak
power calculation. Detailed time-based power information is generated, enabling you to
determine both average and peak power. An analysis technique called cycle-accurate peak
power analysis allows you to use an RTL netlist as well as RTL VCD files to determine the
peak cycle.
6-1
• Performing Time-Based Power Analysis
• Viewing and Scaling the Power Waveforms
PrimeTime PX processes activity files generated from simulation. When you use the
read_vcd command, PrimeTime PX checks for the VCD files and verifies that the nets in
the design are identified in that file. The tool automatically detects whether you have an RTL
or gate-level VCD file based on the number of nets that are annotated.
The read_vcd command reports a summary of the percentage of nets covered by VCD
annotation after reading the VCD file. The tool extracts the toggle rates and the static
probability for the identified nets, and reports the switching activity with the
report_switching_activity command.
During the execution of the read_vcd the tool reads the header information in the VCD file
to determine annotations. However the processing of the events in the VCD file suchs as
determining the related pins and tracking the SDPD toggles are performed during the
execution of the update_power command.
read_vcd
[-pipe_exec exec_command]
[-path path] [-strip_path prefix]
[-strip_path strip_path]
[-zero_delay]
[-rtl]
[-format format]
[-time time_list]
filename
In the time-based power analysis mode the tool does not support multiple VCD files. If you
use multiple read_vcd commands, PrimeTime PX issues a warning message and uses the
activity information from the last read_vcd command specified, before the update_power
command.
In the time-based mode, the read_vcd command without the -rtl option issues a warning
message if less than 95% of the nets in the VCD files are annotated.
Note:
Perform the required type of power analysis regardless of the percentage of annotation.
Also, do not run the vcd2saif utility internally to obtain toggle rates and static probability
before the power analysis. After the execution of the update_power command, use the
report_switching_activity command to see the toggle rates obtained from
processing the events in the VCD file.
This option indicates that the VCD file does not contain SDF delay annotation information
and, therefore, PrimeTime PX cannot isolate the exact time of the events to produce an
instantaneous power profile. In this case, PrimeTime PX performs cycle-accurate peak
power analysis on the design. For more information, see “Cycle-Accurate Peak Power
Analysis” on page 6-4.
Cycle-accurate peak power analysis is a technique for calculating power that allows you to
use an RTL VCD file to obtain the overall power profile for your design for different time
periods and operating modes and to generate waveforms.
Cycle-accurate peak power analysis generates peak power with time resolution at the cycle
level. PrimeTime PX reports the peak power as the maximum cycle power along with the
time when maximum peak power occurred in the RTL VCD file. Cycle-accurate peak power
analysis does not require precise time-based events at every net but only at nets that are
synthesis invariant.
The following is an example script to perform cycle-accurate peak power analysis using the
RTL VCD file.
report_power
Use the missing_function check of the check_power command to search the design
for blocks that do not have a logic function, which can occur when blocks do not have a logic
model. This check can be important for cycle-accurate peak power analysis because the
analysis relies on the ability to propagate events through combinational logic, which cannot
occur for blocks without logic models. For more information about check_power, see the
man page.
Because the RTL VCD files do not contain events for combinational gates, the resulting
waveforms use time resolution at the cycle level rather than instantaneous time resolution.
Each cycle shown in the waveform stems from an independent power analysis.
Table 6-1 lists the formats, extensions, and conversion utilities supported by PrimeTime PX.
Note:
If the file extension is not one of those listed, PrimeTime PX treats the file as a VCD file
and reads the data directly.
For example, if the testbench TB instantiates the design module TOP as U, you would specify
the -strip_path option as follows:
The report_vcd_hierarchy command reports the hierarchy structure in your VCD file,
which can help you decide on the correct strip path to specify in the read_vcd command.
Note:
Even if the top-level design was not specified in the $dumpvars task, the VCD file still lists
the complete hierarchy starting with the testbench.
You can generate compressed formats such as FSDB or gzipped VCD to reduce the activity
file size. Within PrimeTime PX, the data from the compressed files is converted to the VCD
format and piped to the analysis engine. The converted data is not stored.
1. The HDL simulation must be set up to generate an activity file. For example, if you are
generating a large VCD file from a Verilog simulation, the testbench must include the
$dumpvars or $dumpfile tasks to generate the VCD data. Use the same file name in both
$dumpfile and read_vcd.
This file name is used as a pipe name, so both tools know where to write and read the
data. The process does not create a large data file on disk.
2. Specify the commands or run a script to invoke the HDL simulation with the -pipe_exec
option. For example, you might have a run script, say run_vcs that executes a VCS
simulation that contains the following command:
vcs -R -f arguments -l log
You can invoke the simulation within PrimeTime PX to pipe the VCD data directly by
adding either of the following options to the read_vcd -pipe_exec command:
-pipe_exec run_vcs
or
• Glitches
• Z states
• X states
where
You can obtain the pulse width from the simulation, and you can obtain the rise/fall transition
times by executing the report_power_calculation command on the desired instance.
Z State
Transitions through the Z state are assumed to consume no power. PrimeTime PX tracks
transitions, and if a transition after the Z state differs from the original transition, it is
considered to be one full transition.
For example, 0 -> Z -> 1 or 1 -> Z -> 0 is considered 1 transition; however, 1 -> Z -> 1 or 0 -
> 0 is not a transition and consumes no power.
X State
By default, every time a net transitions to or from the X state, it is considered as 1/2 of a
power transition of a normal transition.
For example, 0 -> X is a 1/2 transition and 0 -> X -> 0 or 0 -> X -> 1 is 1 transition.
1. The VCD hierarchy does not match that of the current design.
In this case, the total number of annotated nets and cells in the read_vcd summary
report is zero. PrimeTime PX issues warnings for all the nets in the design that cannot be
found in the VCD file.
The mismatch generally occurs when the read_vcd -strip_path option is used.
Either the -strip_path option was incorrectly specified or the VCD file does not contain
all levels of design hierarchy.
- The file format might not be one of those listed. If an enhanced VCD (EVCD) file is
supplied, PrimeTime PX generates syntax error messages. PrimeTime PX does not
support the enhanced VCD file format.
- The conversion utility might not match the activity file format type or version.
PrimeTime PX invokes the appropriate utilities to convert the activity data to VCD
where necessary. The utility must be in the search path and match the version of the
data.
3. RTL to gate-level design object name mapping might be incorrect.
If this is the case, provide a name-mapping file that contains a list of
set_rtl_to_gate_name commands. For more information, see “Name Mapping” on
page 3-5.
In the time-based mode, PrimeTime PX writes out the time-based power data calculated
during the processing of the activity information in the VCD file. Before processing the events
in the activity file, PrimeTime PX calculates the input transition time and output load for every
instance in the design. These values are stored for use in accessing the appropriate energy
values in the library power tables for the events in the activity file.
For transitions on cell output pins, PrimeTime PX looks for the input transitions that caused
the output transition to ascertain the related pin. After identifying the pin, PrimeTime PX
accesses the appropriate power arc and analyzes the energy for that transition based on the
power table indexes.
The largest power value (peak power) and the time at which it occurred is included in the
report file generated with the report_power command.
By default, the time-based power waveform data for all the hierarchies of the design is
generated during the execution of the update_power command. To generate the waveform
data for the leaf cells or for the top-level of the design hierarchy use the -include option of
the set_power_analysis_option command appropriately before you specify the
update_power command. You use the report_power command to see the waveform
data.
The following sections describe the variables and command options that affect the power
calculation.
Formula 1
Internal_energy_rise =
Total_energy_rise - leakage_energy -
0.5*switching_energy
Formula 2
Internal_energy_fall =
Total_energy_fall - leakage_energy -
0.5*switching_energy
Because switching energy (CV2) is incurred only on the rising edge, the tables’ values in this
case do not reflect the true internal energy.
When the variable is set to false, PrimeTime PX assumes that the library internal energy
tables contain only the internal energy. The rising and falling energy is derived during
characterization using the following formulas.
Formula 3
Internal_energy_rise =
Total_energy_rise - leakage_energy - switching_energy
Formula 4
Internal_energy_fall =
Total_energy_fall - leakage_energy
The best way of finding out the formula used in the characterization is to consult the library
vendor. A workaround is to inspect the falling power tables. If most of them have negative
numbers, it is likely that formulas 1 and 2 are used in characterization.
By default, the variable is set to false and PrimeTime PX ignores the switching and internal
power consumed by the transition of nets from an unknown to a known state. If, however, you
are concerned with the power at initialization, you can set the value to true, so that the
power peak produced as the circuit initializes can be included in the power analysis.
Unmatched States
When PrimeTime PX processes the events in the activity file, events for which there is no
matching condition in a power table might occur. PrimeTime PX outputs statistical
information that includes
Most cells do not have input-pin-based tables resulting in 100 percent pin matching.
However, for output cells, if the event does not match any of the state definitions in the power
table, the event reduces the percentage of tables on output pins that matched. For these
events, by default PrimeTime PX provides an estimate of the power consumption for that
event based on the average value of all the available tables for that output pin.
If you want PrimeTime PX to ignore the event, you can set the
power_estimate_power_for_unmatched_event variable to false.
The distributed peak power analysis flow involves four steps as shown in Figure 6-1.
Launch Jobs
The first step in the flow is to set up a distributed computational environment that can run
multiple tasks simultaneously. This step includes specifying a working directory, the log files,
the number of PrimeTime and PrimeTime PX licences that can be used. This step also
includes setting up and starting a distributed pool of machines. The variables and commands
you use in setting up the distributed environment for peak power analysis are the same as
the ones that you use in PrimeTime for timing analysis.
The following example script shows how to set up a distributed environment for peak power
analysis when you have two machines in the LSF and you have two licenses each of
PrimeTime and PrimeTime PX. The power_enable_analysis variable setting is required
for reporting the power after the peak power analysis process.
create_distributed_farm
For more information about the variables and commands used in the setup, see the
PrimeTime User Guide: Distributed Multi-Scenario Analysis.
The second step in the flow is partitioning the simulation time. This step involves dividing the
total simulation time for the peak power analysis into many smaller time windows. The
partitioning of the simulation window should be such that each time window takes almost the
same time to run the peak power analysis. The number of smaller time windows into which
the entire simulation time window is to be divided, depends on the number of machines in
your pool and the number of licenses you have access to.
To run peak power analysis on each of the smaller time windows, create a scenario for every
small time window using the create_scenario command. Use the -common_data and
-common_variables options to specify data and variables that are common across the
scenarios. Use the -specific_data option to specify scenario specific data.
In the following example, the entire simulation time 0 to 10000 is divided into two smaller
windows, 0 to 5000 and 5001 to 10000. So, two scenarios are created, one for each smaller
time window. Reading and linking the design, reading and applying the constraints and
parasitics, and updating the timing are common across the two scenarios. Reading the VCD
file is specific to each scenario.
set test_dir .
The scripts specific to the two scenarios, run_0.tcl and run_1.tcl, are as follows:
The third step in the distributed peak power analysis flow is to launch the jobs on the remote
machines so that peak power analysis can run simultaneously on each of the smaller time
windows. When your distributed environment is set up and you have created the scenarios,
you must select a set of scenarios to be analyzed, using the current_session command.
Use the remote_execute command to execute one or more commands on the remote
machines. The remote_execute command builds a buffer of commands and triggers the
execution of the commands in the buffer on the remote machines. The commands in the
buffer are executed in the order in which they are mentioned. You can run this command only
after you have selected the scenario(s) using the current_session command. For more
details on these commands, refer to the command man page.
The following example script shows how to launch your jobs to run peak power analysis in a
distributed environment.
current_session -all
remote_execute { \
report_power
}
The final step in the distributed peak power analysis process is to display the merged power
report. You must first set the power_enable_analysis variable to true. You can then
execute the report_power command on the master process. Currently, the options for
report_power are supported only when the command is executed in the slave processes.
The license requirement for using the distributed multi-scenario analysis feature is similar to
that of PrimeTime. For more information about this feature, see the PrimeTime User Guide:
Distributed Multi-Scenario Analysis.
%> nWave
To view the waveform data in nWave, choose File > Open and select the desired file. This
loads the desired .fsdb or .out file. You can select signals from within nWave by choosing
Signal > Get All Signals from the menu bar.
By default, nWave scales all the individual waveforms to a default height. To view the
waveforms scaled to the total power consumption, do the following:
7-1
Introduction to the Multivoltage Infrastructure
PrimeTime PX can analyze the power for designs with different power supply voltages for
different cells. The multivoltage infrastructure allows you to choose between two distinct
methods for calculating power for designs with different power supplies. These methods are
not interchangeable.
• Accurate power calculation for cells with multiple power supplies by using internal and
leakage power tables with liberty power-and-ground pin syntaxes
• Power-gating-aware power calculation in which the tool recognizes power on and off
states for design blocks and reflects power-saving technology in leakage power
calculation
• Voltage scaling for power calculation
Multivoltage Libraries
The Synopsys multivoltage design flow supports composite current source (CCS) and
multiple and merged nonlinear power model (NLPM) libraries. In particular for power
analysis with multivoltage designs, PrimeTime PX uses the following power-and-ground pin
library data:
In multiple NLPM libraries, the different libraries have the same cell names. A multivoltage
design using this type of library might have cells with the same name but different VDDs.
Power analysis requires the cells to be linked to the proper libraries. You can link different
cells to different libraries by using the link_path_per_instance variable.
The tool supports power scaling for averaged and time-based power calculations for all
power analysis modes. To perform scaling, specify the following command:
define_scaling_lib_group library_list
During the scaling operation, you can use the set_operating_conditions and
set_rail_voltage commands to specify the voltage and temperature that are different
from the ones defined in the libraries. Set the operating condition within the range covered
by the scaling group. PrimeTime PX checks that the user-specified conditions are within the
range of the applicable scaling group. If they are outside the range, it issues an error
message and uses the voltage or temperature from the primary linked library instead.
• If you remove a library with the remove_lib command, the scaling group that contains
that library is removed also.
• If by linking the design again you cause a library within a scaling group to be read again,
you must specify the scaling group again with the define_scaling_lib_group
command.
PrimeTime PX uses a nonlinear interpolation method for voltage scaling of leakage power
and internal power. For temperature scaling of leakage power, the tool uses the nonliner
interpolation method. For temperature scaling of internal power, a linear interpolation
method is used.
The following example shows a technology library cell that has intrinsic leakage and gate
leakage characterization supported for the cells:
cell (cell_name) {
...
leakage_current () {
when : state_1;
pg_current(pg_pin_1) {
value : val_1_1;
}
...
pg_current(pg_pin_n) {
value : val_1_n;
}
gate_leakage(input_1) {
input_low_value : val_low_1_1;
input_high_value : val_high_1_1;
}
...
gate_leakage(input_n) {
input_low_value : val_low_1_n;
input_high_value : val_high_1_n;
}
}
leakage_current() {
when : state_2;
...
}
leakage_current() {
/* default state */
...
}
}
Multivoltage Cells
For PrimeTime PX to determine the contribution of each power rail in a multi-supply cell, you
must provide separate power tables for each rail in the library model. For example, for a
multivoltage cell with VDD1 and VDD2, you would use the following:
The following example shows how you can determine the power consumption of each power-
and-ground rail by using power-and- ground pins. The related_pg_pin attribute
differentiates power consumption based on the power-and-ground rails.
cell (SHIFTER) {
...
pg_pin(PVDD1){
voltage_name: “VDD1”;
pg_type : primary_power;
}
pg_pin(PVDD2) {
voltage_name : “VDD2”;
pg_type: primary_power;
}
pg_pin (SVSS) {
voltage_name : “VSS”;
pg_type: primary_ground;
}
...
Pin (Y) {
...
related_power_pin : PVDD1;
related_ground_pin : PVSS;
internal_power () {
related_pg_pin : PVDD1;
power (power_r1) (
values (“1.934150. 2.148130”);
}
}
internal_power () {
related_pg_pin : PVDD2;
power (power_r1) (
values ( “1.634150, 2.548130” );
Figure 7-1 Multivoltage Power Analysis Flow Using Unified Power Format
Power Domains
Multivoltage designs contain design partitions which have specific power behavior compared
to the rest of the design. A power domain is a basic concept in the Synopsys low-power
infrastructure, and it drives many important low-power features across the flow. A power
domain describes a design partition, bounded within logic hierarchies, which has a specific
power behavior with respect to the rest of the design.
Note:
A power domain is strictly a logic construct - not a netlist object.
Logical hierarchy where the power domain is created is called the scope of the power
domain. Design elements that belong to a power domain are said to be in the extent of the
power domain. You can use the set_scope command to specify the scope or level of
hierarchy. The set_scope command sets the scope or the level of hierarchy to the specified
instance.For more information, see the Power Intent chapter in the Synopsys Low-Power
Flow User Guide.
Use the -element option to specify the list of hierarchical cells that are added as extent of
the power domain. The -include_scope option specifies that all the elements in the
current scope share the primary supply of the power domain, but are not necessarily added
as extent of the power domain. Use the -scope option to specify the logical hierarchy or the
scope at which the power domain is to be defined. domain_name is the name of the power
domain to be created.
Using the create_power_switch command, you can define a power switch in a specific
power domain. The power switch is created within the scope of the specified power domain.
This command also lets you specify the power down control so that when cells are turned
off, they are disconnected from the power supply. When the boolean expression associated
with the on_state evaluates to true, the switch is in the on state and the value at the input
supply port is propagated to the output supply port. The power pin of a cell is switched off
only when the following conditions are satisfied.
• The power domain that the cell belongs to has power switches specified.
• The power supply net of the cell is connected to the output supply net of one of the power
switches.
• The value of the boolean expression, associated with the on_state of the power switch, is
FALSE.
PrimeTime and PrimeTime PX only support single input, single output, multi control
switches.
Note:
There are more options to the create_power_switch command, such as -
ack_port, -on_partial_state, -ack_delay, -off_state, and -
error_state.These options are not supported in PrimeTime PX. These options are
ignored by the tool without issuing any warning message. UPF commands related to
power switch such as, map_power_switch and set_power_switch commands are
not supported by PrimeTime PX. These commands are ignored by the tool with a warning
message.
Use the set_voltage command, supported by UPF standard, to define the operating
voltage on power ground pins and the power nets. By defining the operating voltage, the
parts of the design powered by these nets and power ground pins are optimized for the
specified voltage.
Note:
The operating voltage defined on power nets using the set_voltage command is not
propagated across the power switch. To have similar operating voltage for nets across the
power switch, use the set_voltage command on each net segment, in other words, on
the supply net on both sides of the power switch.
ctrl
PVN IVN
vin vout
PGN
The following example shows a typical script used for power analysis.
# Read parasitics
read_parasitics design.spef
To handle the serial and parallel connection of power switches, PrimeTime PX supports the
set_supply_net_probability command. This command allows you to specify the
static probability that the specified net is on. This is useful in averaged power analysis. The
set_supply_net_probability is not a UPF standard command.The syntax of the
set_supply_net_probability command is as follows:
The float value specified is the probability that the supply net is powered on. The value for
the probability should be between 0 and 1.
Use the -remove option to remove an existing annotation on the specified supply nets.
To use this feature, you must first specify the power intent for your design using UPF. Before
the power analysis step, you must select the power domain(s) or the power net(s) that you
want to report. During the reporting, the tool generates a single power report for the power
domain(s) or the power nets(s) that you selected. If you do not specify or select power
domain(s) or power net(s), the tool, by default, reports power for all the power domains and
all the power nets. This feature is supported for all the flows and all four types of reporting:
summary, cell-based, net-based and hierarchy-based reporting.
Figure 7-3 shows the usage flow for multivoltage power analysis when you use power
domains. For more information about domains, see the PrimeTime User Guide.
• The create_power_domain command specifies the name of a power domain and lists
the hierarchical cells associated with the domain. The power domain applies to the top
level if you don’t specify a list. There can be only one top-level domain. Use the following
options for power-down specifications:
- -power_down indicates that the specified domain can be powered down.
- -power_down_ctrl net_list specifies the nets that control the power to the
specified domain. These are nets that can cause the domain to be powered down.
- -power_down_ctrl_sense 0 | 1 specifies the falling or rising status for the
powered-down control nets specified with the -power_down_ctrl option.
create_power_domain A -power_down \
-power_down_ctrl B -power_down_ctrl_sense 1
The following sample script demonstrates how to perform multivoltage power analysis using
domains:
report_power
In this example, G1 refers to one of the green instances and R1 refers to the red cell. Other
instances are named in the same fashion. V1 is one power rail in the design.
For libraries with power and ground pins, use the create_power_rail_mapping
command to group cells based on the ground rail as well. For example,
After the design is grouped, the power report covers only the power of the selected rails.
Here is a simple sample script of a multivoltage design analysis:
link
create_power_rail_mapping \
V1 -instance “G1 G2 G3” \
current_power_rail “V1”
report_power
In this example, the current_power_rail command allows you to select the rails for
which to report power. You can select one rail or a list of power rails. PrimeTime PX reports
the sum of the selected power rails. Without this command, all the rails’ power is reported
together. The report_power command automatically initiates the update_power
command.
The following sample script uses the current_power_rail command to view the power
consumption per rail for a design that contains two power rails, VDD1 and VDD2:
current_power_rail VDD1
report_power > pp_rail_VDD1
current_power_rail VDD2
report_power > pp_rail_VDD2
The report_power command output contains the power consumption only for the last
specified rail. The rails for which power is calculated are defined in the Voltage Rail heading
of the report file, as shown in the following sample file:
****************************************
Report : power
Design : d
Version: Y-2007.06
Date : Wed Jan 11 09:27:35 2007
****************************************
Library(s) Used:
For multirail cells, you must link the power rails in the design and library to retrieve the
information in the library. Use the create_power_rail_mapping -library_rail
command to map the power rails in the library. For example,
After the design instances are grouped with the appropriate power rails, the
report_power_rail_mapping command reports the mapping information as well. Use
this command before or after power rail mapping.
By default, PrimeTime PX reports the total power consumption for all the rails in the design
based on the rail voltages defined in the libraries. To report power per rail, PrimeTime PX
needs to know the power rails in the design as well as the rails in the library.
Figure 7-4 shows a design with multiple power rails. The V2 rail, which feeds Block-3 and
portions of Block-1, can be shut off when those instances are not used.
PrimeTime PX follows certain rules to handle the power-off signal. When the switching
activity is from VCD and the power-off condition is true, PrimeTime PX knows that the power
supply is in shut-off state with no power consumed. This applies to both leakage and
dynamic power. When the power-off condition is false, regular power analysis is performed.
When the switching activity is from SAIF, the tool, by default, uses the static probability of the
power-off condition to scale the leakage as default.
If the activity information does not capture the actual toggles during power-off, set the
power_scale_dynamic_at_power_off variable to true. PrimeTime PX scales the
dynamic power as well as the leakage power.
Sample Script
For this example, assume that power rail V2 is power-gated as shown in Figure 7-4. The
second power rail mapping command is mandatory. It defines the power-off condition and
the power rail controlled by power gating. After using that command, you can directly use the
update_power and report_power commands. You can check the rail mapping as well.
read_verilog $myvlog
current_design $topdesign
link
read_vcd -strip_path tb/top
vcd.dunp
report_power_rail_mapping
report_power_rail_mapping
current_power_rail V1
report_power
For libraries with power and ground pins, PrimeTime PX determines the signal voltages
based on the related_power_pin and related_ground_pin syntax for the library pin.
For partial-swing cases, the switching power calculation takes into account the Vh/Vl voltage
swing range for the net.
PrimeTime PX supports the ability to set the values of single and multirail cells and allows
you to modify the default rail voltages of single-rail or multirail cells. The values specified are
used to calculate the correct energy.
You can use the set_rail_voltage command for a particular cell to cause PrimeTime PX
to override the default voltage. This is particularly useful for what-if analysis. Another
application for set_rail_voltage is to apply operating conditions to hierarchical blocks
and then back-annotate rail voltages that are due to voltage (IR) drop on individual cells to
ascertain the effects.
PrimeTime PX provides commands that allow you to view the clock network and connect
register power. If the clock network has not been inserted, you can estimate its power
consumption. If it has been inserted, PrimeTime PX provides commands to report power
consumption from the clock network and registers.
8-1
Estimating Clock Network Power Consumption
You can estimate the additional power incurred by a clock network prior to its insertion. You
enable this feature with the estimate_clock_network_power command, which
provides a more accurate analysis of the total design power when clock network synthesis
has not yet been performed. Before issuing the estimate_clock_network_power
command, you must identify the design clocks.
You can perform clock network estimation before power calculation when you have statistical
activity (either from SAIF or the set_switching_activity command). When VCD data
is provided, however, the estimate_clock_network_power command must be issued
after the update_power command. Internally, the VCD activity on the clock network is
converted to switching activity and used to estimate the clock network power.
• The delay from the root to the leaf of the network is minimized.
• The driven registers are put at the same and lowest level of the network.
• The deviation of buffer fanouts at the same network level is minimized.
• For clock-gating cells, by default separate networks are built based on the fanout of the
clock-gating cell and using the same rules as specified above. If you want PrimeTime PX
to consider clock-gating cells to be part of the clock network, set the
power_clock_network_include_clock_gating_network variable to true. The
default value of this variable is false.
The output load of each buffer is calculated using the wire load model, and the input
transition of each buffer is propagated from the root. The switching activity is derived from
the clock specification or from the SAIF or VCD file.
****************************************
Report : estimated clock network power
Design : reg16
Version: Y-2007.06
Date : Tue May 10 08:41:09 2007
****************************************
Power Estimation:
Cell Internal Power = 5.855e-06
Net Switching Power = 1.120e-04
------------
Total Dynamic Power = 1.179e-04
get_clock_network_objects
-type object_type
[-include_clock_gating_network]
[clock_list]
This command provides a view of the clock network of the design, which can aid in
debugging. If you don’t specify a list of clock domains with clock_list, the command
returns the specified objects for all clock domains.
By default, this command returns the integrated clock-gating cells unless you specify the
-include_clock_gating_network option, which causes the discrete logic structure of
the network also to be included. For more information, see the man page.
A clock network is a special logic portion of the design that propagates the clocks from the
clock sources to the clock pins of latches, flip-flops (which function as anything but
propagating clocks), or black boxes. The propagation also stops at design output ports,
dangling pins or nets, or the sources of other clocks. The get_clock_network_objects
command retrieves specified objects from the direct clock network (including the latches, flip-
flops, and black boxes driven by the clock network) but not from a generated clock source
network, if the specified clock is a generated clock.
In PrimeTime PX you can specify annotated power values, the ones that are estimated or
calculated by other tools such as Design Compiler topographical mode. You can also use the
clock network power values obtained from transistor-level simulators and annotate them for
power analysis in PrimeTime PX. By specifying the related clock, you can annotate the
To specify the annotated values for the clock network power, use the
set_annotated_clock_network_power command. The tool saves the annotated
values on the current design. By default, the specified power values are annotated on the
entire clock network in the design. Use the -clock option for the power values to be
annotated on the collection of clock network objects of the corresponding clock domain. Use
the set_annotated_clock_network_power command multiple times to specify
annotated power for multiple clock domains separately.
Use the -total_power option of the command to specify the total power. Alternatively, you
can use a combination of -internal_power, -switching_power and -
leakage_power options to annotate the values for internal power, switching power and
leakage power, respectively. You can use these three options individually or a combination.
However you cannot combine any of these three options with the -total_power option.
For more details of this command and its options, see the command man page.
When you specify annotated values for clock network power, PrimeTime PX replaces the
estimated or calculated clock network power by the annotated power values. The
succeeding report_power command uses the annotated clock network power in the
design summary reports. As a result, the power report generated by the report_power
command is as accurate as those reported by transistor-level simulation tools or the physical
aware tools such as the Design Compiler topographical technology.
The following sections describe the mechanisms for generating power reports:
• Power Report
• Power Group Reports
• Sample Power Reports
• Custom Report Generation
The primary command for generating power dissipation reports is the report_power
command. After you have successfully performed the power analysis with the
update_power command, you can use the report_power command to view the results.
9-1
Power Report
By default, the report_power command outputs the top-level power consumption. The
syntax is
report_power [-verbose]
[-cell_power][-net_power]
[-hierarchy] [-levels level_value]
[-power_greater_than threshold] [-leaf]
[-include_boundary_nets]
[-nworst_number] [-sort_by sort_mode]
[-clocks clock_list] [-nosplit]
[-groups group_list]
[-include_estimated_clock_network]
[object_list]
For information about the report_power command, see the man page.
The report file can also provide power dissipation data (power = energy/time) for the desired
instances if you provide an instance list with the command.
Typically, you use the power dissipation report to identify general problem areas in a design.
You can narrow your analysis by using other PrimeTime PX options.
****************************************
Report : Statistical Average Power
-verbose
Design : testcase
Version: 2007.06
Date : Sun Jun 19 15:45:24 2007
****************************************
Library(s) Used:
Operating Conditions:
Wire Loading Model Mode: enclosed
Attributes
----------
i - Including driven register power
Internal Switching Leakage Total Clock
Power Power Power Power ( %) Attrs
Power Report
9-3
---------------------------------------------------------------
clk 1.813e-04 4.199e-05 4.129e-10 2.233e-04
---------------------------------------------------------------
Estimated Clock1.813e-04 4.199e-054.129e-10 2.233e-04 (70.03%)
• The technology library should have gate leakage and intrinsic leakage (power to ground
leakage) characterized for the library cells.
• Set the power_report_leakage_breakdowns variable to true. The default value of
the power_report_leakage_breakdowns variable is false.
The following example shows the part of the power report with the gate leakage and intrinsic
leakage information:
create_power_group
-name name
[-default] cell_list
The following predefined power groups are available by default. Predefined power groups
are not overlapping; if one object falls into more than one group, it goes to the group that is
ordered first. When defining your own power group, use a unique name.
• io_pad
All I/O pad cells. The is_io_pad attribute is placed on cells identified as I/O pad cells.
• memory
All memory cells. The is_memory_cell attribute is applied to these cells only if you
previously defined them as part of the memory group in the library. By default, memory
cells are considered black box and assigned the is_black_box true attribute.
• black_box
All black boxes excluding memory cells. The is_black_box true attribute is placed on
cells identified as black box cells.
• clock_network
Objects in the clock network, excluding I/O pad cells. If the
power_clock_network_include_register_clock_pin_power variable is set to
true, the clock network value includes the internal power consumed by register clock
pins. If the power_clock_network_include_clock_gating_network variable is
set to true, the clock network value includes the discrete clock-gating logic network data.
• register
The latches and flip-flops driven by the clock network, excluding memory or black box
cells also driven by the clock network. If the
power_clock_network_include_register_clock_pin_power variable is set to
true, the register value excludes the internal power consumed by the register clock pins.
If the power_clock_network_include_clock_gating_network variable is set to
true, the register value excludes the latches in the discrete clock-gating logic network
from the register group.
• sequential
All other sequential cells.
To return a list of cells contained within specified predefined or user-defined power groups,
use the following command:
get_power_group_objects power_group_list
To report information for specified predefined or user-defined power groups, use the
following command:
For more information about these commands, see the man pages.
The -leaf option causes the report to also include leaf instance power dissipation.
Reporting to the leaf level is useful particularly when leaf cells are scattered throughout the
hierarchy or when you want to perform detailed analysis.
****************************************
Report : Averaged Power
-net_power
-nworst 5
-leaf
-sort_by net_switching_power
-power_greater_than 0
Attributes
----------
a - Switching activity information annotated on net
p - Propagated switching activity information on net
d - Default switching activity used on net
u - Net switching activity uninitialized
m - Net is driven by multiple pins
Total Static Toggle Switching
Net Vdd Net Load Prob. Rate Power Attrs
----------------------------------------------------------
net36 1.80 0.026 0.248 0.1985 8.397e-06 p
net42 1.80 0.026 0.248 0.1985 8.397e-06 p
net48 1.80 0.026 0.248 0.1985 8.397e-06 p
net54 1.80 0.026 0.248 0.1985 8.397e-06 p
sub/net20 1.80 0.026 0.248 0.1985 8.397e-06 p
----------------------------------------------------------
Total (5 nets) 4.199e-05 Watt
The following command generates a cell-based power report for the predefined
clock_network power group:
****************************************
Report : Averaged Power
-cell_power
-sort_by cell_internal_power
-power_greater_than 0
-groups clock_network
Design : mac
Version: B-2008.12
Date : Mon Nov 17 12:09:46 2008
****************************************
Attributes
----------
a - Annotated internal & leakage power
b - Black-box (unresolved) cell
c - Clock pin internal power only
d - Does not include clock pin internal power
h - Hierarchical cell
The following command generates a hierarchy-based power report for an instance named
sub:
****************************************
Report : Averaged Power
-hierarchy
-hierarchy_level 2
Design : mac
Version: B-2008.12
Date : Mon Nov 17 12:14:32 2008
****************************************
net switching_power
glitch_rate
glitch_count
toggle_rate
toggle_count
static_probability
is_power_control_signal_net
power_base_clock
activity_source
pin glitch_rate
toggle_rate
static_probability
power_base_clock (port also)
cell dynamic_power
glitch_power
internal_power
leakage_power
peak_power
switching_power
peak_power
total_power
x_transition_power
power_states
peak_power_start_time
peak_power_end_time
has_multi_power_rails
has_multi_ground_rails
has_rail_specific_power_tables
intrinsic_leakage_power
gate_leakage_power
design dynamic_power
glitch_power
internal_power
leakage_power
switching_power
peak_power
total_power
x_transition_power
power_simulation_time
power_states
peak_power_start_time
peak_power_end_time
power_simulation_time
intrinsic_leakage_power
gate_leakage_power
lib_cell has_multi_power_rails
has_multi_ground_rails
has_rail_specific_power_tables
is_memory_cell
is_pad_cell
is_black_box
You can write your own procedures and rely on the built-in object collections to access the
desired information.
proc report_register_power {} {
set cells [all_registers]
if { [sizeof_collection $cells] == 0 } {
echo "Error: cannot find any registers.\n"
} else {
set t_total 0.0
set t_dynamic 0.0
set t_leakage 0.0
set t_switching 0.0
set t_internal 0.0
# print the header
echo "************************************************"
echo "* Register Power Report *"
echo "**********************************************\n"
echo [format "%10s %10s %10s %10s %10s %s" \
"Total" "Dynamic" "Leakage" "Switching" "Internal" "Register Cell"]
echo "-------------------------------------------------"
# print the body
foreach_in_collection cell $cells {
set name [get_object_name $cell]
set total [get_attribute $cell total_power]
set dynamic [get_attribute $cell dynamic_power]
set leakage [get_attribute $cell leakage_power ]
set switching [get_attribute $cell switching_power]
set internal [get_attribute $cell internal_power]
echo [format "%10.3e %10.3e %10.3e %10.3e %10.3e %s" \
$total $dynamic $leakage $switching $internal $name]
set t_total [expr $t_total + $total]
set t_dynamic [expr $t_dynamic + $dynamic]
set t_leakage [expr $t_leakage + $leakage]
set t_switching [expr $t_switching + $switching]
set t_internal [expr $t_internal + $internal]
}
# print the total
echo "------------------------------------------------------"
echo [format "%10.3e %10.3e %10.3e %10.3e %10.3e TOTAL" \
$t_total $t_dynamic $t_leakage $t_switching $t_internal]
}
}
If your PrimeTime PX scripts are not compatible with the new user interface you can choose
to use the older user interface by setting the power_ui_backward_compatibility
variable to true. You must set this variable before specifying any of the power commands.
In a single session of the tool, you cannot change the setting of the
power_ui_backward_compatibility variable. In the backward compatibility mode, if
you use the commands supported in the newer user interface, the tool issues errors.
Similarly, in the newer user interface, if you use the commands supported only in the older
user interface, the tool issues error messages.
Note:
The support of the power_ui_backward_compatibility variable is temporary.
The following section discusses in detail the enhancements in the new user interface.
10-1
Updates in the New User Interface
The new user interface supports new variables and commands. Also, some of the existing
commands are updated to support more options, while some options have been obsoleted.
Some commands and variables are obsolete in the new user interface. These changes are
discussed in detail in the following sections.
• power_analysis_mode
You use the new power_analysis_mode variable to select the power analysis mode.
You must set this variable before specifying any of the power commands. If you do not
explicitly set this variable, the tool performs averaged power analysis. The syntax of this
variable is as follows:
You can change from one power analysis mode to another in the same session of the tool.
When you change to another mode, the tool internally resets the power analysis options,
resets the switching activity information, and invalidates the result of the power analysis.
PrimeTime PX issues an information message when the power analysis mode is
changed.
• set_power_analysis_options
You use the set_power_analysis_options command to set the options for power
analysis. This command supports options that allow you to select a specific power
analysis flow and output waveform formats. If you use this command without specifying
any options, the default values are used.
If you use this command multiple times, the values set by every execution of this
command overwrite the settings of the previous execution and any unspecified options
are set to their respective default values.
Note:
You must select the options of the set_power_analysis_options command
appropriately to ensure compatible with the power analysis mode. Otherwise, the tool
issues an error message.
For more information, see the command man page.
****************************************
Report : Power Analysis Options
Design : mac
Version: B-2008.12
Date : Wed Oct 01 14:59:26 2008
****************************************
• -rtl
Use this option to specify that the Value Change Dump (VCD) file is from RTL simulation.
• -format
Use this option to specify the RTL format, such as Verilog or VHDL. The default format is
Verilog.
The -cells option of the read_vcd command is removed. This option is supported by the
set_power_analysis_options command.
For more information see the man pages of the read_vcd and the
set_power_analysis_options commands.
The following commands and variables are obsolete in the new user interface. You must
update your scripts to replace the obsolete commands and variables. The functionality of all
these obsolete commands and variables are incorporated in the update_power command.
• create_power_waveform
• power_monitor_cells
• power_force_saif_flow
• power_average_waveform_limit
IN-1
report_switching_activity 5-11, 5-13, 5-14, internal power 1-4
6-3 power groups 9-4
report_vcd_hierarchy 6-6 short-circuit power 1-4
reset_switching_activity 5-11 static power 1-3
restore_session 3-14 switching power 1-5
save_session 3-14 distributed peak power analysis 6-12
set_annotated_power 5-20 domains, power 7-13
set_domain_supply_net 7-9
driver, power analysis 4-4
set_operating_conditions 3-4, 7-3
dynamic power, defined 1-4
set_power_analysis_option 3-10
set_rail_voltage 7-3
set_rtl_to_gate_name 3-6, 3-7, 3-9 E
set_scope 7-8
set_supply_net_probability 7-12 estimating clock network power 8-2
set_switching_activity 5-3, 5-8, 5-11, 5-14 extract_model -power command 1-6
set_voltage 7-11, 7-15 Extracted Timing Model 1-6
update_power 5-2
write_saif 5-8
connect_power_net_info command 7-15
G
connect_supply_net command 7-8 gate-level SAIF 5-6
correlation 5-20 get_switching_activity command 5-14
defined 5-20 getting started with PrimeTime PX 3-1
create_power_domain command 7-8, 7-14 GUI
create_power_group command 9-5 analysis flow 4-2
cell data table 4-9
create_power_net_info command 7-15
design hierarchy browser 4-7
create_power_rail_mapping command 7-20
design map 4-5
create_power_switch command 7-9 exiting 4-3
create_supply_net command 7-8 histograms 4-8
create_supply_port command 7-8 power analysis driver 4-4
cycle-accurate peak power analysis 6-4 schematic viewer 4-11
starting 4-3
treemap 4-5
D waveform viewer 4-11
debugging 5-14, 6-9
default name mapping 3-5
define_scaling_lib_group command 7-3
I
definitions internal power
correlation 5-20 annotating on black boxes 5-20
cycle accurate peak power analysis 6-4 defined 1-4
dynamic power 1-4 modeling 1-4
short-circuit power 1-4
IN-2
introduction to PrimeTime PX usage 3-1 N
io_pad power group 9-5
name mapping 3-6
is_black_box true attribute 9-5
new user interface 3-2, 10-1
is_io_pad attribute 9-5 power analysis flow using new user interface
is_memory_cell attribute 9-5 3-2
NLDM (nonlinear delay model) 7-3
NLPM (nonlinear power model) 1-2, 7-3
L nWave waveform viewer 2-11
leakage power
annotating on black boxes 5-20
cause of 1-4 O
gate leakage 7-5
overview
modeling 1-3
reading design data 3-2
power gating 7-19
using PrimeTime PX 3-2
reporting 9-4
libraries, multivoltage 7-2
-library_rail 7-18 P
link_path variable 7-4 peak power analysis 1-3
link_path_per_instance variable 7-3 power analysis
load_upf command 7-8 cycle-accurate peak power analysis 6-4
distributed peak power analysis 6-12
driver (GUI) 4-4
M multivoltage 7-1
memory power group 9-5 with VCD 2-2
merge_saif command 5-3, 5-7 power analysis modes
modeling power introduction 3-1
dynamic 1-4 selecting 3-4
leakage power 1-3 specifying options 3-10
modes, PrimeTime PX usage overview 3-2 time-based 6-1
multivoltage cells 7-5 types 3-2
multivoltage libraries 7-2 power calculation 6-9
multivoltage power analysis 7-1 power consumption, clock network 8-2
infrastructure 7-2 Power Domains 7-8
introduction 7-2 power domains 7-13
libraries 7-2 power-down specifications 7-14
multivoltage cells 7-5 power gating 7-19
power-down specifications 7-14 in UPF mode 7-9
power-scaling 7-3 power groups 9-4
using domains 7-13 black box 9-5
using power rails 7-16 clock network 9-5
IN-3
combinational 9-6 name mapping 3-6
defining 9-5 net-based 9-2, 9-6
io_pad 9-5 power 2-11, 9-2
memory 9-5 power group 9-4, 9-6, 9-7
register 9-5 power rail 7-18
power modeling sample 9-3
dynamic 1-4 summary 9-2
leakage 1-3 switching activity 3-6
power rails 7-2, 7-16 types 9-2
power report 9-2 restore_session command 3-14
power scaling 7-3 reviewing, power report 2-11
power waveforms 6-16 RTL SAIF 5-6
power_model_preference variable 3-5 RTL-to-gate name mapping 3-6
power_x_transition_derate_factor 6-8 running PrimeTime PX 2-5
power-down specifications 7-14
predefined power groups 9-4
PrimeTime PX script file 2-9
S
SAIF file 5-5
commands 5-6
R writing 5-8
rails, power 7-2, 7-16 save_session command 3-14
read_saif command 5-6 scaling 7-3
read_vcd command 5-4, 6-3 script file 2-9
reading design data, overview 3-2 session
restoring 3-14
register power group 9-5
saving 3-14
report_power command 6-10, 9-2
set_domain_supply_net command 7-9
report_power_analysis_options command
set_operating_conditions command 3-4, 7-3
10-3
report_power_rail_mapping command 7-18 set_power_analysis_option command 3-10
set_rail_voltage command 7-3
report_power_switch command 7-10
report_switching command 5-13 set_rtl_to_gate_name command 3-6, 3-7, 3-9
set_scope command 7-8
report_switching_activity command 5-11,
5-14, 6-3 set_supply_net_probability command 7-12
report_vcd_hierarchy command 6-6 set_switching_activity command 5-3, 5-8, 5-14
reports set_voltage command 7-11, 7-15
cell-based 9-2, 9-7 short-circuit power
clock networks 8-5 defined 1-4
custom generation 9-9 internal power 1-4
hierarchy-based 9-2, 9-8 symbol for 1-4
leaf 9-6 start_gui 4-3
IN-4
starting PrimeTime PX 3-1 power_check_defaults 5-21
static power 1-3 power_clock_network_include_clock_gating
switching activity _network 8-2, 9-5
annotating 5-2 power_clock_network_include_register_cloc
annotating with SAIF 5-5 k_pin_power 9-5
default 5-12 power_default_static_probability 5-12, 5-17
deriving SDPD 5-19 power_default_toggle_rate 5-12, 5-17, 5-18
estimating unannotated 5-16 power_default_toggle_rate_reference_clock
5-12, 5-18, 5-19
propagating 5-19
power_domains_compatibility 7-13
removing 5-11
power_enable_analysis 3-4
reporting 5-13
power_estimate_power_for_unmatched_eve
switching power 1-5 nt 6-12
power_include_initial_x_transitions 6-12
power_match_state_for_logic_x 6-8
T power_model_preference 3-5
time-based power analysis 6-1 power_read_activity_ignore_case 3-6
cycle-accurate 6-4 power_scale_dynamic_at_power_off 7-20
distributed peak power analysis 6-12 power_table_include_switching_power 6-10
toggle rate 5-1 power_ui_backward_compatibility 3-2, 10-1
treemap, GUI 4-5 power_x_transition_derate_factor 6-8
VCD 2-2
debugging the file 6-9
U file 6-7
Unified Power Format 7-1, 7-2, 7-9 vcd2saif utility 5-5
unmatched states 6-12 vector analysis 3-10
update_power command 5-2 vector-free power analysis 2-6
UPF 7-1, 7-2, 7-9
usage overview for PrimeTime PX 3-2
user-defined power groups 9-4 W
waveform data
viewing 2-11, 4-11
V write SAIF 5-8
variables 6-8 write_saif command 5-8
for power calculation 5-22
link_path 7-4
link_path_per_instance 7-3 X
power_analysis_mode 3-4 x-states 6-12
IN-5