Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

AOCV

Download as pdf or txt
Download as pdf or txt
You are on page 1of 21

Valpont.

com, a Technology Content Platform

OCV
• Compared to single operating condition and best case/worst case
two timing analysis methods, traditional or global OCV (On-Chip
Variation) method has the following advantages:

o Applies max/min delays on data/clock paths for setup check and


min/max delays on data/clock paths for hold check
o Applies derating to accommodate on chip variation

• Derating setting example:

o Set_timing_derate –early 0.95


o Set_timing_derate –late 1.05
Valpont.com, a Technology Content Platform

Global OCV Shortcoming


• However, traditional/Global OCV derating uses worst-case early/late
bounds which is too pessimistic
• Real silicon timing is statistical
Valpont.com, a Technology Content Platform

Fixed Derating with GOCV


• Global OCV applies a fixed % derating to path delay
Valpont.com, a Technology Content Platform

Statistical Derating I
• In reality random variation is less for deeper timing paths since not
all cells are simultaneously fast or slow.
Valpont.com, a Technology Content Platform

Statistical Derating II
• Derating factor should be a function of cell depth
• Models on-die random variation
• Deeper paths exhibit less variation than short paths
Valpont.com, a Technology Content Platform

2-D Derating Table


• Derating factor should also be a function of distance/location
• Paths comprised of cells in close proximity exhibit less variation
• Therefore 2-D AOCV derating table
Valpont.com, a Technology Content Platform

AOCV Analysis Modes


• AOCV supports clock-only and clock&data AOCV analysis

• AOCV on clock only, Global OCV on data path objects


o Reduces efforts to generate derating tables

• AOCV on both clock and data


o AOCV on full design
o Requires AOCV tables for all design objects
Valpont.com, a Technology Content Platform

Depth Computation I
• AOCV on clock network only
Valpont.com, a Technology Content Platform

Depth Computation II

AOCV analysis on both clock and data


Valpont.com, a Technology Content Platform

Distance Computation I
• AOCV on clock only
• Bounding box includes non-common launch & capture clock path
objects
• Capturing cell is in cell bounding box
Valpont.com, a Technology Content Platform

Distance Computation II
• AOCV on both clock and data
• Bounding box includes non-common launch & capture clock path
and data path objects
Valpont.com, a Technology Content Platform

AOCV Benefits
• Jarvis’ slides shows setup/hold violations are dramatically reduced
with AOCV

OCV Method #violatio OCV Method #violatio


ns ns
Global OCV 1778 Global OCV 1704
AOCV on clock only 1551 AOCV on clock only 850
AOCV on clock & Data 595 AOCV on clock & Data 176
Valpont.com, a Technology Content Platform

Example OCV and AOCV Flow


OCV Flow AOCV Flow
#read & link design #read & link design
Read_verilog … Read_verilog …
link_design
link_design
#back-annotate parasitics
#back-annotate parasitics Set read_parasitics_load_locations true
Read_parasitics … Read_parasitics …

#apply design constraints #apply design constraints


Read_sdc …
Read_sdc …
Create_clock …
Create_clock … Set_timing_derate –early 0.80
Set_timing_derate –early 0.80 Set_timing_derate –late 1.20
Set_timing_derate –late 1.20
Read_aocvm …
set_ timing_aocvm_enable_analysis true
#Calculate delay & analyze timing
Update_timing
#Calculate delay & analyze timing
Update_timing
#reports
Report_clock_timing … #reports
Report_timing … Report_clock_timing …
Report_timing –derate …
Valpont.com, a Technology Content Platform

Configure AOCV

Variable Description
timing_aocvm_analysis_ Specifies the calculation of depth metrics
mode
timing_aocvm_enable_ Applies AOCV analysis to the clock network
clock_network_only only
timing_aocvm_enable_ Specifies whether AOCV analysis uses separate
single_path_metrics depth and
distance values for nets and cells
timing_ocvm_enable_ Specifies whether advanced or parametric on-
distance_analysis chip variation
analysis performs distance-based analysis
timing_ocvm_precedence_ Controls the fallback to on-chip variation
compatibility (OCV) deratings for
advanced or parametric OCV
Valpont.com, a Technology Content Platform

Enable AOCV
• In summary, to use AOCV, you need to

• set the timing_aocvm_enable_analysis variable to true


• Use read_ocvm to provide tables of derating factors
• Then you perform timing analysis in the usual manner using
commands such as update_timing and report_timing. The analysis
results reflect the application of varying derating factors based on
the logic depths and physical spans of the paths.
Valpont.com, a Technology Content Platform

Graph and Path based AOCV


• Two AOCV analysis modes:
o Graph-based AOCV
o Path-based AOCV

• Graph-based AOCV
o Fast, design-wide analysis performed during “update_timing”.
o Provides a conservative analysis compared t path-based AOCV
o Prerequisite for further margin reduction using Path-based AOCV
o For most designs, sufficient for sign-off

• Path-based AOCV
o Used to reduce pessimism and improve accuracy for violations
after Graph-based AOCV
o To do so, use “report_timing” with “-pba_mode” set to “path”
o pt_shell> report_timing -pba_mode path
Valpont.com, a Technology Content Platform

Some AOCV Commands


• Use read_ocvm to read AOCV derating tables from a disk file.
Derating tables are annotated onto one or more design objects and
are applied directly to timing arc delays.
• Use the write_binary_aocvm to create binary encoded AOCV files
from ASCII-format AOCV files. This command is used to protect
sensitive process-related information.
• Use report_timing –derate to show calculated AOCV derating factors
in timing report

• Use report_aocvm to display AOCV derating table.


• In a graph-based AOCV analysis, specify a timing arc to show its
dpeth and distance metrics and AOCV derating factors.
o pt_shell> report_aocvm [get_timing_arcs -of_objects [get_cells
U1]]
Valpont.com, a Technology Content Platform

Multiple AOCV Tables


• AOCV file format supports multiple AOCV derating tables:
o 1D tables in either depth or distance
o 2D tables in both depth and distance

• Associate an AOCV table with a group of objects


o “object_type design | lib_cell | cell” or
o “object_spec [patterns]”, patterns can use regular expression
• Cell arc derating precedence, from highest to lowest
o Lib cell, hierarchical cell, design
• Net ac derating precedence, from high to low
o Hierarchical cell, design
Valpont.com, a Technology Content Platform

Incremental Timing Derating


• Incremental timing derating enables you to fine-tune the timing
derating factors on objects such as cells or nets

• For example, you might have a u1/u252 cell that has a regular late
derating of 1.082 and early derating of 0.924. The final late derating
factor on cell u1/u252 = 1.082 + 0.03 = 1.112, and the final early
derating factor on cell u1/u252 = 0.924 + (-0.03) = 0.894.

o set_app_var timing_aocvm_enable_analysis true


o set_timing_derate -increment -late 0.03 [get_cells u1/u252]
o set_timing_derate -increment -early -0.03 [get_cells u1/u252]
Valpont.com, a Technology Content Platform

POCV
• Parametric OCV (POCV) is the next generation of variation analysis
targeted at 14/16nm and below processes. It provides a lightweight
statistical margining approach to variation margining. It offers Graph-
based Analysis(GBA) pessimism reduction, improved PrimeTime
ECO turnaround time, and simpler library characterization than the
Advanced OCV approach.

• POCV models the delay of an instance as a function of a variable


that is specific to the instance. That is, the instance delay is
parameterized as a function of the unique delay variable for the
instance.
Valpont.com, a Technology Content Platform

POCV
• Compared with AOCV, POCV
o Reduced pessimism gap between graph-based analysis and
path-based analysis
o Less overhead for incremental timing analysis

You might also like