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 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
Master ASIC Physical Design Planning & Floorplanning
Dive into 14 comprehensive chapters covering netlist sanity, FinFET grids, macro placement, power grids, CTS, and timing budgeting.
Continue practising