ExpertQuestion 87 of 161

How do you build more than one global H-tree in different parts of the same floorplan, and how are the sections actually defined?

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

Short Answer

set_regular_multisource_clock_tree_options -htree_sections takes a list of section definitions, each with -section_name, -prefix, and either -tap_boundary (a bounding box) plus -tap_boxes (a symmetric grid within it) or explicit -tap_locations -- letting you build genuinely separate H-trees for genuinely separate floorplan regions instead of forcing one global tree to span an entire irregular floorplan.

Technical Reference DiagramHow do you build more than one global H-tree in different parts of the same floorplan, and how are the sections actually defined?

Technical Explanation

  • set_regular_multisource_clock_tree_options -htree_sections takes a list of section definitions -- one global H-tree per section, not one tree forced across the whole floorplan.
  • Each section is defined with -section_name, -prefix (for naming the resulting cells distinctly per section), and either -tap_boundary plus -tap_boxes (a symmetric grid within a bounding box) or explicit -tap_locations for non-grid placement.
  • This is the practical tool for a floorplan that's naturally divided into distinct regions (e.g. by a large macro, or by physical section) where one global H-tree spanning the whole thing wouldn't make structural sense.

Common Mistake

The Trap: Trying to force one global H-tree across a floorplan that's naturally divided into distinct sections, when -htree_sections exists specifically to build separate, properly-scoped trees per section instead.

Follow-up Question & Model Response

"Why would using -prefix per section matter beyond just naming convenience?"

Candidate Model Response: Distinct prefixes keep each section's generated cell names unambiguous and traceable back to their section during debug -- without it, cells from different sections could be harder to tell apart when reviewing the built structure.

Practical Example

Practical Example: set_regular_multisource_clock_tree_options -htree_sections [list [list -section_name sectionA_name -tap_boundary {{315.88 1275.8} {1750.04 2187.1}} -prefix sectionA -tap_boxes {4 4}] [list -section_name sectionB_name -tap_locations {{700 472} {1350 472}} -prefix section]] builds two independently-defined H-tree sections in one command.

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.