Skip to content
DenseChip
Learn
PracticeCode labInterview

DenseChip

Navigate

Menu

LearnPracticeCode labInterview

Tools

All toolsSV editorCode repoResume
DenseChip

Practice, courses, and chip-design tools in one focused workspace.

LearnPracticeCode labInterviewToolsLearning paths

© 2026 DenseChip

AboutContactPrivacyTerms
Skip to lesson

Course contents

  • Logic Synthesis Glossary
  • Logic Synthesis Cheatsheet
  • Synthesis Foundations14
  • Logic Optimisation and Mapping20
  • Constraints and Timing15
  • Sequential, FSM and Memory19
  • Datapath Synthesis14
  • Area, Power and Test14
  • Verification, ECO and Handoff15
    • Equivalence Checking
    • Incremental Compile and ECO
    • Physical-Aware Synthesis and Handoff
      • Wire-Load Models and Placement Estimates
      • Congestion and Mapping Choices
      • Floorplan Assumptions
      • The Handoff Package
      • What Physical Design Changes
  • Flows and Debugging15
  • Interview and Judgment11
Loading lesson

‹Physical-Aware Synthesis and Handoff
  1. Topics
  2. Logic Synthesis
  3. Verification, ECO and Handoff
  4. Physical-Aware Synthesis and Handoff
  5. Congestion and Mapping Choices

Part 7 · Verification, ECO and Handoff · Intermediate

Congestion and Mapping Choices

Pin-density congestion proxies and why technology mapping matters physically.

On this page

    Demand against capacity

    Congestion compares routing demand with routing supply in each region. Demand comes from pins that must escape; supply comes from tracks crossing the region.

    Synthesis cannot route, so it uses a proxy. Pin density is the simplest one: pins divided by region area.

    A pin-density proxy

    Take an EXAMPLE threshold of 0.05 pins per square micron. Regions above it are flagged congested before any route exists.

    The second proxy below counts track crossings instead of area. Both are EXAMPLE gauges, not a router verdict.

    Diagram
    region A: 100 um x 100 um = 10000 um^2, 600 pins
    density = 600 / 10000 = 0.06 pins/um^2 -> above 0.05, congested
    region B: 200 um x 100 um = 20000 um^2, 600 pins
    density = 600 / 20000 = 0.03 pins/um^2 -> below 0.05, clear
    track check on A: demand 600 x 2 = 1200 crossings, capacity 800
    proxy = 1200 / 800 = 1.5 -> above 1, congested
    after remap: 300 pins -> demand 600, proxy = 600 / 800 = 0.75 -> clear

    A congestion proxy in Python

    The program below computes both proxies for the stated regions. Its five self-checks repeat the hand arithmetic exactly.

    example.py
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    import sys
    
    THRESHOLD = 0.05
    
    def density(pins, w_um, h_um):
        return pins / (w_um * h_um)
    
    def track_proxy(pins, crossings_per_pin, capacity):
        return pins * crossings_per_pin / capacity
    
    def close(got, want):
        return abs(got - want) / want < 1e-9
    
    got = [
        density(600, 100.0, 100.0),
        density(600, 200.0, 100.0),
        track_proxy(600, 2.0, 800.0),
        track_proxy(300, 2.0, 800.0),
    ]
    want = [0.06, 0.03, 1.5, 0.75]
    
    for i in range(len(got)):
        if not close(got[i], want[i]):
            print("FAIL: proxy " + str(i + 1) + " got " + str(got[i]) + " want " + str(want[i]))
            sys.exit(1)
    
    if not (got[0] > THRESHOLD and got[1] < THRESHOLD):
        print("FAIL: density flags disagree with the threshold")
        sys.exit(1)
    
    print("PASS: congestion proxies match hand arithmetic on 5 checks")

    Why mapping choices matter

    Technology mapping picks cell sizes and counts, and both move pin density. A faster mapping with bigger or more cells raises demand in exactly the hot region.

    Mapping choice

    Physical effect

    Congestion direction

    Stronger drivers on long nets

    Larger cells, more pins per area

    Worse locally, shorter delay

    Extra buffering

    More cells along the route

    Worse count, shorter segments

    Wide mux kept flat

    Many inputs converge in one spot

    Worse hotspot

    High-fanout driver duplicated

    Load split across two cells

    Better per sink, one more cell

    Common pitfall

    Optimising delay in isolation can manufacture congestion. A buffer chain that fixes a net adds cells where tracks are already scarce, and the router pays back the delay.

    Interview

    Likely probes: reading a proxy number, and naming a mapping lever.

    • Density 0.06 against 0.05 flags region A; spreading the same pins to 0.03 clears it.

    • Track proxy above 1 means demand exceeds crossings; halving pins gives 0.75.

    • Duplicating a hot driver or restructuring a flat mux trades cells for routability.

    Check yourself Region A holds 600 pins in 10000 square microns. What is its density, and is it flagged?

    0.06 pins per square micron. Above the 0.05 threshold, so flagged congested.

    Check yourself Buffering fixes a long net but the region was already at proxy 1.5. What is the risk?

    More cells and pins raise demand further. The net improves on paper while the region gets harder to route.

    Related topics

    • Floorplan assumptions

    • Technology mapping

    • Structuring and buffering

    Previous

    110 / 139

    Next: Floorplan Assumptions

    Up next

    Up nextFloorplan Assumptions

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • The Handoff Package
    • What Physical Design Changes