Blog‎ > ‎Characterization Blog‎ > ‎

Comparing AOCV to POCV variation model

posted Oct 25, 2017, 6:29 PM by Rohit Sharma   [ updated Nov 8, 2017, 5:32 PM ]
VLSI characterization timing variation  model
Keywords: OCV (On Chip Variation), AOCV (Advanced OCV), POCV (Parametric OCV), SOCV (Statistical OCV), LVF (Liberty Variation Format), CCS (Composite Current Source), NLDM (Non Linear Delay Model), STA (Static Timing Analysis)

Introduction

In this article we'll discuss performance variation modeling in integrated circuits (IC). 

What is variation?

Statistical variation measures how far a set of  numbers are spread out from their average value. In this article we'll focus our attention to IC performance variation.
Process Variation Distribution Example

Sources of variation affecting performance

Main source of variation affecting IC performance are Process, Voltage and Temperature collectively known as PVT. Combination of PVT set giving extreme performance (minimum delay, maximum delay, typical delay etc) is a global corner. Within this global corner, local variation parameters like etching process, mask alignment and optical proximity correction can vary performance noticeably. These local process variation parameters cause changes in transistor channel length, width, threshold voltage and oxide thickness, which in turn shows up as variation in delay and slew of a cell's timing arc of a single corner library.

What is OCV?

OCV stands for on-chip variation of IC process parameters. OCV is typically used during Static Timing Analysis (STA) to accommodate local variation for process nodes above 90nm. Generally, it is modeled using a simple derate number for data path, clock path, early path and late paths for rise and fall transitions during analysis phase and therefore require no model.

What is AOCV (aka SBOCV)?

AOCV stands for Advanced OCV and SBOCV stands for Stage Based OCV. To clarify the need for AOCV, consider two cases of single and multiple cells. Single cell in isolation exhibits larger delay variation compared to number of cells in a path. This is because some of the random variation effect tend to cancel out in group. For example if one inverter shows 5% variation in performance, 10 inverters connected together will show variation much less than 50%. Using one number (as in OCV for all cells) in STA results in pessimism. AOCV has been shown to reduce pessimism in node 65nm and below and is part of main stream sign-off methodology for nodes 40nm and below.
AOCV table contains derate numbers for cells used for data path, clock path, early path and late paths for rise and fall transitions.
Below is one example for AOCV table:

object_type : lib_cell
rf_type : rise
delay_type : cell
derate_type : late
path_type : data
object_spec : 10nmlib/BUF_X4
depth : 1 2 3 4 5 6 7 8 9 10
table: 1.183 1.145 1.122 1.109 1.0901 1.0801 1.0736 1.0650 1.0601 1.055
Example: AOCV derate table

Table above shows keywords and values for rf_type (rise or fall), derate_type (early or late), path (data or clock) and object_type (lib_cell or net). Last two indices depth and table representing stage depth of the path and applicable derate value for the path.
Picture below shows early derate (red color) and late derate (green color) numbers (on y-axix) as a function of no. of stages (on x-axis). Note that both these number tend to converge to 1.0 as number of stages go up. It manifests random variation cancellation with higher number of stages in the path. 
AOCV table for rise clock buffer path
Figure: early and late AOCV derate for clock path.

What is POCV?

POCV stands for Parametric On-Chip Variation. POCV was proposed to address shortcomings of AOCV/SBOCV for granularity, accuracy, Common path pessimism removal and half cycle paths. POCV eliminates the need for stages, path type and corner delay to find delay derate during characterization phase. It pushes these steps in to static timing analysis, thereby addressing shortcomings of AOCV/SBOCV.  POCV has been shown to reduce pessimism in node 20nm and below and is part of main stream sign-off methodology for nodes 16nm and below.

What is SOCV?

SOCV stands for statistical OCV, a term proposed by cadence design systems. It is simular to POCV

What is LVF?

LVF is a libertyTM extension for variation models proposed by LTAB at IEEE-ISTO. It attempts to unify all types of variation models including AOCV, SBOCV and POCV. It adds granularity to POCV by adding slope and load sensitivity.

ocv_sigma_cell_rise ("pocv_template_4x4") {
    sigma_type : "late";
    index_1("0.01, 0.04, 0.12, 0.80");
    index_2("0.01, 0.02, 0.03, 0.10");
    values( "σ11, σ12, σ13, σ14", \
            "σ21, σ22, σ23, σ24", \
            "σ31, σ32, σ33, σ34", \
            "σ41, σ42, σ43, σ44", );
}
Example: POCV sigma value in LVF format
Example above shows POCV sigma (σij) value in LVF format. Typically index1 is defined as slope axis and index2 is defined as load axis.

Comparing AOCV and POCV

AOCV (aka SBOCV)
POCV
delay derates delay sigma
NA slew sigma
constraint derates constraint sigma
logic stage based NA
derates for cell and transition sigma for each timing arc
NA sensitive to input slew (part of LVF)
NA sensitive to output load (part of LVF)
derate is multiplied for path delay sigma is looked for path delay
NA accurate modeling constraints like MPW and half cycle paths
 NAreduces pessimism for graph based STA and optimization
 NAenables mean and sigma reports for STA

Variation models usage

Graphic below shows usage of variation models by process nodes.
On-Chip Variation Model (OCV, AOCV, POCV) Usage over process nodes

Summary

In this article, we discussed variation and sources thereof. Later we discussed reasons for better modeling of variation giving us AOCV and further improvement in POCV. In the end we compared AOCV to POCV.
© Paripath Inc, 2017. Unauthorized use and/or duplication of this material without express and written permission from this blog’s owner is strictly prohibited. Excerpts and links may be used, provided that full and clear credit is given to Paripath Inc with url www.paripath.com and specific direction to the original content.