What's the practical fanout guideline STA uses, and what does it actually control?
From PDVerse PnR Interview Handbook · pdVerse Mentor Guide
Short Answer
The rule of thumb: max fanout is typically 10 -- any net should drive a load equivalent to no more than 10 input cells. This is used to map the correct drive-strength cell against the stated fanout -- a driver sized for 10 loads won't perform correctly (transition, delay) if the design actually connects 20 loads to it.
Technical Explanation
- The rule of thumb: max fanout is typically 10 -- any net should drive a load equivalent to no more than 10 input cells.
- This isn't an arbitrary number -- it's used to map the correct drive-strength cell against the stated fanout during synthesis and optimization.
- A driver sized (by the tool) for 10 loads won't perform correctly on transition and delay if the actual design connects significantly more loads to that net.
set_app_options -name opt.common.max_fanout -value 10is the real command that operationalizes the ~10 fanout rule of thumb as an actual soft-optimization constraint, not just a guideline.
Common Mistake
The Trap: Assuming max fanout is purely a congestion or routing concern -- it's fundamentally a drive-strength-sizing concern first, since the tool sizes the driver based on the expected fanout.
Follow-up Question & Model Response
"What would you expect to see in a timing report if a net's real fanout significantly exceeded the ~10 rule of thumb without the driver being resized accordingly?"
Candidate Model Response: A slow output transition (slew) on that net, likely propagating into worse-than-expected delay on every downstream path fed by it -- the driver simply wasn't sized for the load it's actually carrying.
Practical Example
Debug Scenario: A net with 18 loads shows unexpectedly slow transitions across all of them -- checking the driver, it was sized against the ~10-fanout rule of thumb, not against its actual 18-load reality.
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