BeginnerQuestion 73 of 187

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

From PDVerse PnR Interview Handbook, part of the 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?

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.

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.