AOCV Analysis using PrimeTime

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

What is the primary benefit of using Advanced On-Chip Variation (AOCV) analysis compared to traditional On-Chip Variation (OCV) analysis?

  • It simplifies the design process by using a single, global derating value.
  • It lengthens design cycles, leading to more thorough testing.
  • It reduces excessive design margins by using context-specific derating values. (correct)
  • It increases design performance by ignoring process variations.

How does PrimeTime utilize derating tables in AOCV analysis?

  • To increase the number of timing violations in the design.
  • To estimate the global derating value.
  • To specify the AOCV information, calculating and applying location and depth-aware variable derating factors. (correct)
  • To ignore the location and depth of the path being analyzed.

In PrimeTime, how is the AOCV solution integrated?

  • It is not integrated and requires a separate license.
  • It is a standalone tool that replaces static timing analysis (STA).
  • It only works with traditional static timing analysis (STA).
  • It is integrated into graph-based and path-based analysis capabilities. (correct)

What is the relationship between graph-based and path-based AOCV analysis?

<p>Graph-based AOCV is a prerequisite for path-based AOCV, and intended for initial design-wide analysis. (D)</p> Signup and view all the answers

What does path-based AOCV analysis provide that graph-based AOCV analysis does not?

<p>Additional pessimism reduction by performing path-specific recalculation on critical paths. (A)</p> Signup and view all the answers

What happens to the slack of a path when using path-based AOCV?

<p>The path's slack remains unchanged. (C)</p> Signup and view all the answers

What is the primary consideration when performing path-based AOCV analysis?

<p>Its runtime can be exponential due to its computational intensity. (D)</p> Signup and view all the answers

What metrics are used by AOCV analysis to calculate a context-specific derating factor for a path?

<p>Path depth and location-based bounding box. (D)</p> Signup and view all the answers

Why does PrimeTime choose conservative values for path-depth and location-based bounding box in graph-based AOCV analysis?

<p>To bound the worst-case path through a cell and prevent an optimistic calculation. (C)</p> Signup and view all the answers

In graph-based AOCV analysis, how are AOCV metrics calculated?

<p>For all paths through each timing arc. (D)</p> Signup and view all the answers

What data is required to calculate path distance for AOCV?

<p>Coordinates of various nodes of nets, pins, and ports. (A)</p> Signup and view all the answers

What file formats can be used to import coordinate data into PrimeTime for AOCV analysis?

<p>SPEF (Standard Parasitic Exchange Format) or SBPF (Synopsys Binary Parasitics Format). (C)</p> Signup and view all the answers

How do you enable graph-based AOCV analysis in PrimeTime?

<p>By setting the <code>timing_aocvm_enable_analysis</code> variable to true. (A)</p> Signup and view all the answers

What command is used to load AOCV derating information from a disk file?

<p>read_aocvm (D)</p> Signup and view all the answers

In what file format must the derating factors be specified when loading AOCV information?

<p>Synopsys AOCV file format (B)</p> Signup and view all the answers

What design objects can be annotated with AOCV tables in PrimeTime?

<p>Library cells, hierarchical cells, and designs. (C)</p> Signup and view all the answers

What command is used to display AOCV information, including AOCV derating table data?

<p>report_aocvm (C)</p> Signup and view all the answers

When a timing path is specified in the report_aocvm command, what additional information is displayed?

<p>Path metrics such as distance, launch depth, and capture depth. (A)</p> Signup and view all the answers

When AOCV analysis is enabled, how do the graph-based reporting commands reflect AOCV results?

<p>All graph-based reporting commands reflect AOCV results. (C)</p> Signup and view all the answers

To perform an exhaustive path search for the worst recalculated timing, which option should be used with the report_timing command?

<p>-pba_mode exhaustive (D)</p> Signup and view all the answers

What is the recommended setting for the pba_aocvm_only_mode variable for an AOCV flow, and why?

<p><code>true</code>, to use path-specific AOCV metrics while disabling path-specific slew propagation. (B)</p> Signup and view all the answers

Which table types are supported in the AOCV file format for specifying derating tables?

<p>One-dimensional tables in either depth or distance, and two-dimensional tables in both depth and distance. (D)</p> Signup and view all the answers

If a derating value has not been specified for the exact path depth required, how does PrimeTime determine the required derating value?

<p>It uses linear interpolation to determine the required derating value. (D)</p> Signup and view all the answers

Clock and Data Network AOCV Analysis is enabled by default. How can AOCV analysis be restricted for the clock networks only?

<p>By setting the <code>timing_aocvm_analysis_mode</code> to <code>clock_network_only</code>. (C)</p> Signup and view all the answers

PrimeTime provides an analysis capability to compute the single path metrics where AOCV metrics for nets are the same as AOCV metrics for cells. How can we enable this analysis capability?

<p>set_app_var timing_aocvm_analysis_mode single_path_metrics (C)</p> Signup and view all the answers

When is path depth measured for Combining Launch and Capture Depth Analysis?

<p>The Launch and capture paths are considered together and a combined depth that is calculated for the entire path. (A)</p> Signup and view all the answers

PrimeTime provides an analysis capability to apply different derating factors depending upon whether it is part of the clock path or the data path. Which field would we use in your AOCV table file, to enable this?

<p>path_type (D)</p> Signup and view all the answers

What command sets random AOCV coefficients on leaf cells, library timing arcs or library cells?

<p>set_aocvm_coefficient (A)</p> Signup and view all the answers

What command performs guard-banding in AOCV flow?

<p>set_timing_derate -aocvm_guardband (C)</p> Signup and view all the answers

What is the order of precedence of cell arc derating from highest to lowest priority for the correct derating value to be applied for a given design object when AOCV is enabled?

<p>OCV leaf-level cell, AOCV library cell, OCV library cell, AOCV hierarchical cell, OCV hierarchical cell, AOCV design, OCV design (C)</p> Signup and view all the answers

What is the effect of setting timing_aocvm_ocv_precedence_compatibility variable to true?

<p>OCV derating are completely ignored for AOCV analysis. (A)</p> Signup and view all the answers

To perform voltage-dependent AOCV derating, what field needs to be specified/added in the AOCV file.

<p>voltage (D)</p> Signup and view all the answers

For AOCV Table Groups, what happens if the group_name is missing from the AOCV file?

<p>The table belongs to the default group of AOCV tables. (B)</p> Signup and view all the answers

After creating ASCII AOCV files, Which command is used to encrypt AOCV files?

<p>write_binary_aocvm (D)</p> Signup and view all the answers

Which variable has to be set to true, to enable, graph-based derating values are used in the common path for path-based AOCV analysis?

<p>timing_remove_clock_reconvergence_pessimism (A)</p> Signup and view all the answers

Flashcards

Advanced OCV (AOCV)

Modern analysis extending OCV, which models random and systematic variations using variable derating factors.

Benefit of AOCV

Using context-specific derating values, AOCV reduces design margins, leading to fewer timing violations.

AOCV analysis capabilities

The graph-based and path-based analysis integration allows a successive refinement strategy, similar to traditional STA.

Graph-based AOCV analysis

Fast, design-wide analysis that reduces pessimism compared to OCV analysis, often sufficient for signoff.

Signup and view all the flashcards

Role of graph-based AOCV

A prerequisite for further analysis and margin reduction using path-based AOCV analysis on critical paths.

Signup and view all the flashcards

Path-based AOCV analysis

Additional pessimism reduction with path-specific recalculation, not worsening a path's slack.

Signup and view all the flashcards

Calculation of Path-specific derating

Path-depth and location-based bounding box values

Signup and view all the flashcards

Path depth

Calculated on a per path basis by counting the number of leaf cells or nets in a path.

Signup and view all the flashcards

Cell path distance

Computed by the diagonal of a box encompassing all cells in the path.

Signup and view all the flashcards

Graph-Based AOCV Metrics Computation

Computed across many paths to avoid optimism for any single path.

Signup and view all the flashcards

Points of combinational convergence/divergence

These inherit more pessimistic metrics of converging paths or more pessimistic metrics of diverging paths.

Signup and view all the flashcards

AOCV flow

Split into setup (design, parasitics, constraints, enable, specify AOCV) and reporting (deratings, analysis results).

Signup and view all the flashcards

Importing SPEF for AOCV

Read coordinates of nodes of nets, pins, and ports into PrimeTime from SPEF/SBPF files.

Signup and view all the flashcards

Path type Field in AOCV File

Specifies whether the entire table applies to clock paths, data paths, or both.

Signup and view all the flashcards

write_binary_aocvm Command

Used to protect sensitive process-related information within AOCV files.

Signup and view all the flashcards

Clock and Data Network AOCV Analysis

AOCV computes derating factors based on analysis of both clock and data, applicable to every arc.

Signup and view all the flashcards

AOCV Analysis Restricted to Clock network

PrimeTime capability that restricts application of AOCV deratings to arcs in the clock network.

Signup and view all the flashcards

Single-Path Metrics for All Path Objects

PrimeTime capability where AOCV metrics for nets are the same as AOCV metrics for cells.

Signup and view all the flashcards

Combined Launch and Capture Depth Analysis

Allows launch and capture paths to be considered together. (Combined depth calculated for entire path.)

Signup and view all the flashcards

Separating AOCV Derating Values

Enables applying different derating for an object depending on clock or data path.

Signup and view all the flashcards

AOCV Coefficients

The coefficients used to customize the cell path depths.

Signup and view all the flashcards

Guard-Banding in AOCV

Allows modelling nonprocess related effects in an AOCV flow.

Signup and view all the flashcards

OCV Deratings in AOCV Analysis

PrimeTime considers OCV during AOCV analysis giving cell arc derating precedence.

Signup and view all the flashcards

Incremental Timing Deratings

Enables to fine-tune the timing derating on objects such as cells or nets.

Signup and view all the flashcards

Multivoltage AOCV

To apply voltage-dependent AOCV deratings.

Signup and view all the flashcards

AOCV Table Groups

Apply different AOCV tables, containing different derating values, to portions of the design.

Signup and view all the flashcards

PBA Exhaustive Endpoint Path Limit

Terminates exhaustive path searching after a specific number of paths have been reached.

Signup and view all the flashcards

Enable CRPR

Reduces overall pessimism and search space for path-enumeration in the exhaustive mode.

Signup and view all the flashcards

Use the report_timing Command with the -slack_lesser_than option

Minimizes the search space of exhaustive mode analysis.

Signup and view all the flashcards

Report Timing with small -nworst setting

Used for sign-off, specifying a value is sufficient to establish whether an endpoint is violating or not.

Signup and view all the flashcards

Main Benefit of AOCV Analysis

AOCV reduces pessimism and improves the accuracy of results.

Signup and view all the flashcards

Combined Advanced On-Chip Variation and Variation-Aware Analysis

Combining AOCV with PrimeTime VX analysis for global interconnect parasitic variations.

Signup and view all the flashcards

All Flows that Perform AOCV Analysis

Analysis that needs to start with graph-based AOCV analysis.

Signup and view all the flashcards

Study Notes

  • Integrated circuit designers have been using a global derating value for years, adding design margin to account for on-chip variations (OCV).
  • An AOCV analysis is a natural extension of OCV analysis
  • AOCV uses variable derating factors, considering location and logic depth of each path
  • AOCV reduces design margins and timing violations by using context-specific derating values.
  • This pessimism-reducing approach minimizes over-design and enables faster timing closure.
  • PrimeTime uses derating tables for AOCV information, calculating variable derating factors based on path location and depth.
  • The PrimetTime AOCV solution integrates into graph and path-based analysis capabilities
  • This enables a successive refinement strategy similar to traditional static timing analysis (STA).

Graph-Based AOCV Analysis

  • Graph-based AOCV analysis delivers fast, design-wide results using the update_timing command.
  • Pessimism reduces in graph-based AOCV compared to OCV analysis allowing it to be enough for signoff
  • Graph-based AOCV serves as a prerequisite for further analysis and margin reduction through path-based AOCV analysis on critical paths.

Path-Based AOCV Analysis

  • Path-based AOCV analysis reduces pessimism via path-specific recalculation on paths still violating after graph-based AOCV.
  • Path-based AOCV analysis uses path-specific path-depth and location-based bounding box values to determine path-specific derating values
  • Path slack is not worsened in path-based AOCV.
  • Graph-based AOCV analysis before path-based analysis is essential
  • Path-based AOCV analysis is computationally intensive, scaling complexity with analyzed paths, potentially exponentially

Significance of AOCV Metrics

  • Metrics like path-depth and location-based bounding box are used to derive a context-specific AOCV derating factor that replaces global derating.
  • PrimeTime selects conservative path-depth and location-based bounding box values for graph-based AOCV analysis
  • Graph-based analysis is, by design, more conservative than path-based analysis to prevent optimistic calculation; depth counts are limited to prevent optimistic results.

Path-Based AOCV Metric Calculation

  • Path-based AOCV calculates metrics on a per-path basis
  • Path depth counts objects (leaf cells or nets) in a path, with potential differences between net and cell path depths.
  • Systematic variation between cells on a die is a function of the distance between cells (in nm), and PrimetTime assumes net locations do not affect systematic variation, calculating path distance separately for cells and nets.
  • Cell path distance involves computing the diagonal of a box encompassing all cells in the path.
  • Similarly, net path distance computes the diagonal of a box encompassing all nets in the path
  • PrimeTime assumes zero variation in the common path, because launch and capture signals are the same. Thus, it defaults to excluding net or cell objects in the common path for AOCV metric computations.

Graph-Based AOCV Metric Computation

  • Graph-based analysis involves many paths for each object (cell and net)
  • Depth and distance metrics are computed conservatively to avoid optimism
  • Depth values vary for data and clock networks,
  • Arcs in clock networks can have separate depth and distance values for launch, capture, and data

Combinational Convergence and Divergence:

  • Objects at convergence inherit pessimistic metrics.
  • Objects at divergence inherit pessimistic metrics
  • SolvNet article 022963 illustrates path distance calculation.
  • AOCV metrics are measured from the clock reconvergence pessimism removal (CRPR) common point in Path-based analysis
  • PrimeTime selects the conservative common point for analysis to avoid optimism, if there are multiple possible common points for a cell.

AOCV Flow Phases

  • AOCV flow has setup and reporting phases
  • Setup includes:
  • Reading the design
  • Loading parasitics with coordinate information
  • Applying constraints
  • Enabling AOCV analysis
  • Specifying AOCV information
  • Reporting includes deratings and analysis results

AOCV Analysis Setup Steps

  • Read in the design (step 1)
  • Import SPEF with physical locations (step 2)
  • Enable AOCV analysis (step 3)
  • Specify AOCV information (step 4)

Importing SPEF With Physical Locations

  • Path distance calculation requires coordinates, while path depth does not
  • Coordinates of net nodes, pins, and ports must be read into PrimeTime from SPEF or SBPF files. Set read_parasitics_load_locations to true, then use the read_parasitics command.

Enabling AOCV Analysis

  • Graph-based AOCV analysis is enabled by setting timing_aocvm_enable_analysis variable to true

Specifying AOCV Information

  • The command read_aocvm aocv_file_name loads AOCV derating information from a disk file. The derating factors must be specified in a table using the Synopsys AOCV file format for the values to be directly applied to the arcs in the paths of interest
  • If there is incorrect Syntax PrimeTime issues and error message
  • AOCV tables can be annotated onto one or more design objects
    • library cells
    • hierarchical cells
    • designs For cell arcs, the precedence of data tables is the design derating table, the hierarchical cell derating table, and the library cell derating table (lowest to highest)
  • Cells or net derating factors will be defined using path depth and path distance.
  • When dealing with values missing on the exact path depth/distance; PrimeTime will use linear interpolation

AOCV Reporting Phases

  • Reporting AOCV Deratings
  • Reporting AOCV Analysis Results

Reporting AOCV Deratings

  • The command report_aocvm displays AOCV information including derating table data
  • This will also show objects annotated with early, late, rise, fall, cell, or net derating tables
  • It displays computations of graph and path-based AOCV metrics. -A summary can be displayed by using the command report_aocvm, that shows the numbers of lead cells annotated with derate tables. If you specify a timing path argument, PrimeTime displays path metrics (distance, launch depth, and capture depths)
  • Note: The path depths have been scaled by the AOCV coefficients if they exist

Reporting AOCV Analysis Results

  • All graph based reporting commands reflect upon the AOCV results after AOCV analysis is enabled.
  • Below contains some commands to report results : -report constraint -report clock timing - derate -report_timing -nworst 2000000 -max_paths 2000000 -derive For path-based AOCV analysis, command report timing with pba_mode path option displays the timing report with AOCV derating factors

Using get_timing_paths:

  • You can query and obtain an AOCV-adjusted path by using the get_timing paths command with the pba_mode path option
  • Prime time does not perform a path search to determine whether those paths are recalculate
  • The path ordering reports matches AOCV timing reports in its based path ordering. By setting the command get_timing_paths -pba_mode exhaustive option time Prime invokes its extensive path that finds and correctly orders
  • Note: There's a derate column that displays both graph-based and path-based. AOCV analysis
  • Run report_timing command with the -pba__mode exhaustive option find all correctly ordered
  • Requires the pba_exhaustive_endpoint_path_limit variable avoids the runtime if we terminate exhaustive path search.
  • Strong suggestion, set pba_aocvm_only_mode variable set in True to reduce the pessimism

AOCV File Format

  • Specifies AOCV derating tables in the AOCV file format
  • Supported Table Types:
  • One dimensional tables
  • Two dimensional tables for both depth and distance

Syntax Definition

  • Described Section requires you to specify field for each line

version: aocv_format_version

  • Used for back compatibility
  • Valid version numbers 1.0, 2.0, 3.0
  • Set the path type to 2.0
  • Set the group name to 3.0

group_name: name

  • (Optional field) that specifies AOCV table for that table group assigned.

object_type: design | cell | lib_cell

  • You can specify object types,
  • Cell and Net tables are design specific
  • Cell and Net are tables for hierarchical cells using cell object
  • Cell tables for library cells use the lib_cell type

rf_type: rise | fall | rise fall

Requires to specify what you need to select

delay_type: cell | net | cell net

  • You need to specify either the cell, net, or cell net.
  • PrimeTime can annotate them

derate_type: early | late

  • you can specify either way

object_spec: [patterns] [-filter expression]

  • Definiton that specifies the object name, its expression which is based attribututes.
  • (Same as regexp tcl command)

voltage: floating_number

  • Suppoorts for the multivoltage AOCV derating command

path_type: data | clock | data clock

  • This is an optional field if your specifying on tables depending paths with clock/data
  • version: 2.0 field must be specified

Depth: list_of_floating_numbers

  • Specify path for depth set of the M point
  • M can be set to zero

Distance: lsit_of_floating_numbers

  • Specify point if the paths distance set
  • N can be zero

Table: array_of_NxM- numbers

  • Factors for their derating have to be specific in a table
  • There is also some special cases of code

Comment line

  • To indicate comments is double slash (\) at start of each line

Additional ADCov Capabilities

  • Clock and data network AOCV analysis
  • Clock network restrictuions
  • Single Pass metrics for all objeccts
  • Combining launch and capture
  • Seperate value for their pass in clocks
  • AOCV Coefficients
  • Guard-Banding in AOCV
  • Using OCV Deratings
  • Incremental Timing Deratings
  • Applying Voltage-Dependent
  • AOCV Table Groups
  • Encrypting AOCV

Interactions With Other PrimeTime Features

  • Pessimistic Removal (CRPR)
  • OC Behavior
  • Distributed Analysis
  • Hierarchial Flows
  • Delta Delay And Timing
  • Combination and Aware Analysis

Enable CRPR

Report Timing Command

  • This has a reduced runtiime using its smaller n - worst with setting
  • Main benefit helps the reduce/improve results accuracy for the designs

AOCV Table Group

  • Using AOCV tables for designs and providing methods for specific tables contains different ratings values to portions. With controlled designs these help lead into their margining needs

CRPR

  • Set variable in Timing_remove_clock_reconvergence_pessism too True if you needed graph base values used for past base for AOCV analysis. If removed than common portions is not derived for base analysis

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Use Quizgecko on...
Browser
Browser