Beyond the Derate: OCV vs AOCV vs POCV in STA
1. Why Do We Need Variation Modeling?
Variation in CMOS processes stems from two sources:
- Global Variation: Systematic differences across the wafer (oxidation thickness, lithography focus). Affects all transistors similarly.
- Local Variation: Random differences between neighboring transistors (Random Dopant Fluctuations, Line Edge Roughness). Spatially uncorrelated.
The goal: Capture the worst-case delay caused by variation — without adding excessive guardband that wastes area and power.
2. OCV — The "Blunt Instrument"
Standard OCV applies a global, fixed margin to all timing paths via delay derating:
Critical flaw — correlation ignorance: OCV treats a 5-cell path inside a small block exactly the same as a 100-cell path crossing half the die. Short paths get far more margin than statistically needed, causing false violations and over-design.
3. AOCV — The Statistical Standard
AOCV uses foundry sigma (σ) tables and recognizes that local variation accumulates with path length. The margin scales with the number of stages:
The √N term is key: margin grows with path length, but at a decreasing rate. Short paths get small margins; long paths get proportionally larger ones.
- ✅ Industry standard for 28nm → 7nm
- ✅ Significantly de-pessimized vs. OCV
- ⚠️ Path-based only — blind to physical location on the die
4. POCV — The Precision Tool
POCV moves from path-level to cell-level analysis. Each cell gets a unique sigma based on its exact location, local environment, and spatial correlation:
Where wi is a correlation weight based on cell positions. This captures local spatial variation that AOCV cannot see.
- ✅ Highest accuracy, least pessimism — essential at 5nm/3nm/2nm
- ⚠️ Complex setup, slower runtime, requires detailed foundry parametric files
5. Comparison Table
| Feature | OCV | AOCV | POCV |
|---|---|---|---|
| Granularity | Global (whole chip) | Path-based (statistical) | Cell-based (parametric) |
| Local variation | ❌ Not captured | ⚠️ Approximated (√N) | ✅ Fully captured |
| Pessimism | High | Medium | Low |
| Runtime | Fast | Moderate | Slow |
| Typical node | >65nm | 28nm–7nm | 7nm and below |
| Data required | User derates | Foundry sigma tables | Per-cell sigma maps |
6. Worked Example: Setup & Hold
Setup (long path): data arrives too late → variation must worsen the data path. Hold (short path): data arrives too early → variation must shrink the data path.
Setup Analysis — Long Path (Ddata = 950ps, Tclk = 1000ps, Tsetup = 50ps)
| Method | Margin | Final Delay | Slack | Result |
|---|---|---|---|---|
| Nominal | 0 | 950ps | 0ps | Critical |
| OCV (3%) | +28.5ps | 978.5ps | −28.5ps | FAIL |
| AOCV (3σ) | +30ps | 980ps | −30ps | FAIL |
| POCV | +25ps | 975ps | −25ps | FAIL (least pessimistic) |
Hold Analysis — Short Path (Ddata = 60ps, Thold = 55ps)
| Method | Margin | Final Delay | Slack | Result |
|---|---|---|---|---|
| Nominal | 0 | 60ps | 5ps | Pass |
| OCV (3%) | −1.8ps | 58.2ps | 3.2ps | Pass |
| AOCV (3σ) | −6ps | 54ps | −1ps | FAIL |
| POCV | −4ps | 56ps | 1ps | Pass (tight) |
7. Practical Tips
- Never sign off with plain OCV below 28nm — it is too coarse.
- Monitor AOCV hold fails: many new hold violations after switching from OCV? Check your sigma tables and correlation length.
- POCV saves power: fewer buffers, smaller hold-fix delay cells, tighter clock trees.
- A "fail" in OCV may be a "pass" in AOCV — always know which methodology your report uses.
Bottom line: OCV = simple but pessimistic. AOCV = balanced statistical approach. POCV = maximum precision for advanced nodes. Choose based on your node, data availability, and accuracy needs.
Enjoyed this article?
For more tutorials on STA, RTL Design, CDC, and VLSI — visit my blog:
Visit RTL Digital Design →
No comments:
Post a Comment