IntermediateQuestion 114 of 222

In report_clock_power, what's the actual difference between a "segment" and a "subtree"?

From PDVerse PnR Interview Handbook, part of the pdVerse Mentor Guide

Short Answer

A segment is the clock buffer tree from one ICG cell to the next ICG cells or sinks in its fanout -- a local slice. A subtree is the clock tree from an ICG cell all the way to the sinks -- the full downstream structure. report_clock_power -type per_segment gives you the local slice view; -type per_subtree gives you the full downstream view from that ICG onward.

Technical Reference DiagramIn report_clock_power, what's the actual difference between a "segment" and a "subtree"?

Technical Explanation

  • A segment is the clock buffer tree from one ICG cell to the next ICG cells or sinks in its fanout -- a local, bounded slice of the tree.
  • A subtree is the clock tree from an ICG cell all the way to the sinks -- the full downstream structure from that point, not just the next hop.
  • report_clock_power -type per_segment reports the local slice view; -type per_subtree reports the full downstream view -- choosing the wrong one gives you either too narrow or too broad a picture of where power is actually going.
  • This distinction also respects the power.clock_network_include_clock_sink_pin_power setting, which affects whether sink pin power is folded into either view.

Common Mistake

The Trap: Using -type per_segment when you actually need the full downstream power picture from an ICG (which needs -type per_subtree), or vice versa -- reading the wrong scope as if it answered a different question.

Follow-up Question & Model Response

"If you wanted to know the total power impact of disabling one specific ICG entirely, would you use per_segment or per_subtree, and why?"

Candidate Model Response: per_subtree, since disabling the ICG removes power consumption for everything downstream of it, not just the immediate next hop that per_segment would report.

Practical Example

Debug Scenario: A power budget review asks "how much power does this ICG's entire downstream fanout consume?" -- report_clock_power -type per_subtree answers that directly, while -type per_segment would only show the power of the immediate next hop, undercounting the real downstream cost.

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.