ExpertQuestion 70 of 69Source: Synopsys PrimeTime User Guide: ECO Placement, insert_buffer, and write_changes

When does a timing ECO cell swap in PrimeTime still require a full place-and-route pass before signoff?

From PDVerse STA Mentor Guide · pdVerse Mentor Guide

Short Answer

A cell swap that fits in the same physical footprint and existing routing can often be verified with PrimeTime's incremental timing update alone. But a swap that changes the cell's size, pin locations, or drive strength enough to need new placement legality or different routing invalidates the parasitics PrimeTime is using, so timing needs to be re-extracted, and sometimes re-routed, before signoff can trust the result.

Technical Reference DiagramWhen does a timing ECO cell swap in PrimeTime still require a full place-and-route pass before signoff?
Two ECO fixes side by side: an in-place BUF1X-to-BUF2X swap verified in under an hour with no placement change, versus a new inserted buffer that has to be legalized 40 microns away and reroute two nets before signoff.

Technical Explanation

  • An in-place cell swap that fits the same site and footprint, for example swapping one buffer for another buffer of the same physical size, usually keeps the same routing, so PrimeTime's ECO flow can update timing incrementally using the existing parasitics with minimal disruption.
  • A swap to a physically larger cell, or one with different pin locations, can require the placement to shift, using an option like occupied_site (PT) to place or resize cells even where no open site was available, which changes the physical layout the original parasitics were extracted from.
  • Once placement changes, the routing connected to that cell's pins is no longer guaranteed correct, so an ECO involving real re-placement typically needs to go back through detailed routing for the affected nets before the new timing numbers can be trusted.
  • insert_buffer (PT), which places a new cell with a -location option to suggest where it should go, is a common example: the location is a suggestion for legalization and routing, not a routing guarantee, so its physical implementation still needs verification.
  • Because PrimeTime's own timing numbers after an ECO are based on estimated post-fix parasitics until re-extraction happens, any ECO significant enough to require real physical changes should be treated as unverified until a full or incremental re-extraction confirms the parasitics used for signoff match the real layout.
  • write_changes (PT), which writes the ECO's netlist edits back out for the implementation tool to apply, is the handoff point: what PrimeTime decided is a timing fix on paper still has to survive physical implementation and re-verification before it counts as signed off.

Common Mistake

The Trap: treating every PrimeTime ECO fix as final once the tool reports the target path passing, without checking whether the specific fix required a placement or routing change that has not actually been implemented and re-verified yet.

  • A same-footprint in-place swap and a larger-footprint resize are treated as equally "done" once PrimeTime reports success, even though only the first one is safe without a physical re-verification pass.
  • Signing off timing based on PrimeTime's ECO-time parasitics estimate, without confirming the physical implementation tool actually placed and routed the change the same way, can let a fix that never made it to silicon slip through.

Follow-up Question & Model Response

If a hold fix only needs buffer insertion, is that always safe to treat as in-place and skip a full route pass?

Candidate Model Response: Not automatically; a newly inserted buffer is a brand new cell that did not exist before, so it always needs placement and routing, unlike a same-footprint swap of an existing cell. Whether that requires a full route pass or just an incremental one on the new cell's nets depends on how much free space and routing resource exists near the suggested location; a tightly congested region might force placement far from where PrimeTime assumed, changing the actual delay achieved. The safe approach is always to re-verify with the real post-implementation parasitics before treating the fix as signed off, regardless of how small the change looks in the ECO script.

Practical Example

An ECO fixes a hold violation by swapping U482 from a BUF1X to a BUF2X cell using size_cell U482 BUF2X (PT), which fits the same site footprint, so PrimeTime's incremental update and the physical implementation tool both confirm no placement or routing change was needed; the fix is verified in under an hour. A separate hold fix on the same design instead needs a brand new buffer, insert_buffer U901/Z BUF4X -location {212.3 753.2} (PT), in a region dense enough that the implementation tool has to legalize it 40 microns from the suggested location and reroute two nets. That second fix cannot be signed off from PrimeTime's ECO-time estimate alone; it waits for the implementation tool's actual placement and routing result, followed by re-extraction and a full incremental timing re-check, before the hold fix counts as closed.

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