11 Robust Verification
11 Robust Verification
11 Robust Verification
西南交通大学信息科学与技术学院
On-Chip Variations
i. IR drop variation along the die area affecting the local power supply.
ii.Voltage threshold variation of the PMOS or the NMOS device.
iii. Channel length variation of the PMOS or the NMOS device.
iv. Temperature variations due to local hot spots.
v. Interconnect metal etch or thickness variations impacting the interconnect resistance or
capacitance.
The PVT variations described above are referred to as On-Chip Variations (OCV) and these
variations can affect the wire delays and cell delays in different portions of the chip.
Copyright © 2018 芃苇_PengV. All Rights Reserved.
On-Chip Variations
Since the clock and data paths can be affected differently by the OCV, the
timing verification can model the OCV effect by making the PVT conditions for
the launch and capture paths to be slightly different.
The STA can include the OCV effect by derating the delays of specific paths, that
is, by making those paths faster or slower and then validating the behavior of
the design with these variations.
The cell delays or wire delays or both can be derated to model the effect of
OCV. Copyright © 2018 芃苇_PengV. All Rights Reserved.
On-Chip Variations
We now examine how the OCV derating is done for a setup check.
The worst condition for setup check occurs when the launch clock path and the data path have the OCV
conditions which result in the largest delays, while the capture clock path has the OCV conditions which
Copyright © 2018 芃苇_PengV. All Rights Reserved.
result in the smallest delays.
On-Chip Variations
For this example, here is the setup timing check condition; this does not include
any OCV setting for derating delays.
The above path delays correspond to the delay values without any OCV
derating. Cell and net delays can be derated using the set_timing_derate
specification.
For example, the commands:
set_timing_derate -early 0.8
set_timing_derate -late 1.1
The derating factors apply uniformly to all net delays and cell delays.
If an application scenario warrants different derating factors for cells and nets,
the -cell_delay and the -net_delay options can be used in the
set_timing_derate specification.
With these derating values, we get the following for setup check:
LaunchClockPath = 2.0 * 1.2 = 2.4
MaxDataPath = 5.2 * 1.2 = 6.24
CaptureClockPath = 2.06 * 0.9 = 1.854
Tsetup_UFF1 = 0.35 * 1.1 = 0.385
This results in a minimum clock period of:
2.4 + 6.24 – 1.854 + 0.385 = 7.171ns
In the setup check above, there is a discrepancy since the common clock
path of the clock tree, with a delay of 1.2ns, is being derated differently for
the launch clock and for the capture clock.
This part of the clock tree is common to both the launch clock and the
capture clock and should not be derated differently.
Applying different derating for the launch and capture clock is overly
pessimistic as in reality this part of the clock tree will really be at only one PVT
condition, either as a maximum path or as a minimum path (or anything in
between) but never both at the same time.
The common point is defined as the output pin of the last cell in the common
portion of the clock tree.
The Latest and Earliest times in the above analysis are in reference to the OCV derating at a
specific timing corner - for example worst-case slow or best-case fast.
Applying the OCV derating has increased the minimum clock period from
5.49ns to 6.811ns for this example design.
This illustrates that the OCV variations modeled by these derating factors can
reduce the maximum frequency of operation of the design.
If the setup timing check is being performed at the worst-case PVT condition,
no derating is necessary on the late paths as they are already the worst possible.
However, derating can be applied to the early paths by making those paths
faster by using a specific derating, for example, speeding up the early paths by
10%.
The above derate settings are for max path (or setup) checks at the worstcase
slow corner; thus the late path OCV derate setting is kept at 1.0 so as not to slow
it beyond the worst-case slow corner.
Here is the setup timing check path report performed at the worst-case slow
corner. The derating used by the late paths are reported as Max Data Paths
Derating Factor and as Max Clock Paths Derating Factor.
The derating used for the early paths is reported as Min Clock Paths Derating
Factor.
The cell UCKBUF0 is on the common clock path, that is, on both the capture
clock path and the launch clock path.
Since the common clock path cannot have a different derating, the difference
in timing for this common path, 56ps - 45ps = 11ps, is corrected separately.
On-Chip Variations
If the PVT conditions are different along the chip, the worst condition for hold
check occurs:
when the launch clock path and the data path have OCV conditions which
result in the smallest delays, that is, when we have the earliest launch clock, and
the capture clock path has the OCV conditions which result in the largest
delays, that is, has the latest capture clock
The hold timing check is specified in the following expression for this example.
Applying the delay values in the Figure 10-2 to the expression, we get (without applying any derating):
LaunchClockPath = 0.25 + 0.6 = 0.85
MinDataPath = 1.7
CaptureClockPath = 0.25 + 0.75 = 1.00
Thold_UFF1 = 1.25
In general, the hold timing check is performed at the best-case fast PVT corner.
In such a scenario, no derating is necessary on the early paths, as those paths
are already the earliest possible.
However, derating can be applied on the late paths by making these slower by a
specific derating factor, for example, slowing the late paths by 20.
Notice that the late paths are derated by +20% while the early paths are not derated. See cell
UCKBUF0.
Its delay on the launch path is 56ps while the delay on the capture path is 67ps - derated by
+20%.
UCKBUF0 is the cell on the common clock tree and thus the pessimism introduced due to
different derating on this common clock tree is, 67ps - 56ps = 11ps, which is accounted for
separately on the line clock reconvergence pessimism.