How does AOCV actually reduce pessimism compared to flat OCV derating, and what's the real cost of using it?
From PDVerse PnR Interview Handbook · pdVerse Mentor Guide
Short Answer
Flat OCV derating applies one derate factor to every cell/net delay in the early direction (hold) and one in the late direction (setup), regardless of path depth or distance -- simple but pessimistic, since it assumes worst-case variation compounds identically everywhere. AOCV (Advanced OCV) instead makes the derate factor a function of logic depth and/or physical distance, since variation statistically partially averages out over more stages/more distance -- less pessimistic, but it requires real AOCV characterization data (depth/distance-vs-derate tables) the library has to actually supply.
Technical Explanation
- Flat OCV derating applies one derate factor to every cell/net delay uniformly, regardless of path depth or physical distance -- simple, but pessimistic, since it assumes worst-case variation compounds identically at every single stage.
- AOCV (Advanced OCV) makes the derate factor a function of logic depth and/or physical distance instead, because variation statistically partially averages out over more stages or more distance rather than compounding fully in the worst direction every time.
- The real cost: AOCV requires actual characterization data -- depth/distance-vs-derate tables the library has to supply -- flat OCV needs no such library data, just two numbers (early/late derate factors).
- Two evaluation modes exist for AOCV: graph-based (fast, uses worst-case-merged path info, still somewhat pessimistic) and path-based (accurate, uses a real recalculated single path, more expensive).
- Flat OCV derating is applied with
set_timing_derate -early -cell_delay <value>/set_timing_derate -late -net_delay <value>; the AOCV-specific table-loading command (likelyread_ocvmor library-side AOCV tables) should be verified against the ICC2 Implementation User Guide before being asserted as exact syntax.
Common Mistake
The Trap: Assuming AOCV is a strictly better free upgrade over flat OCV derating -- it requires real library characterization data that flat OCV doesn't need, and without that data AOCV simply isn't available as an option.
Follow-up Question & Model Response
"Why would path-based AOCV be more accurate than graph-based AOCV specifically at a reconvergent point in the timing graph?"
Candidate Model Response: Because graph-based analysis merges worst-case delay/slew from different fanin paths at a reconvergent point without knowing the TRUE single-path depth that led there, while path-based analysis recalculates the actual specific path, giving it the real depth/distance to apply AOCV derating against.
Practical Example
Debug Scenario: A design signed off with flat OCV derating shows significant pessimism on deep, long paths compared to shallow ones -- switching to AOCV (once the library's depth/distance derate tables are confirmed available) recovers margin specifically on those deep paths without changing anything physical about the design.
Physical Design & Planning Handbook
Master ASIC Physical Design Planning & Floorplanning
Dive into 14 comprehensive chapters covering netlist sanity, FinFET grids, macro placement, power grids, CTS, and timing budgeting.
Continue practising