Home Knowledge Base Hierarchical Physical Design

Hierarchical Physical Design is the divide-and-conquer methodology for implementing large SoCs where the chip is partitioned into independently designed blocks (macros/partitions) that are separately placed-and-routed, then assembled at the top level — enabling parallel team execution, managing tool capacity for billion-transistor designs, and providing natural abstraction boundaries that keep implementation tractable, with modern SoCs typically having 10-50 hierarchical blocks assembled into a single chip.

Why Hierarchy Is Necessary

Hierarchical Design Flow

<svg viewBox="0 0 435 397" xmlns="http://www.w3.org/2000/svg" style="max-width:100%;height:auto" role="img"><rect x="0" y="0" width="435" height="397" rx="12" fill="#0d1117"/><g font-family="ui-monospace,SFMono-Regular,Menlo,Consolas,&quot;Liberation Mono&quot;,monospace" font-size="14"><text xml:space="preserve" x="20" y="31.7"><tspan fill="#c9d1d9">                Chip Spec</tspan></text><text xml:space="preserve" x="20" y="50.7"><tspan fill="#c9d1d9">                   </tspan><tspan fill="#6e7681">↓</tspan></text><text xml:space="preserve" x="20" y="69.7"><tspan fill="#c9d1d9">            Top-Level Floorplan</tspan></text><text xml:space="preserve" x="20" y="88.7"><tspan fill="#c9d1d9">           (block placement, I/O, power grid)</tspan></text><text xml:space="preserve" x="20" y="107.7"><tspan fill="#c9d1d9">                   </tspan><tspan fill="#6e7681">↓</tspan></text><text xml:space="preserve" x="20" y="126.7"><tspan fill="#c9d1d9">         Budget Constraints to Blocks</tspan></text><text xml:space="preserve" x="20" y="145.7"><tspan fill="#c9d1d9">         (timing budgets, pin locations, power)</tspan></text><text xml:space="preserve" x="20" y="164.7"><tspan fill="#c9d1d9">                   </tspan><tspan fill="#6e7681">↓</tspan></text><text xml:space="preserve" x="20" y="183.7"><tspan fill="#c9d1d9">    </tspan><tspan fill="#6e7681">┌──────────┬──────────┬──────────┐</tspan></text><text xml:space="preserve" x="20" y="202.7"><tspan fill="#c9d1d9">    Block A    Block B    Block C    Block D</tspan></text><text xml:space="preserve" x="20" y="221.7"><tspan fill="#c9d1d9">    P&amp;R        P&amp;R        P&amp;R        P&amp;R</tspan></text><text xml:space="preserve" x="20" y="240.7"><tspan fill="#c9d1d9">    (parallel) (parallel) (parallel) (parallel)</tspan></text><text xml:space="preserve" x="20" y="259.7"><tspan fill="#c9d1d9">    </tspan><tspan fill="#6e7681">↓</tspan><tspan fill="#c9d1d9">          </tspan><tspan fill="#6e7681">↓</tspan><tspan fill="#c9d1d9">          </tspan><tspan fill="#6e7681">↓</tspan><tspan fill="#c9d1d9">          </tspan><tspan fill="#6e7681">↓</tspan></text><text xml:space="preserve" x="20" y="278.7"><tspan fill="#c9d1d9">    </tspan><tspan fill="#6e7681">┌──────────┴──────────┴──────────┘</tspan></text><text xml:space="preserve" x="20" y="297.7"><tspan fill="#c9d1d9">                   </tspan><tspan fill="#6e7681">↓</tspan></text><text xml:space="preserve" x="20" y="316.7"><tspan fill="#c9d1d9">         Top-Level Assembly</tspan></text><text xml:space="preserve" x="20" y="335.7"><tspan fill="#c9d1d9">         (top routing, filler, DRC/LVS)</tspan></text><text xml:space="preserve" x="20" y="354.7"><tspan fill="#c9d1d9">                   </tspan><tspan fill="#6e7681">↓</tspan></text><text xml:space="preserve" x="20" y="373.7"><tspan fill="#c9d1d9">              Chip Signoff</tspan></text></g></svg>

Floorplanning Decisions

DecisionImpactConstraint
Block placementWirelength, timing, congestionData flow affinity
Block shapesAspect ratio, area utilizationPower grid alignment
Pin placementInter-block timing, routabilityFeed-through, congestion
Power grid topologyIR drop, EMCurrent per block
Channel widthRouting resourcesSignal density

Interface Budgeting

Abstract Views

ViewContentUsed By
Physical abstract (LEF)Block outline, pin locations, routing blockagesTop-level P&R
Timing abstract (Liberty)Pin-to-pin timing arcs, constraintsTop-level STA
Power abstractCurrent profile per modeTop-level power analysis
Parasitic abstractSimplified RC modelTop-level SI analysis

Challenges of Hierarchical Design

Hybrid Approaches

Hierarchical physical design is the only viable methodology for implementing modern SoCs — without hierarchical partitioning, the 10-50 billion transistors in flagship mobile and server processors would overwhelm any single EDA tool invocation, and the dozens of engineering teams working in parallel would have no structured way to integrate their work into a cohesive chip.

physical design hierarchicalblock level pnrtop level integrationchip assembly

Explore 500+ Semiconductor & AI Topics

From EUV lithography to CUDA optimization — search the full knowledge base or chat with our AI assistant.