IntermediateQuestion 266 of 142Source PDF page undefined

What's the practical difference between symmetric and user-controlled tap driver configuration in an H-tree?

From PDVerse PnR Interview Handbook · pdVerse Mentor Guide

Short Answer

cts.multisource.tap_selection defaults to user, meaning tap positions follow what you specify. Setting it to symmetric produces a symmetric tap configuration automatically instead -- useful when you want the tool to enforce structural symmetry across the H-tree rather than trust manually-specified tap boxes to be symmetric themselves.

Technical Reference DiagramWhat's the practical difference between symmetric and user-controlled tap driver configuration in an H-tree?
What's the practical difference between symmetric and user-controlled tap driver configuration in an H-tree?, illustrating the physical design concept.

Technical Explanation

  • cts.multisource.tap_selection defaults to user -- tap positions follow whatever you explicitly specify via -tap_boxes or -tap_locations.
  • Setting it to symmetric instead produces a symmetric tap configuration automatically, enforced by the tool rather than relying on your manually-specified positions to already be symmetric.
  • This matters because H-tree symmetry is exactly what gives it its skew-robustness advantage -- an asymmetric tap layout undermines the reason you chose an H-tree topology in the first place.
  • The symmetric tap-selection mode is set with set_app_options -name cts.multisource.tap_selection -value symmetric -- naming the option (cts.multisource.tap_selection) alone never actually configures it without this wrapping.

Common Mistake

The Trap: Manually specifying tap positions and assuming they're automatically symmetric just because you're building an H-tree -- symmetry has to be either explicitly designed in or explicitly requested via tap_selection = symmetric.

Follow-up Question & Model Response

"If H-tree symmetry is what gives it skew robustness, why would tap_selection default to user instead of symmetric?"

Candidate Model Response: Because forcing symmetry isn't always what's wanted -- a floorplan with genuine physical asymmetry (an off-center macro, an irregular voltage area) may need user-controlled tap positions that don't fit a symmetric pattern, so the tool defaults to respecting explicit user intent rather than imposing symmetry unconditionally.

Practical Example

Debug Scenario: An H-tree built with manually-specified tap_boxes shows unexpected skew across the mesh -- checking the tap positions reveals they were never actually symmetric despite the H-tree topology, and switching cts.multisource.tap_selection to symmetric fixes it.

Physical Design & Planning Handbook

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