PTPX Methodology RM I1312
PTPX Methodology RM I1312
Disclaimer
SYNOPSYS, INC., AND ITS LICENSORS MAKE NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH
REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
Trademarks (™)
AFGen, Apollo, ASAP, Astro-Rail, Astro-Xtalk, Aurora, AvanWaves, BEST, Columbia, Columbia-CE, Cosmos,
CosmosLE, CosmosScope, CRITIC, Custom WaveView, CustomExplorer, CustomSim, DC Expert, DC Professional,
DC Ultra, Design Analyzer, Design Vision, DesignerHDL, DesignPower, DFTMAX, Direct Silicon Access, Discovery,
Encore, EPIC, Galaxy, HANEX, HDL Compiler, Hercules, Hierarchical Optimization Technology, High-performance
plus
ASIC Prototyping System, HSIM , i-Virtual Stepper, IC Compiler, IICE, in-Sync, iN-Tandem, Intelli, Jupiter,
Jupiter-DP, JupiterXT, JupiterXT-ASIC, Liberty, Libra-Passport, Library Compiler, Macro-PLUS, Magellan, Mars,
Mars-Rail, Mars-Xtalk, Milkyway, ModelSource, Module Compiler, MultiPoint, ORAengineering, Physical Analyst,
Planet, Planet-PL, Platform Architect, Polaris, Power Compiler, Processor Designer, Raphael, RippledMixer, Saturn,
Scirocco, Scirocco-i, SiWare, SPW, Star-RCXT, Star-SimXT, StarRC, Synphony Model System Compiler, System
Compiler, System Designer, System Studio, Taurus, TotalRecall, TSUPREM-4, VCSi, VHDL Compiler, VMC, and
Worksheet Buffer are trademarks of Synopsys, Inc.
Synopsys, Inc.
700 E. Middlefield Road
Mountain View, CA 94043
www.synopsys.com
ii
Contents
Introduction ............................................................................................................ 2
Power Analysis Flow in PrimeTime PX .................................................................. 2
Leakage Power Analysis for Threshold Voltage Groups .................................... 6
Averaged Power Analysis ...................................................................................... 7
Vector-Free Flow ................................................................................................ 7
VCD Flow for Averaged Power Analysis ............................................................ 9
SAIF Flow for Averaged Power Analysis .......................................................... 10
Time-Based Power Analysis ................................................................................ 11
Peak Power Analysis ........................................................................................ 12
Cycle Accurate Peak Power Analysis .............................................................. 13
Multivoltage Power Analysis ................................................................................ 15
Power Analysis of UPF Designs ....................................................................... 16
Power Analysis of Non-UPF Designs ............................................................... 20
References........................................................................................................... 21
iii
1
Introduction
Power management is one of the main design challenges for nanometer-scale
technologies. To maximize power savings, designers today are employing various
advanced power management techniques such as multivoltage designing, frequency
scaling, power gating and so on. Calculation of the power dissipation of the design is an
essential part of the design flow. Accurate power analysis is required not only at the
sign-off stage but also in the earlier stages in the design flow.
PrimeTime PX is the sign-off quality power analysis tool in the Synopsys Galaxy design
platform. PrimeTime PX provides capabilities to perform power analysis accurately in
both the averaged and time-based modes. Beginning with the A-2007.12 release version
of PrimeTime PX, the ultra-low-power designs employing advanced power management
techniques using IEEE 1801 (UPF) support power analysis
In addition to these standard flows, PrimeTime PX also supports the power analysis
requirements for the modern designs. Such special flows include multivoltage power
analysis, distributed power analysis, etc. Multivoltage power analysis flow is explained in
detail in the subsequent sections.
Figure-1 represents the steps to follow for a typical power analysis flow using PrimeTime
PX.
2
Figure 1: Power Analysis Flow in PrimeTime PX
Step 2: Read in the design data, including the netlist, SDC constraints and parasitic as
shown in Example 1.
Step 3: Before, specifying the switching activity for power, perform timing analysis using
the update_timing command. This maximizes the performance by preventing any
additional timing updates triggered by the activity annotation commands.
Step 4: Specify the switching activity to annotate activity information. The switching
activity can come from either a gate-level VCD file, RTL VCD file, SAIF file, or it can be
specified using the set_switching_activity, infer_switching_activity,
and the set_case_analysis commands. Starting with H-2013.06 release, use the
infer_switching_activity command on high-fanout pins such as preset and
clear.
If the switching activity is obtained from an RTL simulation, you need to provide a name-
mapping file to match the RTL activity file names to the corresponding gate-level objects.
The default name mapping performed in Design Compiler is correctly matched using the
built-in name-mapping capability in PrimeTime PX. However, for non-standard
permutations, you should generate a PrimeTime PX map-file in Design Compiler during
synthesis.
The E-2010.12 version of Design Compiler uses a new convention for naming registers
and hierarchical blocks synthesized from RTL generate statements with a
hdlin_enable_hier_naming variable set to true during synthesis. You should also
generate a correct PrimeTime PX map-file in Design Compiler regardless of whether
you have synthesized the netlist with hierarchical naming or not. The name-mapping file
consists of the set_rtl_to_gate_name command, and it must be sourced prior to
reading the activity file.
For more information, see “Name Mapping” on page 2-5 of PrimeTime PX User Guide.
[Referencesdoc.ref.2]
Note:
4
For SystemVerilog, provide the activity in the form of VPD or FSDB activity from the
simulator. The conversion utilities fsdb2vcd and vpd2vcd retain the enumerated
SystemVerilog structures for correct matching of the RTL VCD names with those in
the gate-level netlist. Do not use SystemVerilog VCD files created directly from the
simulator.
After applying the switching activity, it is recommended that you verify that the switching
activity has been correctly annotated onto the design, with the
report_switching_activity command; especially when providing RTL activity
files.
This command categorizes the nets in the design based on the cell type, so that you can
verify that all the primary inputs, sequential outputs, memories etc are annotated. When
providing RTL activity, you should apply the –rtl –list_not_annotated option to
report only the percentage of annotation and nets without annotation, for the synthesis
invariants. To debug the annotation issues, use the report_activity_file_check
command.
Use the check_power command to check for any possible power violations. This
command reports the cells that are missing power data in the library, and verifies that
the transition times and output loads are within the power table range.
5
## CHECK FOR POSSIBLE POWER VIOLATIONS
check_power
Step 6: Perform power analysis using the update_power command and generate the
reports using the report_power command.
## GENERATE REPORTS
report_power
By default, PrimeTime PX uses the CCS power models. When both the CCS and NLPM
power models are available, the CCS power model has a higher priority for a cell. To
use the NLPM power models, specify the nlpm argument with the
power_model_preference variable.
PrimeTime PX requires a complete set of power information for a cell from a single
power model, and not a mix and match of power information from CCS and NLPM power
models.
Beginning with the G-2012.06 release, PrimeTime PX can analyze and report leakage at
varying threshold voltage groups.
6
PrimeTime PX also supports threshold group identification with the –
pattern_priority option which is compatible with the mechanism used by
PrimeTime ECO swapping capability.
For more information, see “Reporting Leakage Power Based on Threshold Voltage
Group” on page 8-7 of PrimeTime PX User Guide. [Referencesdoc.ref.2]
To perform the analysis, the tool first checks for annotation of switching activity, static
probability, and toggle rate on all the nodes. If they are not available, the tool assigns the
default toggle rate and static probability to the primary inputs and black box outputs. For
nonannotated nets, you can derive the switching activity by using random vectors in a
simulation cycle with zero-delays.
Use the set_case_analysis command to annotate the primary inputs which do not
exist in the VCD file such as the test enable signals. This avoids the default toggle rate
from being applied.
Vector-Free Flow
Vector-free flow provides for quick power analysis data when there is no simulation data
available. In this flow, the tool processes the switching activity defined using the
set_switching_activity and set_case_analysis commands. If no switching
activity is defined, the tool assigns a default toggle rate and static probability on primary
inputs, tristates and black-box outputs, and propagates the activity with random vector
simulation.
PrimeTime PX uses a value of 0.1 for the default toggle rate and 0.5 for the default static
probability. The toggle rate is relative to the associated clock. For accurate results, it is
recommended to set the values for these parameters that are well suited for your design.
7
The guidelines for annotating the switching activity are:
Purpose Command
Annotate a suitable default toggle set power_default_toggle_rate 0.2
rate value, for example, 0.2 to all
the starting points. It is
recommended that you provide a
value which will produce
pessimistic power value when
compared with the gate-level VCD
results.
Example 2 Script Example for Vector Free Averaged Power Analysis Flow
## READ NETLIST
read_verilog mac.vg
8
current_design mac
link
report_switching_activity
## GENERATE REPORTS
report_power
## GENERATE THRESHOLD VOLTAGE GROUPS LEAKAGE REPORTS
## for default_thrshold_voltage_group: “LVT”
## or threshold_voltage_group: “LVT”
## if defined either in the library or by the user
report_power –threshold_voltage_group –lvth_groups LVT
9
## READ NETLIST
read_verilog mac.vg
current_design mac
link
## GENERATE REPORTS
report_power
## GENERATE THRESHOLD VOLTAGE GROUPS LEAKAGE REPORTS
## for default_thrshold_voltage_group: “LVT”
## or threshold_voltage_group: “LVT”
## if defined either in the library or by the user
report_power –threshold_voltage_group –lvth_groups LVT
Ensure that you specify the strip_path to the top-level design instance correctly.
Otherwise, it results in less accurate power analysis due to an incomplete switching
activity being annotated. In Example 3, the VCD activity file vcd.dump.gz is applied to
the top instance macinst in a test bench tb.
Prime Time PX also supports SAIF file format, a compact ASCII file that you can create
directly from HDL simulation or by using the vcd2saif UNIX utility that is shipped with
the tool. PrimeTime PX annotates the static probability and toggle rates directly from
SAIF.
## READ NETLIST
read_verilog mac.vg
current_design mac
link
## GENERATE REPORTS
report_power
## GENERATE THRESHOLD VOLTAGE GROUPS LEAKAGE REPORTS
## for default_thrshold_voltage_group: “LVT”
## or threshold_voltage_group: “LVT”
## if defined either in the library or by the user
report_power –threshold_voltage_group –lvth_groups LVT
In the traditional peak power analysis flow, Prime Time PX reads a gate-level VCD file,
calculates the energy per event, and generates detailed time-based power waveforms
which display the power based on the VCD resolution. This flow reports both the
averaged and peak power results.
11
Another time-based analysis technique, is the cycle-accurate peak power analysis,
which allows you to use RTL or gate-level zero-delay VCD files to perform cycle-
accurate power analysis. In this flow, PrimeTime PX propagates the VCD events to
derive the switching activity on nonannotated nets, and generates a power waveform
displaying the power per clock cycle. This technique reports both the average power and
the peak cycle power.
All the options required for peak power analysis are set using the
set_power_analysis_options command.
For more information on the command options, see the command man page.
The update_power command performs power analysis and also generates the power
waveforms. The report_power command generates reports for both peak power and
averaged power analyses.
Example 5 Script Example for Peak Power Analysis with Gate-Level VCD
## ENABLE POWER ANALYSIS
set power_enable_analysis TRUE
set power_analysis_mode time_based
## READ NETLIST
read_verilog mac.vg
current_design mac
link
## GENERATE REPORTS
report_power
## GENERATE THRESHOLD VOLTAGE GROUPS LEAKAGE REPORTS
## for default_thrshold_voltage_group: “LVT”
## or threshold_voltage_group: “LVT”
## if defined either in the library or by the user
report_power –threshold_voltage_group –lvth_groups LVT
In this flow, PrimeTime PX calculates the transition time and loads for every leaf pin, and
processes each event in the simulation activity file. The power waveform and peak
power is calculated by superpositioning the distributed power.
Note:
In this flow, propagation and name mapping are not performed. PrimeTime PX
assumes that the VCD is obtained from SDF based gate-level simulation, and that all
the nets are therefore annotated.
Cycle-accurate peak power analysis is enabled by using –rtl option of the read_vcd
command. The –rtl option causes PrimeTime PX to perform name mapping and
propagation of VCD events, per clock cycle. The default clock cycle is the fastest clock
defined with the create_clock command. It is recommended that you generate a
PrimeTime PX map-file when synthesizing RTL designs in Design Compiler.
13
## READ NETLIST
read_verilog mac.vg
current_design mac
link
## GENERATE REPORTS
report_power
## GENERATE THRESHOLD VOLTAGE GROUPS LEAKAGE REPORTS
## for default_thrshold_voltage_group: “LVT”
## or threshold_voltage_group: “LVT”
## if defined either in the library or by the user
report_power –threshold_voltage_group –lvth_groups LVT
In this flow, PrimeTime PX calculates the transition time and loads for every leaf pin,
performs name-mapping to match RTL signals to gate-level objects, propagates the
VCD events and the case_analysis constants to calculate the energy per clock cycle.
The power waveform is obtained by distributing the energy per cycle over the clock
cycle. The maximum power per cycle is calculated by superpositioning the distributed
power.
14
Multivoltage Power Analysis
PrimeTime PX supports power analysis for designs employing advanced power
management techniques. The multivoltage power analysis can be performed both in the
IEEE 1801 (UPF) mode and in the non-UPF mode.
PrimeTime PX complies with the multivoltage library requirements of the other tools in
the Galaxy design platform. In the multivoltage library setup and multiple logic libraries,
either CCS or NLPM for multiple voltages correspond to a single physical view. Logic
libraries in power and ground (PG)-pin format provide the power pin hookup information.
If the logic libraries are not PG pin complaint, user needs to provide a Tcl sidefile
containing PG pin information. The tool uses the sidefile to update the logic libraries with
PG pins automatically. Note that power analysis in non-UPF mode does not require the
PG pin libraries.
For more information about library setup, see page 5.13 “ Library Support for
Multivoltage Analysis” of the PrimeTime and PrimeTime SI User Guide [Referencesdoc.
ref. 3].
15
Power Analysis of UPF Designs
PrimeTime PX supports UPF format. The tool can read and apply the power intent and
constraints mentioned in the UPF file. Use the load_upf command to read the UPF
into the tool. Alternately, you can read the individual UPF commands sequentially from
the command prompt.
The power domains, power nets, and the power net connections are created
automatically from the UPF commands. The tool allows hierarchical cells, macro cells
and iopads as elements to the power domains. The tool also understands the strategies
defined in the UPF for the special cells including the switch cells.
Beginning with the E-2010.12 release, PrimeTime is capable of supporting fine grain
switch cells. The fine-grain switch cells are termed so only when the cell is defined with
the cell-level switch_cell_type attribute with the value fine-grain. PrimeTime PX
derives the “on” and “off” states of a fine-grain switch cell from the library specification of
internal PG pin. Beginning with the F-2011.06 release, users can connect to internal PG
pins.
For more information about deriving the on and off states of a fine-grain switch cell,
please refer to “Support for Fine-Grained Switch cells for Power Analysis” in the
PrimeTime PX User Guide . [Referencesdoc. ref. 2].
During peak power analysis, when the switch control signal in the VCD file is in the off
state, the tool identifies this with the shutdown state of the power domain. Because there
is no power consumption during shutdown, the power analysis assigns zero power for
the cells inside the power domain. When the switch control signal returns to on state,
power analysis is performed as usual.
The tool also can perform multirail scaling for multi-rail cells. Note that this capability is
available for UPF as well as non-UPF designs in both time-based and averaged
analyses.
16
Example 7 Script Example for Peak Power Analysis in the UPF Mode
## READ NETLIST
read_verilog design.v
current_design design_top
link
## LOAD UPF
load_upf design.upf
## SET VOLTAGE
set_voltage 0.7 –object_list {VDDG}
set_voltage 0.9 –object_list {VDDX}
set_voltage 0 –object_list {VSS}
17
## GENERATE REPORTS
report_power
report_power –rails “VDDG VDDX”
## GENERATE THRESHOLD VOLTAGE GROUPS LEAKAGE REPORTS
## for default_thrshold_voltage_group: “LVT”
## or threshold_voltage_group: “LVT”
## if defined either in the library or by the user
report_power –threshold_voltage_group –lvth_groups LVT
For averaged power analysis, PrimeTime PX uses the switching activity information of
the switch control signal to scale the leakage and dynamic power values. You can derive
the switching activity information either from a SAIF file or define using the
set_switching_activity command.
## READ NETLIST
read_verilog design.v
current_design design_top
link
## LOAD UPF
load_upf design.upf
## SET VOLTAGE
set_voltage 0.7 –object_list {VDDG}
18
set_voltage 0.9 –object_list {VDDX}
set_voltage 0 –object_list {VSS}
## GENERATE REPORTS
report_power
report_power –rails “VDDG VDDX”
## GENERATE THRESHOLD VOLTAGE GROUPS LEAKAGE REPORTS
## for default_thrshold_voltage_group: “LVT”
## or threshold_voltage_group: “LVT”
## if defined either in the library or by the user
report_power –threshold_voltage_group –lvth_groups LVT
By default, the report_power command reports power for all the power domains and
all the power nets in the design. PrimeTime PX provides additional reporting capabilities
to generate power reports for selected power domains and power nets.
For more information on reporting features in multivoltage flow, see chapter 6 of
PrimeTime PX User Guide. [Referencesdoc.ref.2]
Note:
In the averaged power analysis mode, PrimeTime PX by default, does not scale the
dynamic power based on the state of the power down control signal. The tool however,
scales leakage power based on the state of the control signal. For PrimeTime PX to
scale the dynamic power also, set the
power_scale_dynamic_power_at_power_off variable to true.
19
Power Analysis of Non-UPF Designs
The non-UPF power domain and rail mapping modes are not enabled by default in
PrimeTime PX. To invoke the non-UPF mode, set the
power_domains_compatibility variable to true.
In the non-UPF mode, the power intent specification is controlled by power domain and
power-net-info objects. The voltage specification is done by using the
set_operating_conditions command in rail mapping mode and the
set_voltage command in power domain mode.
Example 9 Script Example for for Average Power Analysis in nonUPF Mode
## ENABLE POWER ANALYSIS
set power_enable_analysis true
set power_analysis_mode averaged
set power_domains_compatibility true
## READ NETLIST
read_verilog design.v
current_design design_top
link
20
connect_power_domain a -primary_power_net a_vdd \
-primary_ground_net a_vss \
-backup_power_net vdd_backup \
-backup_ground_net vss_backup
# SET VOLTAGE
set_voltage 1.15 -object_list{t_vdd a_vdd}
## GENERATE REPORTS
report_power
report_power –rails {“t_vdd a_vdd vss” “t_vdd” “a_vdd”}
## GENERATE THRESHOLD VOLTAGE GROUPS LEAKAGE REPORTS
## for default_thrshold_voltage_group: “LVT”
## or threshold_voltage_group: “LVT”
## if defined either in the library or by the user
report_power –threshold_voltage_group –lvth_groups LVT
References
Links to all references and supporting documentation is provided below:
https://solvnet.synopsys.com/dow_retrieve/H-2013.06/ptug/ptug.html
21