Incremental Implementation Terminology - 2023.1 English

Vivado Design Suite User Guide: Implementation (UG904)

Document ID
UG904
Release Date
2023-05-16
Version
2023.1 English

The incremental flow uses a variant from a previous run as well as the current design variant. In order to maintain clear understanding the following terminology is used:

Reference Design

The reference design is preferably a fully routed checkpoint from a recent iteration of the same design. To use a different variant of a design, it is important that the hierarchy names from the reference design match the incremental design. Whilst it is possible to use a placed checkpoint as a reference, there will be reduced benefits when compared to a routed checkpoint; timing will not be as consistent and compile time will be higher.

The reference design must match the device and it is recommended to match the tool version but not a strict requirement.

Incremental Design

The incremental design is the updated design that is to be run through the implementation tools. It can include RTL changes, netlist changes, or both but these changes should be typically < 5%. Prior to issuing the read_checkpoint -incremental command, there is no knowledge that the incremental implementation flow is being used. Therefore it is important to not introduce significant netlist changes by changing synth_design or opt_design tool options when compared with the reference design.

Constraint changes are allowed but general tightening of constraints will significantly impact placement and routing and is generally best added outside of the incremental flow.