You are on page 1of 33

Advanced On-Chip Variation (OCV) Application Note

Version 5.0, January 2009

Abstract
This document describes the advanced on-chip variation (OCV) solution in PrimeTime, including the recommended usage flow and also provides an example script. The information described in this document is valid for PrimeTime versions starting with B-2008.12.

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 2009 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 __________.

Destination Control Statement


All technical data contained in this publication is subject to the export control laws of the United States of America. Disclosure to nationals of other countries contrary to United States law is prohibited. It is the readers responsibility to determine the applicable regulations and to comply with them.

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.

Registered Trademarks ()
Astro, Synopsys, AMPS, Cadabra, CATS, CSim, Design Compiler, DesignWare, Fablink, Formality, HSPICE, iN-Phase, Leda, MAST, ModelTools, NanoSim, OpenVera, PathMill, Photolynx, Physical Compiler, Powermill, PrimeTime, PWA, SELID, SiVL, SNUG, SolvNet, System Compiler, TetraMAX, TimeMill, VCS, Vera, WaveCalc, and YIELDirector are registered trademarks of Synopsys, Inc.

Trademarks ()
AFGen, Apollo, Astro-Rail, Astro-Xtalk, Aurora, AvanWaves, Columbia, Columbia-CE, Cosmos, CosmosEnterprise, CosmosLE, CosmosScope, CosmosSE, DC Expert, DC Professional, DC Ultra, Design Analyzer, Design Vision, DesignerHDL, Direct Silicon Access, Discovery, Eclypse, Encore, Galaxy, HANEX, HDL Compiler, Hercules, Hierarchical plus Optimization Technology, HSIM , HSPICE-Link, iN-Tandem, i-Virtual Stepper, Jupiter, Jupiter-DP, JupiterXT, JupiterXTASIC, Liberty, Libra-Passport, Library Compiler, Magellan, Mars, Mars-Xtalk, Milkyway, ModelSource, Module Compiler, Planet, Planet-PL, Polaris, Power Compiler, Raphael, Raphael-NES, Saturn, Scirocco, Scirocco-i, Star-RCXT, Star-SimXT, Taurus, TSUPREM-4, VCS Express, VCSi, VHDL Compiler, VirSim, and VMC are trademarks of Synopsys, Inc.

Service Marks (SM)


MAP-in, SVP Caf, and TAP-in are service marks of Synopsys, Inc. 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.

SYNOPSYS PROPRIETARY

January 21, 2009

Contents
Introduction .............................................................................................................................. 2 Advanced OCV Metrics Computation ...................................................................................... 3
Path-Based Advanced OCV Metrics Computation.......................................................................... 3 Graph-Based Advanced OCV Metrics Computation ....................................................................... 5

Recommended Advanced OCV Flow (Graph-Based) ............................................................. 6


Advanced OCV Setup .................................................................................................................... 7
Import SPEF With Physical Locations ...................................................................................................... 7 Enable Advanced OCV analysis ............................................................................................................... 7 Specify Advanced OCV Information ......................................................................................................... 7

Advanced OCV Reporting .............................................................................................................. 8


Reporting Advanced OCV Derates ........................................................................................................... 8 Reporting Advanced OCV Analysis Results ............................................................................................. 9

Optional Path-Based Advanced OCV Analysis...................................................................... 10


Advanced OCV Path-Based Analysis in Regular Mode ................................................................ 10 Advanced OCV Path-Based Analysis in Exhaustive Mode ........................................................... 11
Exhaustive Endpoint Path Limit .............................................................................................................. 12 Informational Suggestions ...................................................................................................................... 12 Usage Recommendations ....................................................................................................................... 12

Advanced OCV Specific Features ......................................................................................... 13


Advanced OCV Analysis Modes ................................................................................................... 13 Advanced OCV Coefficients ......................................................................................................... 14 Guard-Banding in Advanced OCV ................................................................................................ 15 Encrypting Advanced OCV Information ........................................................................................ 15 Removing Advanced OCV Information ......................................................................................... 16

Interaction With Other PrimeTime Features .......................................................................... 16


Clock Reconvergence Pessimism Removal (CRPR) .................................................................... 16 Worst Parallel Arc Feature ........................................................................................................... 16 Distributed Multi-Scenario Analysis .............................................................................................. 17 Hierarchical Advanced OCV Flow ................................................................................................ 17 What-if Analysis ........................................................................................................................... 17 Crosstalk Delta Delay ................................................................................................................... 17 PrimeTime VX .............................................................................................................................. 17

Advanced OCV File Format ................................................................................................... 18


Syntax Definition .......................................................................................................................... 18 Advanced OCV File Example ....................................................................................................... 20

Multivoltage Advanced OCV Derating ................................................................................... 20


Using Library Cell Tables ............................................................................................................. 20 Using Hierarchical Cell Tables ..................................................................................................... 20 Using Voltage Attributes on Hierarchical Cell Tables .................................................................... 21

Advanced OCV Results ......................................................................................................... 21


SYNOPSYS PROPRIETARY

January 21, 2009

Advanced OCV Accuracy Results ................................................................................................ 21 Path-Based Advanced OCV Analysis Runtime Results With Usage Recommendations .............. 22
Enable CRPR .......................................................................................................................................... 22 Enable Worst Parallel Arc Feature ......................................................................................................... 23 Use the report_timing Command With the slack_lesser_than Filter....................................................... 24 Use the report_timing Command With a Small nworst ........................................................................... 25

Advanced OCV User Interface .............................................................................................. 26 Conclusion ............................................................................................................................. 28 Appendix ............................................................................................................................... 29


Sample Advanced OCV Timing Analysis Script ..................................................................................... 29 Sample Advanced OCV Derate Tables .................................................................................................. 30

SYNOPSYS PROPRIETARY

01/21/09 Page iii

Introduction
For years, integrated circuit (IC) designers have been using a global derate value to add design margin to account for on-chip variations (OCV). While this traditional approach is a reasonable method to bound the process variations for 130-nm and 90-nm designs, it can add excessive and pessimistic margins for designs at smaller geometries and result in overdesign, reduced design performance, and longer design cycles. In PrimeTime, the advanced OCV capability naturally extends OCV analysis to deliver an improved method of adding margin in the design. Advanced OCV models the random and systematic variations across an IC that affect timing by using variable derate factors that consider the location and the logic depth of each path being analyzed. By not employing a single global derate value, but context-specific derate values, excessive design margins are reduced and fewer timing violations are seen. The pessimism-reducing approach of advanced OCV minimizes unnecessary over-design and enables you to reach timing closure more quickly and with greater confidence. PrimeTime provides a derate table based solution to specify the advanced OCV information. The advanced OCV information is obtained from the foundries and applied to PrimeTime. PrimeTime calculates and applies variable derate factors that consider the location and the depth of each path being analyzed. The advanced OCV solution in PrimeTime is integrated into the graph-based and path-based analysis capabilities, which enables a successive refinement strategy of analysis that is already used today with traditional static timing analysis (STA) in PrimeTime. In advanced OCV flows, signoff is performed using graph-based advanced OCV, with path-based advanced OCV as an optional capability to refine the analysis of critical paths. Graph-based and path-based analysis with advanced OCV is analogous to graph-based and path-based analysis in the traditional STA context. Graph-based advanced OCV analysis: Delivers fast, design-wide analysis using the update_timing command. With advanced OCV, pessimism is reduced compared to OCV analysis. For most designs, graph-based advanced OCV is sufficient for signoff. Graph-based advanced OCV is a prerequisite for further analysis and margin reduction using path-based advanced OCV analysis on selected critical paths.

Path-based advanced OCV analysis: For critical paths still violating after graph-based advanced OCV, path-based advanced OCV provides additional pessimism reduction by performing path-specific recalculation on critical paths. Uses path-specific path-depth and location-based bounding box values to determine path-specific derate values. Path-based advanced OCV cannot make a paths slack worse.

The graph-based advanced OCV analysis is a prerequisite if any path-based advanced OCV analysis is to be performed. Path-based advanced OCV users should be acutely aware that it is computationally intensive. As with traditional STA and OCV analysis, path-based complexity scales with the number of paths analyzed, and its runtime can be exponential.

SYNOPSYS PROPRIETARY

01/21/09 Page 2

The relative ranking with respect to pessimism of the various flavors of analysis are depicted in Figure 1:
Figure 1 Pessimism Reduction by OCV Modeling Methodology

Advanced OCV Metrics Computation


Advanced OCV analysis uses advanced OCV metrics (path-depth and location based bounding box), to calculate a context-specific advanced OCV derate factor to apply to the path, replacing the use of a global derate factor. To perform graph-based advanced OCV analysis, conservative values of path-depth and location-based bounding box are chosen to bound the worst-case path through a cell. Graphbased analysis, by construction, always provides a conservative analysis compared to pathbased analysis to prevent an optimistic calculation. For example, in graph-based advanced OCV analysis, the depth count for a cell will not exceed that of the path of minimum depth that traverses that cell; otherwise, the analysis might be optimistic for the minimum-depth path. The advanced OCV depth and bounding box metrics computed by PrimeTime are used to lookup an appropriate derate factor from the derate tables and this is applied to the timing arc. The advanced OCV metrics computation is different for graph-based and path-based advanced OCV. In graph-based advanced OCV, the advanced OCV metrics are calculated for all paths through each timing arc. In path-based mode, the advanced OCV metrics are calculated for each timing path.

Path-Based Advanced OCV Metrics Computation


In path-based advanced OCV, the metrics are calculated on a per path basis. The path depth is determined by counting the number of objects, which can be either leaf cells or nets, in a path. The net path depths might be different from the cell path depths. Figure 2 shows an example of how PrimeTime calculates the cell path depth.

SYNOPSYS PROPRIETARY

01/21/09 Page 3

Figure 2 Path-Based Cell Depth Metric Computation

PrimeTime assumes that the variation in the common path is zero. This is because the launch and capture signals in the common path passing through the common point are the same signals. Therefore, by default, PrimeTime does not include net or cell objects in the common path for advanced OCV depth calculations. The systematic variation between cells on a die is characterized as a function of the distance between those cells (in nm). PrimeTime assumes that the locations of the nets in a path do not affect the systematic variation of the cells in the path. Therefore, path distance is calculated separately for cells and nets. Cell path distance is determined by computing the diagonal of a box that encompasses all of the cells in the path, as shown in Figure 3.
Figure 3 Path-Based Cell Bounding Box Distance Computation

Similarly, net path distance is determined by computing the diagonal of a box that encompasses all of the nets in the path, as shown in Figure 4.

SYNOPSYS PROPRIETARY

01/21/09 Page 4

Figure 4 Path-Based Net Bounding Box Distance Computation

PrimeTime assumes that the variation in the common path is zero. This is because the launch and capture signals in the common path passing through the common point are the same signals. Therefore, PrimeTime does not include net or cell objects in the common path for advanced OCV distance calculations.

Graph-Based Advanced OCV Metrics Computation


In graph-based analysis, each object (cell and net) is typically part of many different paths. To avoid optimism for any single path, PrimeTime computes depth and distance metrics conservatively for each object. Figure 5 shows an illustration of graph-based cell depth computation.
Figure 5 Graph-Based Cell Depth Computation

The depth values vary for each and every object and for data and clock network. The blue numbers near each cell indicate graph-based data depth information for that cell, yellow numbers indicate the graph-based launch depth for that cell, and the green numbers over each cell indicate the graph-based capture depth for that cell. Note that arcs in the clock network can have separate depth and distance value for each of launch, capture, and data. This is necessary to model the role that the arc can play as part of a launch clock path, capture clock path, or as part of a data path (potentially unconstrained) through the clock network.

SYNOPSYS PROPRIETARY

01/21/09 Page 5

The objects at points of combinational convergence inherit the more pessimistic metrics of the converging paths. Similarly, objects at points of combinational divergence inherit the more pessimistic metrics of the diverging paths. For an illustration of the calculation of path distances in graph-based advanced OCV approach, see SolvNet article Doc ID 022963. In the path-based analysis, the advanced OCV metrics are measured from the clock reconvergence pessimism removal (CRPR) common point. This common point is easy to identify because there is a single pair of launching and capturing devices to consider. In the graph-based analysis, there are multiple possible common points for a cell. This is because many paths, each with different launch and capture devices, can pass through a cell in the data path. It is computationally not feasible to determine the metrics for every combination of devices that apply. To avoid optimism, PrimeTime selects the most conservative common point for the analysis. For the depth metric calculation, the common point closest to each sequential device is chosen. In the distance metric calculation, the common point closest to the clock source is chosen.
Figure 6 Determining Common Point in Graph-Based Analysis

Recommended Advanced OCV Flow (Graph-Based)


The advanced OCV flow can be split into advanced OCV setup and advanced OCV reporting phases. In the advanced OCV setup phase, you need to read in the design, load the parasitics with coordinate information, apply the constraints, enable graph-based advanced OCV analysis and specify advanced OCV information. The advanced OCV reporting phase includes reporting advanced OCV derates and analysis results.
SYNOPSYS PROPRIETARY

01/21/09 Page 6

Advanced OCV Setup


The following flow chart shows the steps that you need to follow for advanced OCV setup:

Import SPEF With Physical Locations


Coordinates are required to calculate path distance. The coordinates of various nodes of nets, pins, and ports are imported into PrimeTime from the standard parasitic exchange format (SPEF) file using the read_parasitics command. To instruct PrimeTime to import coordinates, set the read_parasitics_load_locations variable to true. You must set this variable before reading in the parasitics.
pt_shell> set read_parasitics_load_locations true

Enable Advanced OCV analysis


To enable graph-based advanced OCV analysis, set the timing_aocvm_enable_analysis variable to true. Graph-based advanced OCV timing updates are performed as part of the update_timing command. Graph-based advanced OCV derates computed during update timing tightly bounds the path-based advanced OCV derates.
pt_shell> set timing_aocvm_enable_analysis true

Specify Advanced OCV Information


You can load advanced OCV derate information from a disk file using the read_aocvm command. The derate factors must be specified in a table using the Synopsys advanced OCV file format. This is discussed in the Advanced OCV File Format section. The values in the file are applied directly to the arcs in the paths of interest. The read_aocvm command does have an additional capability that prevents incorrectly constructed advanced OCV tables from being annotated on the design. PrimeTime issues an error message and the tables are not annotated. The tables are annotated onto one or more design objects. The design objects that can be annotated are hierarchical cells, library cells, and designs. For a cell arc, the precedence of data tables, from lowest to highest, is the design derate table, library cell derate table, and hierarchical cell derate table. For a net arc, the precedence from lowest to highest is the design derate table and hierarchical cell derate table. The derate factors for a cell or net are defined in a table with path depth and path distance used as indexes. If a derate value has not been specified for the exact path depth required, PrimeTime uses linear interpolation to determine the required derate value. PrimeTime does not extrapolate beyond the lowest or highest value specified in the table.
SYNOPSYS PROPRIETARY

01/21/09 Page 7

pt_shell> read_aocvm aocv_file_name

Advanced OCV Reporting


The following flow chart shows the advanced OCV reporting phase:

Reporting Advanced OCV Derates


To display advanced OCV information, including advanced OCV derate table data and coefficients, use the report_aocvm command. This command also shows design objects annotated with early, late, rise, fall, cell, or net derate tables and can also show leaf cells and nets annotated or not annotated. It displays details of graph-based and path-based advanced OCV metrics computation.
pt_shell> report_aocvm

If the design has been annotated with advanced OCV derate tables using the read_aocvm command, the report_aocvm command displays a summary showing the numbers of leaf cells and global nets annotated with advanced OCV derate tables.
Figure 7 Default advanced OCV report

If the design has also been annotated with advanced OCV derate coefficients using the set_aocvm_coefficient command, the report_aocvm command displays these coefficients as well. If a timing path is specified in the object_list, path metrics (distance, launch depth, and capture depth) for that path are displayed. The launch and capture depths for this timing path are calculated separately for cells and nets and are displayed in the table. Note that the path depths shown in the report have been scaled by random advanced OCV coefficients, if they exist.
Figure 8 Path-based advanced OCV report

SYNOPSYS PROPRIETARY

01/21/09 Page 8

The cell bounding box distance for the specified timing path is 575.85 and net bounding box distance is 666.41. If a timing arc is specified in the object_list, graph-based advanced OCV metrics for that arc are displayed. Note that the depths shown in the report have been scaled by random advanced OCV coefficients, if they exist.
Figure 9 Graph-based advanced OCV report

Reporting Advanced OCV Analysis Results


All of the reporting commands reflect advanced OCV results when graph-based advanced OCV analysis is enabled.
pt_shell> report_constraint pt_shell> report_clock_timing derate pt_shell> report_timing nworst 2000000 max_paths 2000000 derate

For path-based advanced OCV analysis, the report_timing command with the -pba_mode path option displays the timing report with advanced OCV derate factors. Users may also obtain and query an advanced OCV-adjusted timing path for custom reporting. To obtain an advanced OCV-adjusted path, use the get_timing_paths command with the pba_mode path option. There will be no path search performed to determine whether those paths are truly the worst recalculated paths. In other words, the path ordering in advanced OCV timing reports matches the graph-based path ordering. pt_shell> report_timing -pba_mode path pt_shell> get_timing_paths -pba_mode path To perform an exhaustive path search for the worst recalculated timing, use the -pba_mode exhaustive option of the report_timing command. When you specify this option, an exhaustive path searching algorithm is invoked to find and correctly order, subject to pathbased analysis, the worst paths within the specified path search criteria. To avoid excessive
SYNOPSYS PROPRIETARY

01/21/09 Page 9

runtime, it is advised that this option be used sparingly and in accordance with guidelines given in the Optional Path-Based Advanced OCV Analysis section.
pt_shell> report_timing pba_mode exhaustive -slack_lesser_than 0

By default, the path-based analysis engine performs both advanced OCV path-based analysis and regular path based analysis. For an advanced OCV flow, it is strongly recommended that the pba_aocvm_only_mode variable is turned to true so that only advanced OCV path-based analysis is applied. pt_shell> set pba_aocvm_only_mode true Note that the derate column of the timing report displays the advanced OCV derate factors in both graph-based and path-based advanced OCV analysis.

Optional Path-Based Advanced OCV Analysis


Since advanced OCV is integrated with the graph-based and path-based analysis of PrimeTime, all flows that perform advanced OCV analysis need to start with graph-based advanced OCV analysis. It is strongly recommended not to run traditional OCV analysis. While path-based analysis represents the highest-level of pessimism reduction for advanced OCV analysis, users must be aware that it is computationally intensive. Its complexity scales with the number of paths analyzed, and its runtime can be exponential if it is not used with care. Therefore, designers must bring the design as close to timing closure as possible using advanced OCV graph-based analysis before attempting to use advanced OCV path-based analysis to recalculate specific, individual paths. If there are close to 500K paths or greater that are violating in advanced OCV graph-based analysis, then the design is not considered close to timing closure, and advanced OCV path-based analysis cannot be realistically used at this stage. Once a design is close to timing closure using advanced OCV graph-based analysis results, you can analyze additional paths for greater pessimism reduction using advanced OCV pathbased analysis. There are two methods of using advanced OCV path-based analysis: Regular mode (-pba_mode path option) Exhaustive mode (-pba_mode exhaustive option)

It is also important to understand that advanced OCV path-based analysis should be applied at the end of the static timing analysis sign-off flow, rather than using it as a capability during pre-layout analysis or while a significant percentage of endpoints are violating. The following sections describe guidelines for using advanced OCV path-based analysis to safely achieve sign-off while controlling runtime overhead.

Advanced OCV Path-Based Analysis in Regular Mode


It is recommended that you use advanced OCV path-based analysis in regular mode (report_timing -pba_mode path).

SYNOPSYS PROPRIETARY

01/21/09 Page 10

A design should be brought as close to timing closure as possible with advanced OCV graphbased analysis before using advanced OCV path-based analysis. Therefore, advanced OCV path-based analysis in regular mode should only be applied at the end of the timing analysis sign-off flow. All violating paths per group should be collected and passed to advanced OCV path-based analysis. The following Tcl code sketches how this can be done by reporting all of the paths that still violate after applying advanced OCV path-based analysis in order of slack. Example 1: Tcl Script This example shows a Tcl script that reports all paths that violate timing in both advanced OCV graph-based analysis and advanced OCV path-based analysis in order of slack. set nworst 10000 set display_sorted 0 foreach_in_collection grp [get_path_groups *] { set grp_name [get_object_name $grp] set paths [get_timing_paths -nworst $nworst -slack_lesser_than 0.0 -group $grp] set num_paths [sizeof_collection $paths] if { $num_paths < $nworst } { echo "Before recalculation, $num_paths violating paths exist for group $grp_name." set aocvm_paths [get_timing_paths -nworst $nworst -slack_lesser_than 0.0 -group $grp pba_mode path] set num_aocvm_paths [sizeof_collection $aocvm_paths] echo "Following recalculation, $num_aocvm_paths violating paths remain. for group $grp_name" if ($display_sorted) { set aocvm_paths [sort_collection $aocvm_paths {path_group slack}] report_timing $aocvm_paths } } else { echo "\#OCV violaters exceeds nworst ($nworst) in group $grp_name. Higher nworst needed." } }

Advanced OCV Path-Based Analysis in Exhaustive Mode


The exhaustive mode (report_timing -pba_mode exhaustive), available in advanced OCV path-based analysis considers the impact of advanced OCV path-based adjustment on all paths and reports paths ordered by slack. It is recommended that this is used sparingly, if at all. This feature relies on path enumeration techniques to find the worst paths in the design in consideration of advanced OCV path-based analysis effects on all paths, a problem that is inherently exponential in complexity. If there are large differences in slack values between the graph-based analysis and path-based analysis, PrimeTime might need to analyze millions of paths per endpoint to ensure that the worst one has been found. This is the primary source of the runtime cost associated with this mode and, as a result; it is strongly recommended that you sparingly use advanced OCV path-based analysis with the pba_mode exhaustive option.
SYNOPSYS PROPRIETARY

01/21/09 Page 11

By using advanced OCV graph-based analysis, large differences in slack values between graph-based and path-based results can be minimized, and the search space can be reduced and possible runtime explosion mitigated. It should be noted that this analysis complexity is not specific to advanced OCV analysis but is a general issue that can be seen with regular path-based analysis. Therefore, search space and runtime considerations form the basis for several of the usage recommendations that follow.
pt_shell> report_timing pba_mode exhaustive -slack_lesser_than 0

Exhaustive Endpoint Path Limit


Large -nworst values can significantly increase the runtime of a search. The pba_exhaustive_endpoint_path_limit variable helps prevent excessive runtime by terminating the exhaustive path searching for an endpoint once a specific limit on the perendpoint number of paths to recalculate has been reached. The default value for this variable is 25000. For example, the following warning message is printed in exhaustive path-based analysis mode when the path-based endpoint recalculation limit has been met during an exhaustive search for worst paths at this particular endpoint.
Warning: The exhaustive path-based recalculation limit of 25000 has been exceeded at endpoint 'ff2/DATA' and group 'clk'. The worst path-based analysis slack found at this endpoint was 0.2018. It is known that no path-based analysis paths with slack worse than 0.1414 exist at this endpoint for this group. (UITE-480)

Informational Suggestions
PrimeTime provides informational performance suggestions. When you execute exhaustive path-based analysis commands, PrimeTime checks for any variable or option settings that could potentially improve performance. You might receive a message with suggestions based on the settings or options that PrimeTime detects were not used. For example, when performing exhaustive advanced OCV searches, one or more of the following suggestions might be printed:
Warning: Exhaustive path-based analysis may take a long time using the current PrimeTime settings. Try using the following settings, which may reduce the runtime of the analysis: - Use the -slack_lesser_than option - Enable graph-based AOCVM (timing_aocvm_enable_analysis) - Enable AOCVM only mode (pba_aocvm_only_mode) - Uniquify paths through parallel arcs (timing_report_use_worst_parallel_cell_arc) (UITE-479)

Usage Recommendations
The following are a complete set of usage recommendations to minimize runtime for advanced OCV path-based analysis in exhaustive mode (-pba_mode exhaustive option enabled). Enable graph-based advanced OCV Set the timing_aocvm_enable_analysis variable to true prior to update_timing so that advanced OCV graph-based analysis is performed during the timing update stage.
SYNOPSYS PROPRIETARY

01/21/09 Page 12

Enable path-based advanced OCV only mode By default, PrimeTime will perform both regular path-based analysis (path-specific slew propagation) and path-based advanced OCV analysis during a path-based analysis (report_timing or get_timing_paths using -pba_mode option) which will remove the maximum amount of pessimism from the design, but the runtime can be large. It is recommended to set the pba_aocvm_only_mode variable to true to perform path-based advanced OCV analysis only. The analysis runtime is significantly improved.

Enable CRPR Set the timing_remove_clock_reconvergence_pessimism variable to true in both advanced OCV graph-based analysis and advanced OCV path-based analysis. Enabling CRPR reduces the overall pessimism and, therefore, greatly reduces the search-space of path-enumeration for advanced OCV path-based analysis in the exhaustive mode.

Enable the Worst Parallel Arc Feature It is recommended to set the timing_report_use_worst_parallel_cell_arc variable to true. Enabling this feature on designs with many cells containing parallel arcs, a huge decrease in the number of paths is expected and hence significant runtime improvement could be achieved on those designs. During exhaustive advanced OCV path-based analysis, enabling this variable can exponentially reduce runtime on designs with such parallel arcs.

Using the report_timing Command With the slack_lesser_than Filter Use the slack_lesser_than feature of the report_timing command to minimize the search space of exhaustive mode.

Using the report_timing Command With Small nworst: Use exhaustive mode for sign-off static timing analysis, not to assist in implementation. Specifying a value of nworst=1 is sufficient to establish whether an endpoint is violating or not. High values of nworst contribute to the runtime without adding much useful information.

Advanced OCV Specific Features


The miscellaneous advanced OCV specific features are described below.

Advanced OCV Analysis Modes


To configure an advanced OCV analysis, use the timing_aocvm_analysis_mode variable. The following analysis modes are included:

SYNOPSYS PROPRIETARY

01/21/09 Page 13

clock_network_only: When you specify this option, the application of advanced OCV derates are restricted to the arcs that are in the clock network. If constant derates have been annotated for data network objects, the data network receives constant on-chip variation derating. Otherwise, data network design objects are not derated in this mode. Advanced OCV depth and distance metrics are calculated considering only the clock network topology. This analysis mode simplifies advanced OCV characterization and adoption. In the clock_network_only mode, the cell or net launch and capture path depth is defined as the number of cells or nets in the launch or capture clock network from the path common point up to, but not including, the launching or capturing device. In this mode, the cell or net path distance is defined as the diagonal of the bounding box enclosing the cells or nets in the clock network. This distance is calculated from the path common point up to, but not including, the launching device and the cells or nets in the clock network from the path common point up to and including the capturing device.
pt_shell> set timing_aocvm_analysis_mode clock_network_only

single_path_metrics: When you specify this option, single path metrics are calculated for all path objects. This implies that in this analysis mode, the advanced OCV metrics for nets are the same as the advanced OCV metrics for cells. In the single_path_metrics analysis mode, the path distance is measured by computing the diagonal of a bounding box around all of the cells in a path, ports in the path and the common point. The objects in the common path are not included in the bounding box. Path distance is used to look up cell and net systematic variation. The path depth is measured by considering all of the cells in a path. Path depth is used to look up cell and net random variation.
pt_shell> set timing_aocvm_analysis_mode single_path_metrics

combined_launch_capture_depth: When you specify this option, launch and capture paths is considered together and a combined depth is calculated for the entire path. When you do not specify this option (the default), separate launch and capture depths are calculated.
pt_shell> set timing_aocvm_analysis_mode combined_launch_capture_depth

Advanced OCV Coefficients


The set_aocvm_coefficient command sets random advanced OCV coefficients on leaf cells as well as library cells. Advanced OCV coefficients are not required for an advanced OCV analysis. Their application might, however, increase the accuracy of the analysis.

SYNOPSYS PROPRIETARY

01/21/09 Page 14

Figure 10 Depth Computation When Coefficients are Applied

The random coefficients are used to calculate cell path depths. A complex cell can consist internally of a larger number of transistors, so it might be necessary to associate that cell with a logic depth count that is larger than 1. For instance, a buffer is often implemented as two inverters in series. In that case, the buffer cell could be assigned a random derate coefficient of 2.0 to set the logic depth count. If random coefficients are specified, they are used instead of the default value of 1.0 to calculate cell path depths.
pt_shell> set_aocvm_coefficient random 4 \ [get_lib_cells lib1/FD2]

Guard-Banding in Advanced OCV


The set_timing_derate command with the -aocvm_guardband option is used to perform guard-banding in advanced OCV. This allows you to model nonprocess related effects in an advanced OCV flow. The derate factor that is applied to an arc is a product of the guard-band derate and the advanced OCV derate. The guard-band derate has no impact outside the context of advanced OCV. To report only the guard-band derate factors, you must specify the -aocvm_guardband option of the report_timing_derate command. To reset guard-band derate factors, you can use the -aocvm_guardband option of the reset_timing_derate command.
pt_shell> set_timing_derate -aocvm_guardband -early 0.95 pt_shell> set_timing_derate -aocvm_guardband -late 1.05

Encrypting Advanced OCV Information


To create binary-encoded advanced OCV files from ASCII advanced OCV files, use the write_binary_aocvm command. This command is used to protect sensitive processrelated information. The read_aocvm command can read binary and compressed binary advanced OCV files that were created by the write_binary_aocvm command.
SYNOPSYS PROPRIETARY

01/21/09 Page 15

An advanced OCV derate table imported from a binary or compressed binary file is not visible in the report_aocvm output.
pt_shell > write_binary_aocvm <aocvm_file> <binary_file>

Removing Advanced OCV Information


To remove the advanced OCV derate factors and advanced OCV coefficients, use the remove_aocvm command with its options. If you specify this command without setting any options, all advanced OCV information is removed.
pt_shell > remove_aocvm

Interaction With Other PrimeTime Features


The advanced OCV solution interacts with all other PrimeTime features unless explicitly stated. The following is a note on advanced OCV interaction with a few of the other PrimeTime features:

Clock Reconvergence Pessimism Removal (CRPR)


For path-based advanced OCV analysis, the common portion of the path is not derated when CRPR is OFF. When CRPR is turned ON, graph-based derate values are used in the common path. For both performance and accuracy reasons, it is strongly recommended that you enable CRPR during an advanced OCV analysis.
pt_shell> set timing_remove_clock_reconvergence_pessimism true

Worst Parallel Arc Feature


The worst parallel arc feature improves the efficiency of the nworst path gathering in the report_timing command. This improvement specifically addresses cells where multiple timing arcs of the same sense exist in parallel between two pins. The most common case is when multiple conditional arcs exist in parallel between two pins, potentially along with a default timing arc as well. By default, with cells containing parallel arcs, each of the parallel arcs is considered to be a unique path through the cell. As a result, the number of unique paths through the logic increases exponentially with the number of parallel arcs and parallel arc cells. If the report_timing command was issued with a large -nworst value, multiple seemingly identical timing paths are returned (with the same sequence of rise and fall edges along the pins), but with different combinations of timing arcs and, therefore, different timings. If the report_timing command was issued with the timing_report_use_worst_ parallel_cell_arc variable enabled, only paths with the worst arc behaviors through the logic with a given rise and fall edge sequence are returned.

SYNOPSYS PROPRIETARY

01/21/09 Page 16

Using this feature on designs with many cells containing parallel arcs, a huge decrease in the number of paths is expected. Note that this reduction in the number of paths is safe for signoff because PrimeTime selects the worst path from a set of paths which are identical in all respects except for the parallel cell arcs that contain. This feature has no effect during the timing update. During exhaustive advanced OCV pathbased analysis, enabling this variable can exponentially reduce runtime on designs with such parallel arcs.
pt_shell> set timing_report_use_worst_parallel_cell_arc true pt_shell> report_timing pba_mode exhaustive nworst 10000

Note: Do not use the -unique_pins option of report_timing command along with this feature.

Distributed Multi-Scenario Analysis


Merged timing report and merged path gathering features of distributed multi-scenario analysis can be used with advanced OCV, so that merged advanced OCV-adjusted paths can be printed or obtained at the master.

Hierarchical Advanced OCV Flow


Transformation of coordinates happens when block-level SPEFs along with the top-level SPEF are read into PrimeTime. For more information, see the SolvNet article Doc ID 017506.

What-if Analysis
Physical locations change as a result of netlist edits, so an incremental parasitic read is necessary.

Crosstalk Delta Delay


The delta delay component of the net delay is not affected by advanced OCV derates.

PrimeTime VX
Advanced OCV is not a replacement for statistical analysis and is not compatible with PrimeTime VX.

SYNOPSYS PROPRIETARY

01/21/09 Page 17

Advanced OCV File Format


The advanced OCV derate tables are specified in the advanced OCV file format. The following table types are supported: One-dimensional tables in either depth or distance Two-dimensional tables in both depth and distance

Syntax Definition
The syntax definition for the advanced OCV file format is as follows: Field Specifier
version object_type rf_type delay_type derate_type object_spec

Definition
VERSION OBJECT_TYPE RF_TYPE DELAY_TYPE DERATE_TYPE [patterns] [-filter expression] [DEPTH] [DISTANCE] [TABLE]

Field Description
Advanced OCV Version Number design | lib_cell | cell rise | fall| rise fall cell | net | cell net early | late string

depth distance table

A set of M floats, where M can be zero A set of N floats where N can be zero A set of N X M floats.

Each of these field specifiers must be in a separate line and must be specified in the order in which they appear in the table above. Note that the derate tables cannot be annotated on leaf cells or nets. version The version number is used for backward compatibility purposes if the advanced OCV file format changes in the future. The version of the advanced OCV file must be specified on the first line of the advanced OCV file, for example, version: 1.0. object_type In the object_type definition, the allowed values are design, lib_cell, or cell. PrimeTime can annotate cell and net tables on the design using the object_type design. It can also annotate cell tables on library cells using the lib_cell object type and annotate cell and net tables on hierarchical cells using the cell object type. rf_type

SYNOPSYS PROPRIETARY

01/21/09 Page 18

In the rf_type definition, the allowed values are either rise, fall or rise fall. It is not allowed to keep this field description empty. delay_type In the delay_type definition, the allowed values are either cell, net or cell net. It is not allowed to keep this field description empty. PrimeTime can annotate cell and net tables on the design and cell tables on library cells and cell and net tables on hierarchical cells. derate_type In the derate_type definition, the allowed values are either late or early. It is not allowed to specify both late and early for field derate_type.

object_spec In the object_spec definition, the patterns field is optional. It specifies the object name and an expression to evaluate based on the attributes of the object. You can use regular expression matching for the patterns field of the object_spec definition. It is the same as the regexp Tcl command that could be used for designobject-gathering commands, such as the get_cells, get_lib_cells, and get_designs commands. You can use any of the options of the related object-gathering command in the patterns field. For example, if the object_type is lib_cell, any of the arguments of the related get_lib_cells command could be used in the patterns field.

depth Path depth is to be specified here. It is a set of M floating-point values, where M can be zero.

distance Path distance is to be specified here. It is a set of N floating-point values, where N can be zero. SPEF does not specify units for coordinate locations. PrimeTime assumes that the locations in the SPEF file are in micrometers (m) and, to improve accuracy, converts them to nanometers (nm). Therefore, use nanometers for the distance field coordinates in the advanced OCV tables.

table The derate factors are specified in a table. This table is a set of N M floating-point values. There are also the following special cases: If N==0, the table is of size M. If M==0, the table is of size N. If M==0 and N==0, the table is of size 1

Comment line You can include comments in the advanced OCV file by specifying double forward slashes (//) at the start of the line.

SYNOPSYS PROPRIETARY

01/21/09 Page 19

Advanced OCV File Example


The following example of an advanced OCV file sets an early advanced OCV derate table for the whole design, which applies to all cells and nets: version: 1.0 object_type: design rf_type: rise fall delay_type: cell net derate_type: early object_spec: depth: 0 1 2 3 distance: 100 200 table: 0.87 0.93 0.95 0.96 \ 0.83 0.85 0.87 0.90

Multivoltage Advanced OCV Derating


For multivoltage designs, different derate tables can be specified for each voltage library cell and each voltage area.

Using Library Cell Tables


There might be separate libraries for each voltage operating condition. In this case, specify the library cells from a library defined at a voltage operating condition to annotate the tables. // This table is annotated on all lib_cells in // the 1ib1.2V.db library. object_type : lib_cell delay_type : cell object_spec : lib1.2V/* // This table is annotated on all lib_cells in // the 1ib1.0V.db library. object_type : lib_cell delay_type : cell object_spec : lib1.0V/*

Using Hierarchical Cell Tables


There might be several blocks in a design operating at different voltages areas. Each of these blocks can have a different advanced OCV derate table annotated. // This table is annotated on all cells in the hierarchical // cell called BLOCKA, which is operating at a voltage // of 1.2V object_type : cell delay_type : cell object_spec : BLOCKA
SYNOPSYS PROPRIETARY

01/21/09 Page 20

// This table is annotated on all cells in the hierarchical // cell called BLOCKB, which is operating at a voltage // of 1.0V object_type : cell delay_type : cell object_spec : BLOCKB

Using Voltage Attributes on Hierarchical Cell Tables


PrimeTime attributes are annotated on hierarchical cells. The voltage_min and voltage_max attributes represent the voltage of the minimum and maximum operating conditions that apply to hierarchical cells. Attributes do not exist on leaf cells. If you have not explicitly set any operating condition on a hierarchical cell using the set_operating_conditions command, the operating condition that is set on the design is used. If you have not explicitly set any operating condition on the design using the set_operating_conditions command, the default operating condition is used. // This table is annotated on all hierarchical cells // matching * with an operating condition voltage of 1.2V object_type : cell delay_type : cell object_spec : * -filter {voltage_max==1.2 && is_hierarchical==true} // This table is annotated on all hierarchical cells // matching * with an operating condition voltage of 1.0V object_type : cell delay_type : cell object_spec : * -filter {voltage_max==1.0 && is_hierarchical==true}

Advanced OCV Results


The main benefit of advanced OCV analysis is that it reduces pessimism and improves the accuracy of results.

Advanced OCV Accuracy Results


Figure 11 highlights the slack improvement due to the reduction in pessimism that was achieved for a selection of timing paths in one sample design using advanced OCV analysis compared with paths that were derated using traditional methods. Many paths are greatly improved, while others are not improved as much. This indicates that applying the same derate for all paths in the design are pessimistic.

SYNOPSYS PROPRIETARY

01/21/09 Page 21

Figure 11 Illustration of Advanced OCV Pessimism Reduction

OCV Vs Advanced OCV


6 4 2 6 4 2 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 PATH NUMBER -4 -6 -8 OCV Advanced OCV -2

SLACK(ns)

-2 -4 -6 -8

Path-Based Advanced OCV Analysis Runtime Results With Usage Recommendations


The following section demonstrates representative runtime improvements that you can gain by following the recommended usage methodology.

Enable CRPR
Enabling CRPR reduces the overall pessimism and, therefore, greatly reduces the searchspace of path-enumeration for advanced OCV path-based analysis. In Figures 12 and 13, you can see that the runtime with CRPR ON is the same or reduced significantly compared to CPRR OFF.

SYNOPSYS PROPRIETARY

01/21/09 Page 22

Figure 12 Runtime With CRPR and report_timing nworst 1 max 10000

Runtime with CRPR enabled


100000 80000 cputime(sec) 60000 CRPR OFF 40000 20000 0 Design1 Design2 Design3 Designs Figure 13 Runtime With CRPR and report_timing nworst 10000 Design4 Design5 CRPR ON

Runtime with CRPR enabled


20000

15000 cputime (sec)

10000

CRPR OFF CRPR ON

5000

0 Design1 Design2 Design3 Designs Design4 Design5

Enable Worst Parallel Arc Feature


By invoking the report_timing command with the worst parallel arc feature enabled, you can observe that the runtime is the same or significantly reduced for almost all test cases. You can see the runtime results in Figure 14 and 15.
SYNOPSYS PROPRIETARY

01/21/09 Page 23

Figure 14 Runtime With report_timing nworst 1 max 10000

report_timing With Worst Parallel Arc

20000 cputime(sec) 15000 10000 5000 0 Design1 Design2 Design3 Designs Design4 Design5 W/o worst parallel arc W/ worst parallel_arc

Figure 15 Runtime With report_timing nworst 10000

report_timing With Worst Parallel Arc


7000 6000 cputime(sec) 5000 4000 3000 2000 1000 0 Design1 Design2 Design3 Designs Design4 Design5 W/o worst parallel arc W/ worst parallel_arc

Use the report_timing Command With the slack_lesser_than Filter


By setting the slack_lesser_than filter, you can observe that the runtime is about the same or significantly reduced.

SYNOPSYS PROPRIETARY

01/21/09 Page 24

Figure 16 Runtime With report_timing nworst 1 max 10000 slack_lesser_than 0

Runtime With report_timing -slack_lesser_than


25000 20000 cputime(sec) 15000 10000 5000 0 Design1 Design2 Design3 Designs Design4 Design5 W/o slack_lesser W/ slack_lesser

Figure 17 Runtime With report_timing nworst 10000 slack_lesser_than 0

Runtime With report_timing -slack_lesser_than


7000 6000 cputime(sec) 5000 4000 3000 2000 1000 0 Design1 Design2 Design3 Designs Design4 Design5 W/o slack_lesser W/ slack_lesser

Use the report_timing Command With a Small nworst


Figure 18 shows by setting nworst to 1, you can see that the runtime reduction is significant across all designs.

SYNOPSYS PROPRIETARY

01/21/09 Page 25

Figure 18 Runtime of report_timing nworst 10000 vs. report_timing nworst 1

report_timing With Small nworst


1000 900 800 700 cputime(sec) 600 500 400 300 200 100 0 Des1 Des2 Des3 Des4 Designs Des5 Des6 Des7 nworst 10000 nworst 1

Advanced OCV User Interface


set timing_aocvm_enable_analysis analysis set timing_aocvm_analysis_mode # Enables graph-based advanced OCV # Configures an advanced OCV analysis

set pba_aocvm_only_mode # Enables advanced OCV path-based analysis only read_aocvm OCV file <aocvm_file> # Read advanced OCV derate tables from an advanced

set_aocvm_coefficient # Specifies derate coefficient for advanced OCV [-random path_depth_scalar] object_list set_timing_derate -aocvm_guard_band # Guard-banding in advanced OCV report_aocvm # Report advanced OCV derates and coefficients [-early] [-late] [-rise] [-fall] [-cell_delay] [-net_delay] [-list_annotated] [-list_not_annotated] [-nosplit] object_list report_timing_derate -aocvm_guardband # Reporting advanced OCV guard-bands report_timing pba_mode # Path-based advanced OCV timing reports get_timing_paths pba_mode # Collection of path-based advanced OCV timing paths
SYNOPSYS PROPRIETARY

01/21/09 Page 26

write_binary_aocvm # Creates a binary advanced OCV file from an advanced OCV file [-compress]<aocvm_file> <binary_file> remove_aocvm # Removes advanced OCV information [-coefficient] [-derate] [object_list] reset_timing_derate -aocvm_guardband # Removing advanced OCV guard-bands

SYNOPSYS PROPRIETARY

01/21/09 Page 27

Conclusion
The advanced OCV feature calculates and applies variable derate factors that model process variations more closely than traditional global derating. To specify the advanced OCV information, derate table based approach is used. The derate table based flow is flexible as it permits you to specify derates for every design, library cell, and hierarchical cell in the design. Support for individual cell and library cell coefficients further improves the flexibility and accuracy of advanced OCV. The advanced OCV derate factors are less constraining than traditional constant derate factors and provide a reduction in pessimism. Since advanced OCV is integrated with the graph-based and path-based analysis in PrimeTime, all flows that perform advanced OCV analysis need to start with graph-based advanced OCV analysis. Graph-based analysis is intended to be run during the designimplementation stages and it is often sufficient to complete signoff. Remember that path-based analysis is optional and you should only run it on failing critical paths at the end of a sign-off flow. It is not recommended to use path-based analysis during prelayout analysis or design implementation stages of the design flow.

SYNOPSYS PROPRIETARY

01/21/09 Page 28

Appendix
This appendix contains the following samples: Sample Advanced OCV Timing Analysis Script Sample Advanced OCV Derate Tables

Sample Advanced OCV Timing Analysis Script


############################################################################### # # Run through an advanced OCV analysis for a design. # ############################################################################### ## set set set set Analysis Setup search_path {.} link_path {* lib.db} read_parasitics_load_locations true timing_remove_clock_reconvergence_pessimism true

## Load design read_verilog simple_path.v link ## Load parasitics with coordinates read_parasitics simple_path.spef ## Constraints create_clock -name clk -p 2 [get_port clk] set_propagated_clock clk ## advanced OCV Constraints read_aocvm aocvm_2D_LUT.pt # Enable graph-based advanced OCV analysis set timing_aocvm_enable_analysis true # Perform timing update update_timing ## Derate reports report_aocvm ## Reporting: Graph-based advanced OCV Reports report_constraint report_clock_timing derate report_timing nworst 2000000 max_paths 2000000 derate ## Reporting: Path-based advanced OCV Report set pba_aocvm_only_mode true report_timing derate pba_mode path quit

SYNOPSYS PROPRIETARY

01/21/09 Page 29

Sample Advanced OCV Derate Tables


############################################################################### # FILE aocvm_2D_LUT.pt # ABSTRACT Contains global sample derate table based advanced OCV tables ############################################################################### version: 1.0 // Set late advanced OCV table for the design which applies to all cells and nets object_type: design rf_type: rise fall delay_type: net cell derate_type: late object_spec: depth: 1 2 3 4 5 6 7 8 9 10 15 20 30 50 distance: 500 1000 1500 2000 3000 4000 5000 6000 8000 10000 15000 table: \ 1.123 1.090 1.075 1.067 1.062 1.057 1.054 1.052 1.050 1.048 1.043 1.040 1.037 1.035 1.124 1.091 1.076 1.068 1.063 1.059 1.055 1.053 1.051 1.050 1.045 1.042 1.039 1.037 1.125 1.092 1.077 1.070 1.065 1.061 1.057 1.055 1.054 1.052 1.047 1.045 1.042 1.040 1.126 1.094 1.079 1.072 1.067 1.063 1.060 1.058 1.056 1.055 1.050 1.048 1.045 1.043 1.130 1.099 1.085 1.078 1.074 1.070 1.067 1.065 1.064 1.063 1.059 1.057 1.055 1.053 1.135 1.105 1.093 1.086 1.082 1.079 1.077 1.075 1.074 1.073 1.070 1.068 1.066 1.065 1.141 1.112 1.101 1.095 1.091 1.089 1.086 1.085 1.084 1.083 1.080 1.079 1.077 1.076 1.148 1.122 1.111 1.106 1.102 1.100 1.098 1.097 1.096 1.095 1.092 1.091 1.090 1.089 1.164 1.141 1.132 1.128 1.125 1.123 1.121 1.120 1.120 1.119 1.117 1.116 1.115 1.114 1.184 1.164 1.156 1.153 1.150 1.149 1.147 1.146 1.146 1.145 1.144 1.143 1.142 1.141 1.239 1.224 1.218 1.216 1.214 1.213 1.212 1.211 1.211 1.211 1.210 1.209 1.208 1.208 // Set early advanced OCV tables for the design object_type: design rf_type: rise fall delay_type: net cell derate_type: early object_spec: depth: 1 2 3 4 5 6 7 8 9 10 15 20 30 50 distance: 500 1000 1500 2000 3000 4000 5000 table: \ 0.876 0.909 0.924 0.932 0.937 0.942 0.945 0.948 0.875 0.908 0.923 0.931 0.936 0.940 0.944 0.946 0.874 0.907 0.922 0.929 0.934 0.938 0.942 0.944 0.873 0.905 0.920 0.927 0.932 0.936 0.939 0.941 0.869 0.900 0.914 0.921 0.925 0.929 0.932 0.934 0.864 0.894 0.906 0.913 0.917 0.920 0.922 0.924 0.858 0.887 0.898 0.904 0.908 0.910 0.913 0.914 0.851 0.877 0.888 0.893 0.897 0.899 0.901 0.902 0.835 0.858 0.867 0.871 0.874 0.876 0.878 0.879 0.815 0.835 0.843 0.846 0.849 0.850 0.852 0.853 0.760 0.775 0.781 0.783 0.785 0.786 0.787 0.788 which applies to all cells and nets

\ \ \ \ \ \ \ \ \ \

6000 8000 10000 15000 0.949 0.948 0.945 0.943 0.935 0.925 0.915 0.903 0.879 0.853 0.788 0.951 0.949 0.947 0.944 0.936 0.926 0.916 0.904 0.880 0.854 0.788 0.956 0.954 0.952 0.949 0.940 0.929 0.919 0.907 0.882 0.855 0.789 0.959 0.957 0.954 0.951 0.942 0.931 0.920 0.908 0.883 0.856 0.790 0.962 0.960 0.957 0.954 0.944 0.933 0.922 0.909 0.884 0.857 0.791 0.964 0.962 0.959 0.956 0.946 0.934 0.923 0.910 0.885 0.858 0.791 \ \ \ \ \ \ \ \ \ \

SYNOPSYS PROPRIETARY

01/21/09 Page 30

You might also like