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

Advertisement


< https://www.edn.com/>

DESIGN < HTTPS://WWW.EDN.COM/CATEGORY/DESIGN/>

DESIGN HOW-TO < HTTPS://WWW.EDN.COM/CATEGORY/DESIGN/DESIGN-HOW-TO/>

Parametric on-chip variation: A step towards accurate timing analysis

AUGUST 7, 2019 < HTTPS://WWW.EDN.COM/PARAMETRIC-  COMMENTS 2 <


ON-CHIP-VARIATION-A-STEP-TOWARDS-ACCURATE- HTTPS://WWW.EDN.COM/PARAMETRIC-
TIMING-ANALYSIS/> ON-CHIP-VARIATION-A-STEP-TOWARDS-
BY MAITRY RAMESH ACCURATE-TIMING-
ANALYSIS/#COMMENTS>

Today, the semiconductor market is flooding with demands of high speed, low power, and highly reliable SoCs, due to
the rapid growth of IoT, networking, AI, and more.

To accommodate more functionality on a single chip, the semiconductor industry is shrinking down the transistor
technology at every node. But this technology gain comes with a great deal of challenges, in terms of reliability,
manufacturability, and design complexity. One of the primary challenges is variation in manufacturing parameters,
namely random and systematic variations.

To model these parameter variations, a few engineers came up with the on-chip variation (OCV) model. The concept of
OCV was first introduced in technology nodes above 90nm. The fundamental idea behind OCV is to apply global
derates on the whole design irrespective of the type of cells, its individual variation or its slew-load conditions. But this
simple concept became ineffective in lower technology nodes. Unfortunately, global derates make the design too
optimistic for shorter paths and too pessimistic for longer paths. Subsequently, expected results are not accurate and
reliable enough, which affects the performance of the chip.

In order to overcome the extra pessimism added due to OCV, advanced on-chip variation (AOCV) technique
was introduced for nodes below 65nm. AOCV technique adds derates in the design based on the logic depth
and distance of the cell in the timing path. The depth of the cell models the random variation component, while
distance (location) of the cell in the path models systematic variation of the cells. But below 40nm, this method
too becomes inaccurate as it cannot further reduce pessimism. To address the shortcomings of AOCV,
parametric on-chip variation (POCV) evolved.

POCV

In POCV, instead of applying a specific derating factor to a cell, cell delay is calculated based on a delay
variation of that cell. This delay variation (σ ) for each cell is obtained through Monte-Carlo HSPICE simulation.
The variation value σ is a unique value specific to that library cell.

Some of the terminologies used for POCV analysis are briefly explained below:

[4] In a
Normal distribution curve : Data distribution for any entity can be spread out in different ways.
normal distribution curve, the data tends to be around a central value with no bias on the left or right, as shown
in Figure 1 .

For POCV, it is assumed that the nominal delay (expected delay) value of a cell follows a normal distribution
curve. The delay value of the cell is calculated after many experiments and their mean is taken as the nominal
delay.

This website uses cookies. By continuing to browse it, you are agreeing to Close and accept
our use of cookies More info < https://aspencore.com/privacy-policy/>
Figure 1 Normal distribution curve

Standard deviation (σ ): For a normal distribution curve, data tends to be denser in the center and less
dense on the edges as shown in Figure 1. In order to measure the variations from the mean, the metric named
standard deviation (σ) is used. It measures how far any data value deviates from the mean. If the delay values
of the cell deviate from the nominal value to the left or right by any amount, then more changes in the timing of
that cell are expected. This deviation of the delay from its expected value is modeled using σ, as shown in
Figure 2 .

Figure 2 Standard deviation of the data from the mean


[5]
The normal distribution curve obeys the following rules :

– About 68% of the area under the curve falls within 1σ of the mean.
– About 95% of the area under the curve falls within 2σof the mean.
– About 99.7% of the area under the curve falls within 3σ of the mean.

POCV analysis

POCV uses a nominal value for modeling random variations on the die instead of using min-max delay values
for timing arc. When using min-max values to model delay variations, there is a probability of actual delay
falling anywhere between the min-max extremes. While in POCV, there are maximum chances of the delay
occurring near the nominal value and fewer chances of falling farther away from it. POCV calculates the arrival
time and required time statistically instead of using the min-max values. Hence, the results are less pessimistic
[1]
and more accurate.

POCV analysis uses nominal delay (μ) and variation (σ) for timing analysis in the following way:

1. The tool takes the value of σ from the timing library or an external file containing POCV coefficient
C.
This website uses cookies. By continuing to browse it, you are agreeing to Close and accept
our use of cookies More info < https://aspencore.com/privacy-policy/>
2. Each arc timing is then calculated statistically as the total of the nominal delay and the variation.
3. The tool then calculates the delay of the path by statistically combining these arc delays and then
checks whether the chip works at the expected frequency.

By default, the tool performs POCV analysis at three standard deviations (3σ ) from the mean. One can specify
the number of standard deviations to be used for delay calculation. Increasing the value of standard deviations
tightens the timing requirement making it more pessimistic.

POCV data-types

[2]
The input for the delay variation σ can be provided to the tool for POCV analysis in two different formats:

Using single coefficient (C): This external file contains the coefficients for delay variation. It applies a single
coefficient value C for each library cell, hierarchical cell or design. The coefficient is the value of the variation
at 1 standard deviation from the nominal delay. Monte Carlo analysis is used to get the POCV coefficients.
There is only one value of C for each timing arc of the cell irrespective of the input transition and output load.
The delay variation σ = C * nominal delay
[1]

Example of POCV coefficient file:

version: 4.0

ocvm_type: pocvm

object_type: lib_cell

rf_type: rise fall

delay_type: cell

derate_type: early

object_spec: */INV*

coefficient: 0.0693

ocvm_type: pocvm

object_type: lib_cell

rf_type: rise fall

delay_type: cell

derate_type: late

object_spec: */INV*

coefficient: 0.0693

[2]
Library variation format (LVF): The information of POCV variation is directly provided in the library itself. The
variations are loaded in the design by loading the library. It contains the value of variation ?? for multiple slew-
load conditions of the cell instead of a single value of C. Using this format greatly improves the accuracy of the
design at 16nm and below nodes. Similar to cell delay check, LVF supports POCV coefficients for transition
and setup-hold checks as well.

Example
This of POCV
website LVFcookies.
uses format for By
cell continuing
delay: to browse it, you are agreeing to Close and accept
our use of cookies More info < https://aspencore.com/privacy-policy/>
ocv_sigma_cell_rise (delay_template_7x7) {
sigma_type: early;

index_1 (“0.002, 0.00461012, 0.0106266, 0.0244949, 0.0564622, 0.130149, 0.3”);

index_2 (“0.0001, 0.00250277, 0.00625692, 0.0156423, 0.0391057, 0.0977643, 0.244411”);

values (

“0.000434399, 0.000455441, 0.000498544, 0.000643925, 0.00110701, 0.002339, 0.00552623”,

“0.000465907, 0.000485971, 0.000527015, 0.000666568, 0.00111898, 0.002343, 0.00552553”,

“0.000559323, 0.000576732, 0.00061235, 0.000736174, 0.00115814, 0.00235789, 0.0055262”,

“0.000833633, 0.000845754, 0.000870591, 0.00096033, 0.00130148, 0.00242147, 0.00553974”,

“0.00155978, 0.00156506, 0.00157629, 0.00161976, 0.00181337, 0.00270592, 0.00563372”,

“0.00297234, 0.00297538, 0.0029818, 0.00300669, 0.00312188, 0.00374041, 0.00625192”,

“0.00634754, 0.00635019, 0.00635524, 0.00637265, 0.00644564, 0.00682909, 0.00862102”

);

ocv_sigma_cell_rise (delay_template_7x7) {

sigma_type: late;

index_1 (“0.002, 0.00461012, 0.0106266, 0.0244949, 0.0564622, 0.130149, 0.3”);

index_2 (“0.0001, 0.00250277, 0.00625692, 0.0156423, 0.0391057, 0.0977643, 0.244411”);

Values (

“0.000437286, 0.000457105, 0.000497985, 0.000637304, 0.00108629, 0.00232209, 0.00552685”,

“0.000472301, 0.000491262, 0.000530344, 0.000664675, 0.0011057, 0.00233411, 0.0055369”,

“0.000574762, 0.000591464, 0.000625872, 0.000746679, 0.00116358, 0.00236878, 0.00556326”,

“0.000870467, 0.00088302, 0.000908713, 0.00100148, 0.0013543, 0.00248368, 0.0056407”,

“0.00164304, 0.00165109, 0.00166724, 0.00172592, 0.00197057, 0.0029014, 0.0059028”,

“0.00310016, 0.00310792, 0.00312195, 0.00316698, 0.00333794, 0.00397815, 0.00652495”,

“0.00660483, 0.00661643, 0.00663544, 0.00668762, 0.00684624, 0.00721525, 0.0089517”

This website uses cookies. By continuing to browse it, you are agreeing to Close and accept
our use
); of cookies More info < https://aspencore.com/privacy-policy/>
ocv_sigma_rise_transition (delay_template_7x7) {

sigma_type: early;

index_1 (“0.002, 0.00461012, 0.0106266, 0.0244949, 0.0564622, 0.130149, 0.3”);

index_2 (“0.0001, 0.00250277, 0.00625692, 0.0156423, 0.0391057, 0.0977643, 0.244411”);

values (

“0.000100569, 0.000134978, 0.000229249, 0.00050401, 0.00121671, 0.002993, 0.00743829”,

“0.000100892, 0.000134484, 0.000227994, 0.000501646, 0.00121207, 0.00298969, 0.00743821”,

“0.00010187, 0.000133514, 0.000225182, 0.000496229, 0.00120143, 0.00298208, 0.00743812”,

“0.000105258, 0.000132198, 0.000219147, 0.00048392, 0.00117714, 0.00296469, 0.00743831”,

“0.000118334, 0.000133252, 0.000207293, 0.000456511, 0.00112259, 0.00292568, 0.00744099”,

“0.000168981, 0.000168312, 0.000220293, 0.000457211, 0.00113847, 0.00304919, 0.00783808”,

“0.000309985, 0.00029017, 0.000296889, 0.000480193, 0.00118862, 0.0033512, 0.00879209”

);

Typically, index_1 denotes input transition and index_2 denotes output load.

Example of POCV LVF format for cell transition:

ocv_sigma_rise_transition (delay_template_7x7) {

sigma_type : late;

index_1 (“0.002, 0.00461012, 0.0106266, 0.0244949, 0.0564622, 0.130149, 0.3”);

index_2 (“0.0001, 0.00250277, 0.00625692, 0.0156423, 0.0391057, 0.0977643, 0.244411”);

Values (

“0.000101973, 0.000136203, 0.000229893, 0.000503623, 0.00121432, 0.00298556, 0.00741802”,

“0.000101225, 0.000134939, 0.00022865, 0.000502868, 0.00121478, 0.00298412, 0.00741178”,

“9.97202e-05, 0.000132145, 0.000225846, 0.000501159, 0.00121589, 0.00298082, 0.00739744”,

“9.75555e-05, 0.000126401, 0.000219724, 0.000497394, 0.00121862, 0.00297336, 0.00736471”,

“9.97943e-05, 0.000118493, 0.000208207, 0.000489711, 0.00122584, 0.00295674, 0.00729086”,

This“0.000140894,
website uses cookies.
0.000144669, By continuing
0.000213026, to browse
0.000477088, it, you
0.00120078, are agreeing
0.0029501, to
0.00733229”,
Close and accept
our use of cookies More info < https://aspencore.com/privacy-policy/>
“0.000284099, 0.000264038, 0.000279106, 0.000470411, 0.00116213, 0.0029572, 0.00747957”
);

Typically, index_1 denotes input transition and index_2 denotes output load.

If both data-types are present in the design then by default the file with POCV single coefficient has higher
precedence than POCV slew-load table in LVF format.

POCV delay calculation

POCV works on a path by path basis. The delay is calculated as follows:

Delay of cell = Nominal delay +/- Variation – – – > equation (1)

= Nominal delay +/- (C*Nominal delay)*N – – – > equation (2)

where C = POCV coefficient

N = No. of standard deviations

The value of variation is added or subtracted from the nominal delay for maximum and minimum delay analysis
[2]
respectively.

The detailed calculation for POCV is explained with the help of Primetime timing report as follows:

Sigma: 3.0

——— Incr ————- ——- Path ———

Point Mean Sensit Corner Value Mean Sensit Value

————————————————————————————–

clock clk (rise edge) 0.00 0.00

clock network delay (propagated) 0.379 0.005 0.393 0.393 0.379 0.005 0.393

reg/phi 0.000 0.000 0.000 0.000 0.379 0.005 0.393 r

reg/q 0.098 0.004 0.111 0.103 0.477 0.006 & 0.496 f

NAND/i2 0.004 0.000 0.005 0.004 0.482 0.006 & 0.501 f

NAND/o 0.102 0.008 0.126 0.113 0.584 0.010 & 0.614 r

NOR/i0 0.007 0.000 0.008 0.007 0.591 0.010 & 0.622 r

NOR/o 0.143 0.010 0.175 0.157 0.735 0.015 & 0.778 f

AOI/i1_0 0.024 0.001 0.028 0.025 0.759 0.015 & 0.803 f

This website uses cookies. By continuing to browse it, you are agreeing to Close and accept
AOI/o 0.112 0.013 0.152 0.127 0.871 0.020 & 0.930 r
our use of cookies More info < https://aspencore.com/privacy-policy/>
NAND1/i3 0.010 0.000 0.010 0.010 0.881 0.020 & 0.940 r

NAND1/o 0.083 0.005 0.100 0.086 0.964 0.020 & 1.025 f

NOR1/i3 0.018 0.000 0.018 0.018 0.982 0.020 & 1.044 f

NOR1/o 0.161 0.008 0.185 0.166 1.143 0.022 & 1.209 r

NAND2/i2 0.061 0.000 0.061 0.061 1.204 0.022 & 1.270 r

NAND2/o 0.087 0.009 0.114 0.092 1.290 0.024 & 1.362 f

AOI1/i2 0.002 0.000 0.002 0.002 1.293 0.024 & 1.364 f

AOI1/o 0.072 0.004 0.084 0.073 1.365 0.024 & 1.437 f

BUF1/i 0.001 0.000 0.001 0.001 1.365 0.024 & 1.438 f

BUF1/o 0.085 0.004 0.098 0.086 1.450 0.025 & 1.524 f

BUF2/i 0.015 0.001 0.019 0.015 1.465 0.025 & 1.539 f

BUF2/o 0.076 0.005 0.092 0.078 1.541 0.025 & 1.617 f

BUF3/i 0.013 0.001 0.017 0.014 1.555 0.025 & 1.630 f

BUF3/o 0.098 0.006 0.115 0.100 1.653 0.026 & 1.730 f

reg/d 0.014 0.001 0.018 0.014 1.667 0.026 & 1.745 f

data arrival time 1.667 0.026 1.745

clk (rise edge) 1.538 1.538 1.538 0.000 1.538

clock network delay (propagated) 0.349 0.005 0.335 0.335 1.887 0.005 1.873

clock reconvergence pessimism 0.006 -0.004 0.018 0.012 1.893 0.003 1.886

inter-clock uncertainty -0.093 -0.093 1.800 0.003 1.793

reg/phi 0.000 0.000 0.000 0.000 1.800 0.003 1.793

library setup time -0.046 0.006 -0.063 -0.057 1.754 0.006 1.735

data required time 1.754 0.006 1.735

————————————————————————————————————————-

data required time 1.754 0.006 1.735

data arrival time -1.667 0.026 -1.745

This website uses cookies. By continuing to browse it, you are agreeing to
————————————————————————————————————————-
Close and accept
our use of cookies More info < https://aspencore.com/privacy-policy/>
statistical adjustment 0.017 0.007
slack (MET) 0.087 0.027 0.007

Some of the terms in the timing report are explained as below:

Incr Column: Delay calculation for that specific stage

Path Column: Total delay of the path up to that stage

Mean : Nominal delay (Delay without POCV coefficient applied)

Sensit : Sensitivity (Value of variation due to POCV coefficient at 1 sigma corner)

Sensit = Mean *POCV coefficient(C) – – -> equation (3)

Corner : Delay value after POCV calculation

[1]
Corner = mean +/- N*Sensit – – -> equation (4)

where N = total no. of standard deviations

Incr value : Current stage path value – Previous stage path value – – -> equation (5)

Mean for Path column: mean_1st_stage + mean_2nd_stage +…+ mean_current_stage

– – – > equation (6)

Sensit for Path column: sqrt [sensit_1st_stage^2 + sensit_2nd_stage^2 + …. +

sensit_current_stage^2] – – – > equation (7)

Path value : Path mean + [Path sensit*N] – – -> equation (8)

The POCV calculation for the highlighted line is explained below:

——— Incr ————- ——- Path ———

Point Mean Sensit Corner Value Mean Sensit Value

————————————————————————————–

NAND/i2 0.004 0.000& 0.005 0.004 0.482 0.006 0.501 f

NAND/o 0.102 0.008 0.126 0.113 0.584 0.010 & 0.614 r

This website uses cookies. By continuing to browse it, you are agreeing to Close and accept
our use of cookies More info < https://aspencore.com/privacy-policy/>
Figure 3 Calculations for incr column for the above example

Figure 4 Calculations for path column for the above example

As seen from above, the delay calculation for the path [mean and sensit] is done statistically. Sensit is
calculated by using RSS value. This reduces extra pessimism in the path as compared to simply adding the
sensit values. By simple addition, the total sensit value of the path will be 0.017 as opposed to 0.010 calculated
using RSS.

AOCV distance derates in POCV

POCV models the random variations on the chip. In order to model systematic variations as well, distance
based AOCV derating is used along with POCV. Distance derates are provided in a similar LVF format in library.
POCV coefficient and distance derates are mutually exclusive. Distance-based derates are usually generated
[1]
from silicon data measurements from the test chip.

An example of AOCV table:

version: 4.0

ocvm_type: pocvm

object_type: lib_cell

rf_type: rise fall


This website uses cookies. By continuing to browse it, you are agreeing to Close and accept
our use of cookies More info < https://aspencore.com/privacy-policy/>
delay_type: cell
derate_type: early

object_spec: */*INV*

distance: 0 250000 1000000 2250000 4000000 6250000 9000000 12000000 16000000 20000000 30000000

table: 1.025 1.025 1.025 1.025 1.025 1.025 1.025 1.025 1.025 1.025 1.025

ocvm_type: pocvm

object_type: lib_cell

rf_type: rise fall

delay_type: cell

derate_type: late

object_spec: */*INV*

Distance: 0 250000 1000000 2250000 4000000 6250000 9000000 12000000 16000000 30000000

table: 1.025 1.054 1.065 1.074 1.082 1.089 1.095 1.100 1.105 1.110 1.119

Guard-banding in POCV

To model non-process related variations such as voltage and temperature, guard banding is used. It applies to
both nominal delay and sigma.

When both derates; distance-based and guard band are present then total derate will be the product of the two.
[POCV distance derate * POCV guard band].

The two most used timing closure methodologies can be compared as follows:

2 C O M M E N T S O N “ PA R A M E T R I C O N - C H I P VA R I AT I O N : A S T E P T O WA R D S A C C U R AT E
T I M I N G A N A LY S I S ”
This website uses cookies. By continuing to browse it, you are agreeing to Close and accept
our use of cookies More info < https://aspencore.com/privacy-policy/>
Maitry Ramesh
August 16, 2019

“In figure 3, nnAs per equation(3), nSensit=0.102*0.0784n =0.008nnAs per equation 4,nCorner=[(0.008*3) + 0.102]n
=0.126nnIn figure 4,nnAs per equation(6),nMean=[0.379 + 0.098 + 0.004 + 0.102]n =0.584nnAs per equat

 Log in to Reply

hrfootprints
August 23, 2019

“Excellent content for know more related details nkeep in stay below active linknhttp://www.hrfootprints.comn”

 Log in to Reply

L EAVE A REPLY

You must Sign in < https://login.aspencore.com/d045a02d-767d-4f3f-80d7-695dce25d142/login/authorize?


response_type=code&scope=profile%20email%20openid&client_id=cf5f876c-2b69-4672-892d-
1a3f9cd881ea&state=b60eb80bd0e2d51752883e59775e8c2d&redirect_uri=https%3A%2F%2Fwww.edn.com%2Fopenid-
connect-authorize> or Register < https://login.aspencore.com/d045a02d-767d-4f3f-80d7-695dce25d142/login/authorize?
response_type=code&scope=profile%20email%20openid&client_id=cf5f876c-2b69-4672-892d-
1a3f9cd881ea&state=e4575c36e7c698d637f2b366409b5557&redirect_uri=https%3A%2F%2Fwww.edn.com%2Fopenid-
connect-authorize> to post a comment.

P R E V I O U S P O S T < H T T P S : / / W W W. E D N . C O M / H O W- M U C H - N O I S E - D O E S - Y O U R - R E S I S TO R - R E A L LY-
PRODUCE/>
N E X T P O S T < H T T P S : / / W W W. E D N . C O M / W I L B U R - W R I G H T- M A K E S - 1 S T- P U B L I C - F L I G H T- A U G U S T- 8 -
1908/>

Advertisement

< https://www.datasheets.com/?
utm_source=edn.com&utm_medium=DS-Widget>

LOOKING FOR
DATASHEETS?
Enter Part Number

This website uses cookies. By continuing to browse it, you are agreeing to Close and accept
our use of cookies More info < https://aspencore.com/privacy-policy/>
PARTNER CONTENT

Meet with Deep Tech


Taiwan at CES 2022

06.01.2022

AI Applications in
Smart City & Smart
Transportation
provided by EverFocus
03.01.2022

Powering A Great
Night’s Sleep For
Infrastructure
Managers
10.12.2021

Recent Posts

Fractured wires and automotive safety < https://www.edn.com/fractured-wires-and-automotive-safety/> / Intel updates oneAPI
development kits < https://www.edn.com/intel-updates-oneapi-development-kits/> / Nanotube sensors spark new use cases <
https://www.edn.com/nanotube-sensors-spark-new-use-cases/> / A closer look at Covid and the semiconductor shortage saga in 2021 <
https://www.edn.com/a-closer-look-at-covid-and-the-semiconductor-shortage-saga-in-2021/> / GaN ICs fortify mobile fast chargers <
https://www.edn.com/gan-ics-fortify-mobile-fast-chargers/>

Archives

Select Month

Categories

Select Category

This website uses cookies. By continuing to browse it, you are agreeing to Close and accept
our use of cookies More info < https://aspencore.com/privacy-policy/>
PODCAST

1:04:29

Consciousness
Revisited

In this rebroadcast of a Weekly


Briefing podcast from earlier in

LISTEN VIEW ALL


EPISODES

Advertisement

Search …

SEARCH

This website uses cookies. By continuing to browse it, you are agreeing to Close and accept
our use of cookies More info < https://aspencore.com/privacy-policy/>
PARTNER CONTENT

Meet with Deep Tech


Taiwan at CES 2022

06.01.2022

AI Applications in
Smart City & Smart
Transportation
provided by EverFocus
03.01.2022

Powering A Great
Night’s Sleep For
Infrastructure
Managers
10.12.2021

Recent Comments

John Louis Waugaman on Design second- and third-order Sallen-Key filters with one op amp < https://www.edn.com/design-second-and-
third-order-sallen-key-filters-with-one-op-amp/#comment-28702>

Arthur Pini on Measuring exponential time constant using an oscilloscope < https://www.edn.com/measuring-exponential-time-constant-
using-an-oscilloscope/#comment-28701>

VCF on Measuring exponential time constant using an oscilloscope < https://www.edn.com/measuring-exponential-time-constant-using-


an-oscilloscope/#comment-28700>

nuwix on How to achieve low standby power for an isolated power supply < https://www.edn.com/how-to-achieve-low-standby-power-for-
an-isolated-power-supply/#comment-28698>

Prash Prabhu on Teardown: Pixel Stand offers faster-than-Qi wireless charging for (some) Google fans < https://www.edn.com/teardown-
pixel-stand-offers-faster-than-qi-wireless-charging-for-some-google-fans/#comment-28695>

This website uses cookies. By continuing to browse it, you are agreeing to Close and accept
our use of cookies More info < https://aspencore.com/privacy-policy/>

You might also like