Why must an ECO fix be re-verified with a full STA run before signoff, instead of trusting the ECO tool's own report?
From PDVerse STA Mentor Guide ยท pdVerse Mentor Guide
Short Answer
fix_eco_timing (PT) reports the violations it believes it fixed based on PrimeTime's own timing model at the moment it ran, but that model can go stale the instant the physical tool actually places, routes, and legalizes the new cells. A full STA re-run, with freshly extracted parasitics, is the only way to confirm the fix holds in the design as it will actually be built, not as PrimeTime estimated it.
Technical Explanation
An ECO's own success report and the real, physically implemented result are two different things until you check.
- When
fix_eco_timing(PT) proposes a resize or buffer insertion, it estimates the new delay using the timing data already loaded, before the physical tool has placed or routed anything new. - The physical tool can legalize a proposed cell into a slightly different location, or route its nets differently than PrimeTime assumed, both of which change the actual parasitics.
- Once parasitics are re-extracted after the physical implementation, the true delay on the fixed path can differ from PrimeTime's original estimate, sometimes enough to leave a small violation remaining.
- A full signoff-quality STA run โ fresh SPEF, the full corner set, not just the one scenario the ECO happened to target โ is what catches this gap.
- Skipping this step and trusting the ECO command's own success message is a common shortcut under schedule pressure, precisely when the gap is least affordable to miss.
- This is also why a design team treats an ECO as complete only after re-verification, not at the moment fix_eco_timing reports the violations resolved.
Common Mistake
The Trap: treating fix_eco_timing's own reported result as the final signoff number.
- The command's estimate is based on data available before physical implementation touches the new cells, not after.
- A team that skips the full re-run can tape out believing violations are fixed when a handful actually remain after real placement and routing.
Follow-up Question & Model Response
If the full re-verification STA run finds that an ECO's estimated fix left a small residual violation, what is the next step?
Candidate Model Response: The design team runs another, smaller ECO pass targeted specifically at the residual violations, using the freshly extracted parasitics this time rather than the pre-ECO data. Because the residual gap is usually small โ a few picoseconds, not the original violation's full size โ this second pass is typically much faster to converge than the first. Some flows also feed the freshly extracted parasitics back into PrimeTime before even attempting the first ECO fix specifically to reduce how large this residual gap can be. Either way, the loop closes with another full re-verification, not just a check of the newly targeted paths.
Practical Example
An ECO fixes 40 hold violations according to PrimeTime's report. After the physical tool routes the new buffers and parasitics are re-extracted, a full signoff STA run finds three of the 40 still at -4ps, caused by slightly longer routes than PrimeTime originally assumed. A second, small ECO pass targeting only those three closes them out.
Complete STA Handbook
Master Signoff-Ready Static Timing Analysis
Get the complete 10-chapter STA handbook covering setup/hold margins, clock modeling, OCV/POCV, crosstalk noise, and PrimeTime closure.

Continue practising