Podcast
Questions and Answers
What is the primary benefit of using Advanced On-Chip Variation (AOCV) analysis compared to traditional On-Chip Variation (OCV) analysis?
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?
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?
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?
What is the relationship between graph-based and path-based AOCV analysis?
What does path-based AOCV analysis provide that graph-based AOCV analysis does not?
What does path-based AOCV analysis provide that graph-based AOCV analysis does not?
What happens to the slack of a path when using path-based AOCV?
What happens to the slack of a path when using path-based AOCV?
What is the primary consideration when performing path-based AOCV analysis?
What is the primary consideration when performing path-based AOCV analysis?
What metrics are used by AOCV analysis to calculate a context-specific derating factor for a path?
What metrics are used by AOCV analysis to calculate a context-specific derating factor for a path?
Why does PrimeTime choose conservative values for path-depth and location-based bounding box in graph-based AOCV analysis?
Why does PrimeTime choose conservative values for path-depth and location-based bounding box in graph-based AOCV analysis?
In graph-based AOCV analysis, how are AOCV metrics calculated?
In graph-based AOCV analysis, how are AOCV metrics calculated?
What data is required to calculate path distance for AOCV?
What data is required to calculate path distance for AOCV?
What file formats can be used to import coordinate data into PrimeTime for AOCV analysis?
What file formats can be used to import coordinate data into PrimeTime for AOCV analysis?
How do you enable graph-based AOCV analysis in PrimeTime?
How do you enable graph-based AOCV analysis in PrimeTime?
What command is used to load AOCV derating information from a disk file?
What command is used to load AOCV derating information from a disk file?
In what file format must the derating factors be specified when loading AOCV information?
In what file format must the derating factors be specified when loading AOCV information?
What design objects can be annotated with AOCV tables in PrimeTime?
What design objects can be annotated with AOCV tables in PrimeTime?
What command is used to display AOCV information, including AOCV derating table data?
What command is used to display AOCV information, including AOCV derating table data?
When a timing path is specified in the report_aocvm
command, what additional information is displayed?
When a timing path is specified in the report_aocvm
command, what additional information is displayed?
When AOCV analysis is enabled, how do the graph-based reporting commands reflect AOCV results?
When AOCV analysis is enabled, how do the graph-based reporting commands reflect AOCV results?
To perform an exhaustive path search for the worst recalculated timing, which option should be used with the report_timing
command?
To perform an exhaustive path search for the worst recalculated timing, which option should be used with the report_timing
command?
What is the recommended setting for the pba_aocvm_only_mode
variable for an AOCV flow, and why?
What is the recommended setting for the pba_aocvm_only_mode
variable for an AOCV flow, and why?
Which table types are supported in the AOCV file format for specifying derating tables?
Which table types are supported in the AOCV file format for specifying derating tables?
If a derating value has not been specified for the exact path depth required, how does PrimeTime determine the required derating value?
If a derating value has not been specified for the exact path depth required, how does PrimeTime determine the required derating value?
Clock and Data Network AOCV Analysis is enabled by default. How can AOCV analysis be restricted for the clock networks only?
Clock and Data Network AOCV Analysis is enabled by default. How can AOCV analysis be restricted for the clock networks only?
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?
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?
When is path depth measured for Combining Launch and Capture Depth Analysis?
When is path depth measured for Combining Launch and Capture Depth Analysis?
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?
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?
What command sets random AOCV coefficients on leaf cells, library timing arcs or library cells?
What command sets random AOCV coefficients on leaf cells, library timing arcs or library cells?
What command performs guard-banding in AOCV flow?
What command performs guard-banding in AOCV flow?
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?
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?
What is the effect of setting timing_aocvm_ocv_precedence_compatibility
variable to true?
What is the effect of setting timing_aocvm_ocv_precedence_compatibility
variable to true?
To perform voltage-dependent AOCV derating, what field needs to be specified/added in the AOCV file.
To perform voltage-dependent AOCV derating, what field needs to be specified/added in the AOCV file.
For AOCV Table Groups, what happens if the group_name is missing from the AOCV file?
For AOCV Table Groups, what happens if the group_name is missing from the AOCV file?
After creating ASCII AOCV files, Which command is used to encrypt AOCV files?
After creating ASCII AOCV files, Which command is used to encrypt AOCV files?
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?
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?
Flashcards
Advanced OCV (AOCV)
Advanced OCV (AOCV)
Modern analysis extending OCV, which models random and systematic variations using variable derating factors.
Benefit of AOCV
Benefit of AOCV
Using context-specific derating values, AOCV reduces design margins, leading to fewer timing violations.
AOCV analysis capabilities
AOCV analysis capabilities
The graph-based and path-based analysis integration allows a successive refinement strategy, similar to traditional STA.
Graph-based AOCV analysis
Graph-based AOCV analysis
Signup and view all the flashcards
Role of graph-based AOCV
Role of graph-based AOCV
Signup and view all the flashcards
Path-based AOCV analysis
Path-based AOCV analysis
Signup and view all the flashcards
Calculation of Path-specific derating
Calculation of Path-specific derating
Signup and view all the flashcards
Path depth
Path depth
Signup and view all the flashcards
Cell path distance
Cell path distance
Signup and view all the flashcards
Graph-Based AOCV Metrics Computation
Graph-Based AOCV Metrics Computation
Signup and view all the flashcards
Points of combinational convergence/divergence
Points of combinational convergence/divergence
Signup and view all the flashcards
AOCV flow
AOCV flow
Signup and view all the flashcards
Importing SPEF for AOCV
Importing SPEF for AOCV
Signup and view all the flashcards
Path type Field in AOCV File
Path type Field in AOCV File
Signup and view all the flashcards
write_binary_aocvm Command
write_binary_aocvm Command
Signup and view all the flashcards
Clock and Data Network AOCV Analysis
Clock and Data Network AOCV Analysis
Signup and view all the flashcards
AOCV Analysis Restricted to Clock network
AOCV Analysis Restricted to Clock network
Signup and view all the flashcards
Single-Path Metrics for All Path Objects
Single-Path Metrics for All Path Objects
Signup and view all the flashcards
Combined Launch and Capture Depth Analysis
Combined Launch and Capture Depth Analysis
Signup and view all the flashcards
Separating AOCV Derating Values
Separating AOCV Derating Values
Signup and view all the flashcards
AOCV Coefficients
AOCV Coefficients
Signup and view all the flashcards
Guard-Banding in AOCV
Guard-Banding in AOCV
Signup and view all the flashcards
OCV Deratings in AOCV Analysis
OCV Deratings in AOCV Analysis
Signup and view all the flashcards
Incremental Timing Deratings
Incremental Timing Deratings
Signup and view all the flashcards
Multivoltage AOCV
Multivoltage AOCV
Signup and view all the flashcards
AOCV Table Groups
AOCV Table Groups
Signup and view all the flashcards
PBA Exhaustive Endpoint Path Limit
PBA Exhaustive Endpoint Path Limit
Signup and view all the flashcards
Enable CRPR
Enable CRPR
Signup and view all the flashcards
Use the report_timing Command with the -slack_lesser_than option
Use the report_timing Command with the -slack_lesser_than option
Signup and view all the flashcards
Report Timing with small -nworst setting
Report Timing with small -nworst setting
Signup and view all the flashcards
Main Benefit of AOCV Analysis
Main Benefit of AOCV Analysis
Signup and view all the flashcards
Combined Advanced On-Chip Variation and Variation-Aware Analysis
Combined Advanced On-Chip Variation and Variation-Aware Analysis
Signup and view all the flashcards
All Flows that Perform AOCV Analysis
All Flows that Perform 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 theread_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 reporttiming
withpba_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 thepba_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
Exhaustive Search
- 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.