A full re-run repeats synthesis and optimisation for the whole design. Incremental compile repeats it for the affected cone only, and an ECO patch edits the netlist directly.
The three differ in scope and cost. The table below fixes the vocabulary used in this topic.
Method | Scope | Typical cost | Use when |
|---|---|---|---|
Full re-run | Whole design re-synthesised | Highest | The change escapes one cone, or spare cells are exhausted. |
Incremental compile | Affected cone re-optimised | Middle | RTL edits are local but need fresh optimisation. |
ECO patch | Named cells rewired in place | Lowest | A late change fits one cone and spare cells remain. |
Times below are stated EXAMPLE parameters, not tool defaults. They compare one late change handled each way.
EXAMPLE parameters (not tool defaults): full re-run 6 h, incremental compile 1.5 h, ECO patch with proof 0.5 h
one late change as ECO: 0.5 h against 6 h for a full re-run, saving 6 - 0.5 = 5.5 h
three late changes as ECO: 3 x 0.5 h = 1.5 h against 6 h, saving 6 - 1.5 = 4.5 h
rule used here: patch while the change fits one cone and spares remain, else re-runNo. One patch covers one cone, so this change needs two patches or a re-run, each followed by proof.
Speed changes nothing about correctness. Without re-proof the patched netlist is unverified.