ExpertQuestion 274 of 111Source PDF page undefined

What specific failure mode does the nworst skew framework in multithreaded CTS fix, and why does it happen in the first place?

From PDVerse PnR Interview Handbook · pdVerse Mentor Guide

Short Answer

MTCTO (multithreaded CTS) minimizes global skew -- the gap between the longest and shortest clock path. If optimization stalls on the shortest path specifically, other paths remain under-optimized, because the algorithm's attention is consumed trying to fix the one extreme rather than distributing improvement across the whole distribution. cts.optimize.enable_nworst_skew_optimization addresses this by considering more than just the single worst-case pair.

Technical Reference DiagramWhat specific failure mode does the nworst skew framework in multithreaded CTS fix, and why does it happen in the first place?
What specific failure mode does the nworst skew framework in multithreaded CTS fix, and why does it happen in the first place?, illustrating the physical design concept.

Technical Explanation

  • MTCTO minimizes global skew, defined as the gap between the longest and shortest clock path in the tree.
  • The failure mode: if optimization stalls trying to fix the shortest path specifically, other paths remain under-optimized, because the algorithm's effort is consumed on one extreme case.
  • This happens because global-skew optimization, by definition, is driven by the worst-case pair -- and if that pair is hard to improve further, the optimizer can get stuck there while genuinely fixable paths elsewhere go untouched.
  • cts.optimize.enable_nworst_skew_optimization addresses this by considering multiple worst paths rather than fixating on the single extreme pair.

Formula Or Decision Rule

Default global-skew optimization can stall on the single shortest path; nworst skew optimization considers multiple worst paths instead of fixating on one extreme.

What To Check

  • Warning sign: MTCTO reports skew optimization has converged, but several individual leaf-to-leaf skew values still look worse than expected.
  • Inspect: check whether the reported global skew is being driven by a single stubborn worst-case pair that's masking under-optimization elsewhere.
  • Correct: enable cts.optimize.enable_nworst_skew_optimization and re-run to see whether previously-stalled paths improve.

Command Checks & Actions

ICC2set_app_options -name cts.optimize.enable_nworst_skew_optimization -value true

Considers multiple worst paths instead of the single global worst pair.

ICC2report_clock_qor -type local_skew

Reports worst local skew per group, useful for spotting paths the global-skew view alone would hide.

Healthy, Suspicious & Hard-stop Results

  • Expected: local skew improves broadly across the tree after enabling nworst skew optimization, not just at the single previously-worst pair.
  • Investigate: global skew looks converged, but report_clock_qor -type local_skew shows several paths still far from optimal -- a sign the optimizer may have stalled on one extreme.
  • Stop: nworst skew optimization is enabled and runtime increases substantially with no measurable local-skew improvement -- re-evaluate whether this specific design actually has the stall pattern this option addresses.

Common Mistake

The Trap: Assuming a stalled global-skew optimization means the whole tree is near-optimal, when it may actually mean the optimizer is stuck on one hard-to-fix extreme path while other, genuinely improvable paths are left alone.

What The Interviewer Is Testing

Whether you understand WHY global-skew optimization can stall (fixation on one extreme pair) and what nworst skew optimization specifically changes about that.

Practical Example

Debug Scenario: A large clock tree's global skew metric looks converged, but report_clock_qor -type local_skew shows a cluster of paths with meaningfully worse skew than the rest. Enabling cts.optimize.enable_nworst_skew_optimization and re-running lets the optimizer address that cluster instead of continuing to fixate on the single global worst-case pair.

Physical Design & Planning Handbook

Dive into 14 comprehensive chapters covering netlist sanity, FinFET grids, macro placement, power grids, CTS, and timing budgeting.