The Intelligent Design Run is created from a standard implementation run. In the Design Runs window, right-click on the implementation run and select Close Timing using Intelligent Design Runs as shown in the following figure.
create_run -flow {Vivado IDR Flow 2021} -parent_run <synth runName> <idr runName>
set_property REFERENCE_RUN impl_1 [get_runs <idr runName>]
The REFERENCE_RUN property is used to copy Tcl hooks from an implementation run.
Tcl hooks are applied at each implementation phase of the run. For example, if there is
a pre-opt_design
Tcl hook, it is executed every time
before the opt_design
command is called. This property
is examined when the run is reset, so subsequent changes to the implementation run Tcl
hooks are picked up. If you wish to add a Tcl hook to an IDR, first create an
implementation run, add the Tcl hook, then create a new IDR.
init_design
Tcl hooks are not currently supported.Because directives are controlled by the IDR, there is no value in creating an IDR from a run that has an identical netlist, identical constraints, and identical Tcl hooks. There is consequently a restriction where only one IDR can be created from any given implementation run. If more IDRs are desired, alter the synthesis options to create a different netlist or modify the floorplan.