Intelligent Design Runs Recommendations for Non-Project Users - 2021.2 English

Vivado Design Suite User Guide: Design Analysis and Closure Techniques (UG906)

Document ID
Release Date
2021.2 English
A Vivado project is required to use the Intelligent Design Runs feature. This is because of the run management required. The following instructions explain the easiest way to create a post-synthesis project. They are applicable to users of the following flows:
  • Non-project implementation runs
  • Synthesis using earlier versions of Vivado or third party synthesis tools

The easiest way to access the Intelligent Design Runs feature is to add a single full design DCP source to a post-synthesis project. This will provide the full netlist as well as all design constraints. When this project is created, the IDR can be launched following the steps in the Creating an Intelligent Design Run section.

  1. Generate a single checkpoint from your existing implementation run. To do this, locate the opt_design call in the implementation run Tcl script, and write a checkpoint before this stage. The following is an example:
    write_checkpoint -force <PreOptDesign>.dcp
    opt_design -directive Explore ; ## FOR EXAMPLE ONLY ##
    Without user intervention, the earliest a full design checkpoint is written is after opt_design. However, the ideal case is to write a checkpoint before opt_design is run. In this case, a pre-opt_design Tcl hook should be used to write the checkpoint. Add the write_checkpoint line to a Tcl script and insert it either after init_design (link_design) or before opt_design if there is a conflict:
    add_files -fileset utils_1 -norecurse ./test.tcl
    set_property STEPS.INIT_DESIGN.TCL.POST [get_files ./test.tcl -of [get_fileset utils_1] ] [get_runs <ImplRun>]
    ## OR ##
    set_property STEPS.OPT_DESIGN.TCL.PRE [get_files ./test.tcl -of [get_fileset utils_1] ] [get_runs <ImplRun>]
  2. When the checkpoint is available, create a post-synthesis project (this can be done easily using the Create Project wizard). The equivalent Tcl code for project creation is shown here:
    create_project <ProjectName> <ProjectDirectory> -part <PartName>
    set_property design_mode GateLvl [current_fileset]
    add_files -norecurse <PreOptDesign>.dcp

For more information on setting up projects, refer to this link Vivado Design Suite User Guide: Design Flows Overview (UG892).