BeginnerQuestion 94 of 95Source: Synopsys PrimeTime User Guide: ECO Flow

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 Reference DiagramWhy must an ECO fix be re-verified with a full STA run before signoff, instead of trusting the ECO tool's own report?
A three-stage flow diagram: PrimeTime's estimated ECO fix, the physical tool's actual placement and routing of the same cells, and a full re-extracted STA run comparing the two results with a small residual gap highlighted.

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

Get the complete 10-chapter STA handbook covering setup/hold margins, clock modeling, OCV/POCV, crosstalk noise, and PrimeTime closure.

Static Timing Analysis (STA) Handbook โ€” ten chaptersSTA HandbookTen chapters on setup, hold, OCV, and PrimeTime signoff. โ†’