BeginnerQuestion 238 of 97Source PDF page undefined

How does CTS group leaf registers before it starts inserting buffers?

From PDVerse PnR Interview Handbook · pdVerse Mentor Guide

Short Answer

CTS first identifies leaf sink points (non-clock pins of standard cells not defined as clock ports) and groups nearby ones into a virtual cluster; leaf cells far from any cluster get moved to the nearest one. Once clusters and locations are set, buffer insertion proceeds so propagation delay is equal to each cluster and skew inside each cluster is minimized. Smaller clusters mean less skew but more buffering levels, which raises total insertion delay -- a real tradeoff, not a free choice.

Technical Reference DiagramHow does CTS group leaf registers before it starts inserting buffers?
How does CTS group leaf registers before it starts inserting buffers?, illustrating the physical design concept.

Technical Explanation

  • CTS first identifies leaf sink points -- non-clock pins of standard cells that aren't themselves clock ports -- and groups nearby ones into a virtual cluster.
  • Leaf cells that sit far from any cluster get moved to the nearest one rather than left ungrouped.
  • The number of leaf cells per cluster is user-defined, and once clusters/locations are fixed, buffer insertion targets equal propagation delay to each cluster with minimized skew inside it.
  • The real tradeoff: smaller clusters give less skew but need more buffering levels, which raises total insertion delay -- there's no size that wins on both axes at once.
  • report_clock_qor -type local_skew shows the measured per-cluster skew -- the direct, observable output of the small-cluster-vs-large-cluster tradeoff being discussed.

Common Mistake

The Trap: Assuming smaller clusters are always better because "less skew sounds safer" -- without accounting for the extra buffering levels (and extra insertion delay) that smaller clusters require.

Follow-up Question & Model Response

"If cluster size only trades skew against insertion delay, what would push you toward larger clusters specifically?"

Candidate Model Response: Larger clusters win specifically when total insertion delay matters more than per-cluster skew -- e.g. a high-frequency design where extra buffering levels would themselves become the critical-path bottleneck, making the delay cost of small clusters worse than the skew cost of large ones.

Practical Example

Worked Example: A block with 400 leaf registers clustered at 20 per cluster (20 clusters) needs fewer buffering levels than the same block clustered at 5 per cluster (80 clusters) -- the first choice accepts more skew per cluster in exchange for lower total insertion delay.

Physical Design & Planning Handbook

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