Incremental Directives - 2021.2 English

Vivado Design Suite User Guide: Implementation (UG904)

Document ID
Release Date
2021.2 English

There are three directives that control how the incremental flow behaves. Incremental directives are set using the command:

read_checkpoint -incremental -directive <directiveName> <reference>.dcp


The RuntimeOptimized directive tries to reuse as much placement and routing information from the reference run as possible. The timing target will be the same as the reference run. If the reference run has WNS -0.050, then the incremental run will not try to close timing on this design and instead also target -0.050. This impacts setup time only. This is the default behavior when no directive is specified.


The TimingClosure directive will reuse placement and routing from the reference but it will rip up paths that do not meet timing and try to close them. Some run time intensive algorithms are run to get as much timing improvement as possible but as the placement is largely given up front gains are limited. This technique can be effective on designs with a reference WNS > -0.250 ns.

Note: For further chance of closing timing, run report_qor_suggestions to generate automated design enhancements.


Quick is a special mode that does not call the timer during place and route and instead uses the placement of related logic as a guide. It is the fastest mode but not applicable for most designs. Designs will need WNS > 1.000 ns to be effective. These are typically ASIC emulation or prototyping designs.

Note: In versions 2019.1 and before, the same behavior was achieved via directive mapping at place_design and route_design. The Explore directive was mapped to TimingClosure, Quick mapped to Quick and other directives mapped to RuntimeOptimized.
Users upgrading from 2019.1 and earlier who are specifying the Explore or Quick directives for place_design will need to specify the incremental directive to achieve the equivalent functionality in 2020.1.