With the incremental design loaded in memory, the incremental flow is
initiated by loading the reference design checkpoint using the
read_checkpoint -incremental <dcp> command. After
the reference checkpoint is read by Vivado, the
following actions are taken:
- Physical optimizations that match the ones in the reference run are carried out on the incremental design automatically.
- The netlist in the incremental design is compared to the reference design to identify matching cells and nets.
- Placement from the reference design checkpoint is reused to place matching cells in the incremental design.
- Routing is reused to route matching nets on a per-load-pin basis. If a load pin disappears due to netlist changes, then its routing is discarded, otherwise it is reused. It is possible to have partially-reused routes.
Placement and routing information that is reused initially can be discarded throughout the flow if it improves the performance or aids routability.
Design objects that do not match between the reference design and the current design are placed after incremental placement is complete and routed after routing is complete.