When do you stop ECOing and go back to placement or floorplan?
From PDVerse PnR Interview Handbook · pdVerse Mentor Guide
Short Answer
Stop when the fixes you need are not the kind ECO can make, or when each iteration stops paying for itself. PrimeTime ECO sizes, swaps and buffers existing logic in the space that exists. When the problem is logic depth, wire length set by placement, congestion, or no room left for changes, you go back to placement or floorplan. The decision is cheaper the earlier it is made, so track the evidence from the first ECO round.
Technical Explanation
- ECO works on shallow, spread violations: many endpoints a few tens of picoseconds short, which sizing, Vt swaps and buffering close. It does not restructure logic, move macros or change the floorplan.
- Watch the convergence curve. If each ECO round fixes fewer violations, needs more changes per fix, and introduces new violations elsewhere, the loop has become a sign of a structural problem.
- Unfixable reasons are the evidence.
fix_eco_timing -estimate_unfixable_reasons(PT), witheco_report_unfixed_reason_max_endpoints(PT) set first, reporting mostly B (delay improvement too small) and S or I (sizing or buffering cannot fix) says the path is already at the limit of what these methods can do. - Space runs out. In physically aware ECO, open_site mode places cells only in open sites. When the fixes need occupied_site mode and still displace many cells, or
place_eco_cells(ICC2) moves many existing cells, the layout has no room for the changes. - Wire-dominated paths point to placement. If most of the path delay is in long nets between cells that could sit close together, re-placement with the right bounds or timing weights fixes it better than repeaters.
- Macro-to-macro paths and channel congestion point to floorplan. If the distance between a macro pin and its logic, or the detour around a blockage, sets the delay, no ECO will recover it.
- Count the cost of each round. A full ECO iteration includes ICC2 implementation, extraction and PrimeTime signoff. If three rounds cost a week and each recovers less, a placement rerun is usually the faster path.
- Schedule sets the threshold. Before tapeout with a fixed floorplan, re-placement may still be cheap; after the base layers are frozen, only metal ECO is possible, so the decision has to be made while the choice still exists.
Common Mistake
The Trap: Running a fifth ECO round because the previous one "almost closed". Each round moved violations around, added 2% area in buffers and pushed local density to where legalization displaced timing-critical cells. A placement rerun with a bound on the critical cluster would have closed it in one iteration, a week earlier, and without the extra leakage from the low-Vt swaps each round added to recover what the previous round broke.
Follow-up Question & Model Response
"What evidence do you bring to the review when you recommend going back to placement?"
Candidate Model Response: I bring the convergence history per round: violations fixed, new violations introduced and cells changed. I add the unfixable reason summary, a path breakdown showing wire delay against cell delay on the worst clusters, and a layout snapshot of where the cells sit. If there is congestion or density data, I show that the fixes need space that is not there. That turns the decision into numbers rather than opinion.
Practical Example
Tapeout Scenario: A block after three ECO rounds (illustrative): round 1 fixed 800 of 1,000 violations, round 2 fixed 120 of 200 and created 60 new ones, round 3 fixed 40 of 140 and created 55. Unfixable reasons on the last 155 were mostly B and S. The worst paths spent 70% of their delay in wires between a decoder and a register bank placed 900 um apart. A placement rerun with a bound on those cells closed timing with 40 remaining violations, which one ECO round then fixed. Compared with the ECO path, the rerun cost two days of placement, CTS and routing, against an estimated four more ECO rounds of three days each with no guarantee of closing. The area added by the earlier buffers was also recovered, because the rerun started from the pre-ECO netlist.
PnR Flow Mentor Guide
Master the Physical Design Implementation Flow
Read the complete 8-chapter PnR Flow Mentor Guide free on the web — library setup through placement, clock tree synthesis, routing, chip finishing, hierarchical implementation, and ECO, all the way to stream-out.

Continue practising