Professional Documents
Culture Documents
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.
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.
SYNOPSYS PROPRIETARY
Contents
Introduction .............................................................................................................................. 2 Advanced OCV Metrics Computation ...................................................................................... 3
Path-Based Advanced OCV Metrics Computation.......................................................................... 3 Graph-Based Advanced OCV Metrics Computation ....................................................................... 5
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
SYNOPSYS PROPRIETARY
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
SYNOPSYS PROPRIETARY
01/21/09 Page 3
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
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.
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
01/21/09 Page 6
01/21/09 Page 7
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
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.
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.
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." } }
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
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.
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
SYNOPSYS PROPRIETARY
01/21/09 Page 14
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]
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>
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.
What-if Analysis
Physical locations change as a result of netlist edits, so an incremental parasitic read is necessary.
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
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
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
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
SYNOPSYS PROPRIETARY
01/21/09 Page 21
SLACK(ns)
-2 -4 -6 -8
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
10000
5000
01/21/09 Page 23
20000 cputime(sec) 15000 10000 5000 0 Design1 Design2 Design3 Designs Design4 Design5 W/o worst parallel arc W/ worst parallel_arc
SYNOPSYS PROPRIETARY
01/21/09 Page 24
SYNOPSYS PROPRIETARY
01/21/09 Page 25
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
## 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
\ \ \ \ \ \ \ \ \ \
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