IntermediateQuestion 309 of 142Source PDF page undefined

What is a virtual connection in ECO placement, and why would you create one that doesn't correspond to a real net?

From PDVerse PnR Interview Handbook · pdVerse Mentor Guide

Short Answer

create_virtual_connection -pins {pin1 pin2} defines a connectivity relationship for placement guidance purposes only, with an optional -weight to control how strongly it pulls cells together -- it does NOT create a real electrical connection. This is useful when you want an ECO cell placed near a specific pin for a reason (e.g. anticipated future connectivity, or minimizing eventual routing distance) without actually wiring them together yet.

Technical Reference DiagramWhat is a virtual connection in ECO placement, and why would you create one that doesn't correspond to a real net?
What is a virtual connection in ECO placement, and why would you create one that doesn't correspond to a real net?, illustrating the physical design concept.

Technical Explanation

  • create_virtual_connection -pins {pin1 pin2} defines a connectivity relationship for PLACEMENT GUIDANCE ONLY -- it does not create a real electrical connection between those pins.
  • An optional -weight controls how strongly the virtual connection pulls the involved cells together during placement, similar in spirit to how real net weight influences placement.
  • This is useful when you want an ECO cell placed near a specific pin for a reason -- anticipated future connectivity, or minimizing eventual routing distance -- without actually wiring them together at this point in the flow.
  • get_virtual_connections and remove_virtual_connections let you query and clean up virtual connections once they're no longer needed for placement guidance.

Common Mistake

The Trap: Assuming a virtual connection creates real connectivity that will show up in the netlist or affect functional simulation -- it's placement guidance only, with zero electrical effect.

Follow-up Question & Model Response

"Why might you want to create a virtual connection with a higher -weight than a real net between the same two pins would normally carry?"

Candidate Model Response: Because you might specifically want placement to prioritize proximity for this pair more aggressively than the real netlist connectivity alone would suggest -- for example, anticipating a future ECO that will add real connectivity there, and wanting the cells pre-positioned conveniently for that eventual change.

Practical Example

Practical Example: create_virtual_connection -name VC_2 -pins {ECO17/Y D17_OUT} -weight 3 pulls a newly-placed ECO cell toward a specific output port during legalization, without creating any actual electrical connection between them.

Physical Design & Planning Handbook

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