IntermediateQuestion 113 of 112Source: Synopsys PrimeTime User Guide: Parasitic Data and ECO Verification

Why must post-ECO timing be re-extracted with fresh parasitics instead of reusing the pre-ECO SPEF?

From PDVerse STA Mentor Guide · pdVerse Mentor Guide

Short Answer

A SPEF file records the resistance and capacitance PrimeTime uses to compute net delay, and it describes one specific physical layout. Once an ECO adds a buffer, resizes a cell, or reroutes a net, the physical layout has changed, so the old SPEF no longer describes the real chip, and any timing report built from it is describing a design that no longer exists.

Technical Reference DiagramWhy must post-ECO timing be re-extracted with fresh parasitics instead of reusing the pre-ECO SPEF?
Timeline showing insert_buffer reporting +11ps hold slack from PrimeTime's own estimate, then dropping to +6ps after the physical tool legalizes, re-routes, and re-extracts SPEF for the same net.

Technical Explanation

  • SPEF, Standard Parasitic Exchange Format, is extracted from the actual routed layout, capturing real wire resistance and capacitance for every net.
  • A cell resize or a newly inserted buffer changes the physical cells and wires on that net and its neighbors, which means the parasitics on and around it are genuinely different after the ECO, not just relabeled.
  • Reusing the pre-ECO SPEF after applying size_cell or insert_buffer (PT) lets PrimeTime's timing engine keep computing delay from a physical description that predates the fix, producing a slack number that does not reflect the real, ECO'd layout.
  • A physical design tool must legalize and re-route the ECO change in the actual layout before fresh parasitic extraction can even be generated, so re-extraction is a separate, necessary step after the netlist edit, not just a formality.
  • Because re-extraction and re-routing both take real time, teams are sometimes tempted to sign off on the pre-extraction, PrimeTime-only estimate, acceptable as a quick sanity check, but never as the final signoff number.
  • The ECO and timing signoff process on the implementation side exists specifically to close this loop: legalize the edit, re-route it, extract fresh SPEF, and hand a genuinely updated timing picture back to PrimeTime for the real signoff report.

Common Mistake

The Trap: Treating the slack improvement PrimeTime reports immediately after size_cell or insert_buffer (PT) as the final, signoff-quality number.

  • That number is based on the pre-ECO SPEF and PrimeTime's own delay estimate for the new cell, not on how the fix actually behaves once it is placed, routed, and re-extracted in the real layout.

Follow-up Question & Model Response

Could a fix that looks clean immediately after an ECO command turn out to still violate once the design is re-extracted?

Candidate Model Response: Yes, and this happens often enough that no ECO is considered closed until after re-extraction. PrimeTime's post-ECO estimate uses its own model of the new cell's load and the surrounding parasitics as they were before the physical edit, a reasonable approximation but not the real routed result. Once the physical tool legalizes the edit, it may route the new buffer's connections through a longer or more coupled path than PrimeTime assumed, changing the real delay from the estimate. This is why the fix is only considered verified after a fresh SPEF-based timing run confirms the same slack improvement holds with real, extracted parasitics.

Practical Example

insert_buffer (PT) immediately reports a hold fix moving slack from -8ps to +11ps using PrimeTime's own load estimate. After the physical design tool legalizes the new cell and re-extracts SPEF, the same path re-timed with the fresh parasitics shows +6ps, still passing but with far less margin than the PrimeTime-only estimate suggested, because the buffer ended up slightly farther from its load than assumed.

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. →