8 easy steps to compute OCV values
KeywordsOCV (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), VLSI characterization, timing variation model
What is OCV?
OCV stands for On-chip variation. OCV is a result of variation of process parameters and environmental conditions (like voltage and temperature) on-chip, hence the term on-chip variation. OCV is typically used during Static Timing Analysis (STA) to accommodate local variation for process nodes and environmental conditions above 65nm.
Generally, it is modeled as a simple derate number for data path, clock path, early path and late paths for rise and fall transitions and used as a blanket margin during timing analysis. OCV, therefore, requires no explicit characterization for all cells. A handful of cells forming a meaningful statistical group is selected to find the 8 OCV values.
Sources of OCV
Main sources of variation affecting integrated circuit’s performance are variation in process, voltage and temperature collectively known as PVT variation. Combination of PVT set giving extreme performance (minimum delay/slope and maximum delay/slope 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.
OCV is not part of liberty format or cell modeling per se for its simplified approach. Characterized OCV values are directly used as set of SDC or timing analyzer commands in their respective categories like data path, clock path, rise transition, fall transition, early analysis, late analysis etc.
8 Categories of OCV
OCV model aims to find a simple derate parameter for following categories
- Rise transition, Data path, Early analysis
- Rise transition, Data path, Late analysis
- Rise transition, Clock path, Early analysis
- Rise transition, Clock path, Late analysis
- Fall transition, Data path, Early analysis
- Fall transition, Data path, Late analysis
- Fall transition, Clock path, Early analysis
- Fall transition, Clock path, Late analysis
A simple method is using Monte-Carlo Simulation with statistical BSIM model for parameters responsible for random variation along with voltage and temperature limits. This setup is used to create a simulation testbench with representative data and clock cells to stimulate rise and fall transitions respectively in 4 different groups – one for each rise transition, fall transition, data path cell and clock path cell. Monte-Carlo transient simulations provide group of delay measurement for each of measurements. Mean (μ) and Sigma (σ) is computed for these group and derate is computed as 3-sigma distance from the mean value of delays. This gives as couple of 3-sigma values – one for early and other for late. Ratio of early and late 3-sigma distance w.r.t. mean delay is assigned as a derate value.
Figure: Early and Late Cell Delay Variation
8 Steps to find OCV
foreach cell_type (data clock):
foreach out_transition (rise fall):
find appropriate stimulus causing out_transition
add stimulus to the circuit under test
add appropriate voltage source to power, ground and DC inputs
perform Monte Carlo transient simulation
measure Mean (μ) and Sigma (σ) for the group
find derate value as a ratio of early and late 3-σ
Algorithm to find OCV values
As we shall see later in other blogs that mean μ and sigma σ of timing groups (like cell delay, cell transition time etc.) characteristics are the basis behind all variation models including OCV, AOCV, POCV, LOCV, SBOCV, SOCV and LVF.
For example, OCV models are created by dividing cells into 8 different categories. For each one of these categories, Monte-Carlo transient simulations is performed to provide group of delay measurement for each of measurements. Mean (μ) and Sigma (σ) is computed for these group and derate is computed as 3-sigma distance from the mean value of delays.
In this article, we reviewed plain old modeling of variation as OCV models. We discussed sources and characterization method for OCV. In the end we presented shortcoming of OCV. In the next few blogs, we’ll review how AOCV and other form of variation modeling addresses these models.