ExpertQuestion 72 of 161

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, part of the 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?

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.

PnR Flow Mentor Guide

Read the complete 8-chapter PnR Flow Mentor Guide free on the web โ€” library setup through placement, clock tree synthesis, routing, chip finishing, hierarchical implementation, and ECO, all the way to stream-out.

Offline PDF Bundle

Want all 1109 questions offline?

Get the complete 4-book PDF bundle (PnR, STA, MMMC, Low Power) with a clickable table of contents - no ads, no internet needed.

See what's inside the bundle
PnR Flow Physical Design Mentor Guide โ€” eight chaptersPnR Flow Mentor GuideEight chapters, library setup through to stream-out.