Sei sulla pagina 1di 16

Application Note for Location Based On-Chip Variation (LOCV)

Cadence Design Systems, Inc.

Application Note

Location Based On-Chip Variation (LOCV)

Encounter Digital Implementation (EDI) System Encounter Timing System (ETS)

Rev 1.0 September 2011


COPYRIGHT 2011, CADENCE DESIGN SYSTEMS, INC.
ALL RIGHTS RESERVED. PAGE 1

Application Note for Location Based On-Chip Variation (LOCV)

Table of Contents
What is LOCV? ................................................................................................................... 3 LOCV .......................................................................................................................................... 3 Stage Count Definition....................................................................................................... 3 Distance Calculation ................................................................................................................... 4 Table look-up in LOCV library ........................................................................................... 5 Use Model ........................................................................................................................... 5 Required Inputs ........................................................................................................................... 6 LOCV Library format ................................................................................................................. 6 Commands and Globals .............................................................................................................. 7 GUI update .................................................................................................................................. 9 Timing Reports ........................................................................................................................... 9 Known Limitations ........................................................................................................... 12 Appendix ........................................................................................................................... 12 Different Bounding Box Scenarios ........................................................................................... 12 Primary Input -> FF .............................................................................................................. 13 FF -> Primary Output ........................................................................................................... 13 Self-loop paths ...................................................................................................................... 14 Primary Input -> FF, where Primary Input has input_delay with respective to generated_clock .................................................................................................................... 14 FF->Primary Output, where Primary Output has output_delay with respective to generated_clock .................................................................................................................... 15 LOCV analysis in MMMC ....................................................................................................... 15 Commands with -view option ............................................................................................... 15 Example script ...................................................................................................................... 15

COPYRIGHT 2011, CADENCE DESIGN SYSTEMS, INC.


ALL RIGHTS RESERVED. PAGE 2

Application Note for Location Based On-Chip Variation (LOCV)

What is LOCV?
LOCV stands for Location based On-Chip Variation (a.k.a. Local OCV or Location aware OCV) Smaller technology nodes are sensitive to PVT and require OCV analysis. Global OCV scaling is pessimistic and can make timing closure difficult. LOCV determines scaling factors based on the location and depth of cells in the clock and data paths.

LOCV
Computes delay scaling factor based on stage count and distance. Scaling factor look-up tables provided in the form of an LOCV library. Different scaling factor for data and clock paths. Important parameters Stage Count Distance

Provided an LOCV library, EDI System can include LOCV derating during timing analysis. LOCV is only applied during timing analysis and global OCV is used for optimization. This document provides more details, examples and flow for performing LOCV in EDI System.

Stage Count Definition


Clock branch point : Output point of the last cell in common clock path. Data Path Stage Count: Number of cells from clock branch point to the data path end point Clock Path Stage Count: Number of cells from clock branch point to the end point clock pin Clock branch point and end point should not be counted in cell count.

COPYRIGHT 2011, CADENCE DESIGN SYSTEMS, INC.


ALL RIGHTS RESERVED. PAGE 3

Application Note for Location Based On-Chip Variation (LOCV)

Stage Count for above path - Data Path: 5, Clock Path: 2

Distance Calculation

Distance for a path is the diagonal length of bounding box of the path which covers output pin of clock branch point all pins of cells in clock_path and data_path after clock branch point (includes end point) Bounding box does not include net area

COPYRIGHT 2011, CADENCE DESIGN SYSTEMS, INC.


ALL RIGHTS RESERVED. PAGE 4

Application Note for Location Based On-Chip Variation (LOCV)

Table look-up in LOCV library


CTE interpolates the values between the table indexes If the given inputs are out of table range, extrapolation will not be done to get LOCV derating coefficient. Instead, it will pick the largest value for that index. LOCV library is a 2-D table or 1-D table. If users only concern is the number of logic stages or the diagonal length of path-enclosed rectangle, a 1-D table will be accepted.

Example of one such library snippet is shown in the next page:

Use Model
Required inputs LOCV Library format Commands and Globals GUI Timing Reports

COPYRIGHT 2011, CADENCE DESIGN SYSTEMS, INC.


ALL RIGHTS RESERVED. PAGE 5

Application Note for Location Based On-Chip Variation (LOCV)

Required Inputs

Pin location and LOCV library are two main inputs required for LOCV analysis apart from other information Required for Static Timing Analysis (STA). Placement information or reading a SPEF file is a must in order to get pin locations for LOCV analysis.

LOCV Library format


{Apply-Cell | Apply-Net | Apply-All} [Max-Setup|Min-Setup|Max-Hold|Min-Hold|MAX-Setup-Early| MIN-Setup-Late| MAXHoldEarly| MIN-Hold-Late] {-[Rise|Fall]} {Voltage volt} { Cell [cellname|cellname*|*] } [ Distance 0 1000 2000 4000 8000 Stage 0 1 2 3 4 5 6 7 0.826 0.826 0.871 0.892 0.904 0.913 0.919 0.924 0.826 0.826 0.871 0.892 0.904 0.913 0.919 0.924 0.821 0.821 0.865 0.885 0.896 0.904 0.909 0.913 0.812 0.812 0.852 0.869 0.879 0.885 0.889 0.892 0.796 0.796 0.831 0.845 0.853 0.857 0.861 0.863 ]

COPYRIGHT 2011, CADENCE DESIGN SYSTEMS, INC.


ALL RIGHTS RESERVED. PAGE 6

Application Note for Location Based On-Chip Variation (LOCV)

Stage Count: Integer, increasing order. Row always represents Stage count Distance: Floating (in Micro Meters), increasing order. Columns always represent distance. Cell section of table can be used to specify independent LOCV derate tables for different cells. Cell section allows wildcards. In case different tables assigned to same cells (conflict due to wild card usage or other reasons), more specific cell name takes precedence over others Example; high priority order of cell names invx1, invx*, in*, * Voltage section of table helps to specify different LOCV tables for specific cell or all cells in library for different power domains.

Commands and Globals


read_locvlib Reads the LOCV library file for timing data Alternately, LOCV libraries can be loaded through config file set rda_Input(ui_locvlib) <locv lib file name> In case LOCV library data is not available, derating factor 1.0 will be used EDI System supports encrypted (binary) LOCV library files select_locv_table setup [min/max] hold [min/max][-view <view_name>] Controls which LOCV look-up tables should be used for setup and hold paths from several combinations for Max/Min, Setup/Hold and Late/Early. This command dictates whether to use min/max table. Setup/Hold and Late/Early are picked up by tool. set_guard_band_derate [-early <derate_value>] [-late <derate_value>] [-view <view_name>] Specified guard band derating value will be adjusted to LOCV derating factors. Example: 1. Assume derived LOCV derating factor are late 2.0 and early 1.0 2. Command: set_guard_band_derate -early 0.1 late 0.2 3. Derating factors adjusted to late: 2.4 and early: 0.9 (i.e. 20% later and 10% earlier) Different Guard band derating factor can be specified for each view using view option locv_core_size User specified core size diagonal length in um

using

COPYRIGHT 2011, CADENCE DESIGN SYSTEMS, INC.


ALL RIGHTS RESERVED. PAGE 7

Application Note for Location Based On-Chip Variation (LOCV)

locv_chip_size User specified chip size diagonal length in um

If not specified, core and chip sizes will be calculated from SPEF User specified core and chip sizes will have higher priority than sizes derived from SPEF or Placement If no SPEF coordinate or Placement information is available then: If locv_chip_size is specified but locv_core_size is not, locv_core_size will be equal to the user locv_chip_size value. If locv_core_size is specified but locv_chip_size is not, then locv will be switched off with an error message. If both locv_core_size and locv_chip_size are not specified, then locv will be switched off with an error message.

locv_inter_clock_use_worst_derate [true/false] When this global set to true, chip size is used as distance and stage count is considered as zero for cross clock domain paths. By default (false), cross clock domain paths will not be treated differently.

locv_stage_count_with_IO [true/false] When this global is set to false, IO pads are not counted in the stage count By default (true), IO pads also counted in the stage count.

report_timing_format {... locv_derate} New optional column added to report_timing for reporting locv_derate. This column can be enabled through report_timing_format global

COPYRIGHT 2011, CADENCE DESIGN SYSTEMS, INC.


ALL RIGHTS RESERVED. PAGE 8

Application Note for Location Based On-Chip Variation (LOCV)

GUI update

Design Import GUI Form updated with LOCV library option This option is mapped to rda_Input(ui_locvlib) variable

Timing Reports
report_timing command has the following new options to support LOCV -retime locv -derate_summary -format {... locv_derate} report_timing retime locv enables LOCV analysis and reports LOCV derated delays. Following report_timing options are not supported currently -unique_pins -path_type end|summary -unconstrained -delay_limit

COPYRIGHT 2011, CADENCE DESIGN SYSTEMS, INC.


ALL RIGHTS RESERVED. PAGE 9

Application Note for Location Based On-Chip Variation (LOCV)

Example: report_timing -retime locv

COPYRIGHT 2011, CADENCE DESIGN SYSTEMS, INC.


ALL RIGHTS RESERVED. PAGE 10

Application Note for Location Based On-Chip Variation (LOCV)

Example: report_timing -derate_summary Along with above retime locv report, -derate_summary prints following table

Example: report_timing -format {. locv_derate}

COPYRIGHT 2011, CADENCE DESIGN SYSTEMS, INC.


ALL RIGHTS RESERVED. PAGE 11

Application Note for Location Based On-Chip Variation (LOCV)

Known Limitations
LOCV is only supported for STA reporting. LOCV is not supported by Optimization in EDI System. report_timing is the only STA reporting command to support LOCV. saveDesign does not save all LOCV settings Following report_timing options are not supported currently with LOCV -unique_pins -path_type end| summary -unconstrained -delay_limit

LOCV does not work with other retime options i.e. report_timing -retime {locv|ssta|path_slew_propagation}

Appendix
Example Script loadConfig test.conf source floorplanned.enc setAnalysisMode -analysisType onChipVariation -checkType setup \ -asyncChecks async -clockPropagation sdcControl read_locvlib LOCV_lib.lib select_locv_table -setup max -hold min placeDesign optDesign -preCTS clockDesign optDesign -postCTS routeDesign -globalDetail report_timing -from i_2/CK -path_type full_clock -retime locv \ -derate_summary \ -format {instance cell delay arrival locv_derate} Exit

Different Bounding Box Scenarios


Primary Input -> FF FF Primary Output Self-loop paths Primary Input FF, where Primary Input has input_delay with respective to generated_clock
PAGE 12

COPYRIGHT 2011, CADENCE DESIGN SYSTEMS, INC.


ALL RIGHTS RESERVED.

Application Note for Location Based On-Chip Variation (LOCV)

FF Primary Output, where Primary Output has output_delay with respective to generated_clock

Primary Input FF

No clock branch point. Primary Input is not counted. Stage count for Data path for cells is 5 Stage count for clock path is 3

FF Primary Output

There is no capture register nor its clock line, so bounding box cannot be defined. So chip size is used as distance for table look-up. Stage count will be considered to be 4 for data path and for clock path it will be 0

COPYRIGHT 2011, CADENCE DESIGN SYSTEMS, INC.


ALL RIGHTS RESERVED. PAGE 13

Application Note for Location Based On-Chip Variation (LOCV)

Self-loop paths

There is no separate capture clock path, so bounding box cannot be defined. So chip size is used as distance for table look-up. Data path stage count is 2 Since clock branch point is same register clock-pin, clock path stage count is 0

Primary Input FF, where Primary Input has input_delay with respective to generated_clock

clock path: branch point FF data path: (branch point CLKG) + (PI FF) Bounding box: clock path, data path, PLL, PI, FF

COPYRIGHT 2011, CADENCE DESIGN SYSTEMS, INC.


ALL RIGHTS RESERVED. PAGE 14

Application Note for Location Based On-Chip Variation (LOCV)

FF Primary Output, where Primary Output has output_delay with respective to generated_clock

clock path: branch point CLKG data path: branch point FF PO Bounding box: Chip size

LOCV analysis in MMMC Commands with view option Example script

Commands with -view option read_locvlib -view <view_name> select_locv_table view <view_name> set_guard_band_derate view <view_name> report_timing view <view_name> -retime locv

Example script
loadConfig test.conf source floorplanned.enc setAnalysisMode -analysisType onChipVariation -checkType setup -asyncChecks async \ -clockPropagation sdcControl create_library_set -name slow -timing slow.lib create_library_set -name fast -timing fast.lib create_delay_corner -name dc_min -library_set fast create_delay_corner -name dc_max -library_set slow create_constraint_mode -name mode1 -sdc_files temp.sdc create_analysis_view -name view1 -delay_corner dc_min -constraint_mode mode1 create_analysis_view -name view2 -delay_corner dc_max -constraint_mode mode1 set_analysis_view -setup {view1 view2} -hold { view1 view2} read_locvlib OCV_lib_MAX.locv_lib -view view1 select_locv_table -view view1 -setup max -hold max set_guard_band_derate -late 0.5 -early 0.3 -view view1 COPYRIGHT 2011, CADENCE DESIGN SYSTEMS, INC.
ALL RIGHTS RESERVED. PAGE 15

Application Note for Location Based On-Chip Variation (LOCV)

read_locvlib -view view2 OCV_lib_MIN.locv_lib select_locv_table -view view2 -setup min -hold min set_guard_band_derate -late 0.6 -early 0.2 -view view2 placeDesign optDesign -preCTS clockDesign optDesign -postCTS routeDesign -globalDetail report_timing -late -from i_2/CK -path_type full_clock -retime locv derate_summary \ -format {instance cell delay arrival locv_derate} -view view1 report_timing -early -from i_2/CK -path_type full_clock -retime locv derate_summary \ -format {instance cell delay arrival locv_derate} -view view2

COPYRIGHT 2011, CADENCE DESIGN SYSTEMS, INC.


ALL RIGHTS RESERVED. PAGE 16

Potrebbero piacerti anche