BeginnerQuestion 323 of 97Source PDF page undefined

Why does a long wire with low fanout still need special handling during placement optimization?

From PDVerse PnR Interview Handbook · pdVerse Mentor Guide

Short Answer

A long wire (small fanout, but driver far from receiver) is often the result of the receiver having stronger connectivity to other instances than to its actual driver. Being highly resistive, it causes a large input transition at the receiver, which increases receiver propagation delay. The fix: segment long wires with buffers -- the same underlying principle as clock buffer insertion, applied to a data-path net.

Technical Reference DiagramWhy does a long wire with low fanout still need special handling during placement optimization?
Why does a long wire with low fanout still need special handling during placement optimization?, illustrating the physical design concept.

Technical Explanation

  • A long wire has small fanout but a driver placed far from its receiver -- often because the receiver actually has stronger connectivity to OTHER instances than to its nominal driver, pulling it away in placement.
  • Being highly resistive, a long wire causes a large input transition (slew) at the receiver.
  • That large input transition increases receiver propagation delay -- a real timing cost, not just a routing inconvenience.
  • The fix: segment long wires with buffers -- structurally the same RC-delay-reduction principle used for clock tree buffer insertion, applied here to a data-path net instead.
  • add_buffer_on_route -lib_cell <buf> -location {...} is the real command for the buffer-insertion fix used to segment a long, resistive wire.

Common Mistake

The Trap: Assuming a low-fanout net is automatically low-risk because fanout is small -- a long, low-fanout wire can still cause a real timing problem via slow transition and increased propagation delay, unrelated to its fanout count.

Follow-up Question & Model Response

"Why might placement legitimately create this situation -- a driver ending up physically far from its own receiver?"

Candidate Model Response: Because global placement optimizes primarily for overall wire length and connectivity across the WHOLE design, not for any single net in isolation -- a receiver with many strong connections elsewhere can get pulled toward those other instances during optimization, leaving its connection back to its actual driver physically stretched out as a side effect.

Practical Example

Debug Scenario: A net connects a driver to a receiver that ended up placed far away because the receiver has several other, stronger connections nearby. The resulting long wire shows a slow input transition at the receiver -- segmenting the wire with an inserted buffer restores an acceptable transition time.

Physical Design & Planning Handbook

Dive into 14 comprehensive chapters covering netlist sanity, FinFET grids, macro placement, power grids, CTS, and timing budgeting.