Retrofitting phys_opt_design Netlist Changes - 2023.1 English

Vivado Design Suite User Guide: Implementation (UG904)

Document ID
Release Date
2023.1 English

The design flow involving retrofit is described in the following figure.

Figure 1. Design Flow Involving Retrofit

Two runs are involved, which are the “original run,” where phys_opt_design is run after place_design and the “replay run,” where phys_opt_design netlist changes are performed before placement.

After the original run, the phys_opt_design optimizations are saved to a Tcl script file using the Tcl command write_iphys_opt_tcl. The script contains a series of iphys_opt_design Tcl commands to recreate exactly the design changes performed by phys_opt_design in the original run. You can save the optimizations from the current design in memory or after opening an implemented design or checkpoint where phys_opt_design has performed optimization.

The same design and constraints are used for the replay run. Before place_design runs, the read_iphys_opt_tcl command processes the iphys_opt_design command script and applies the netlist changes from the original run. As a result of the netlist changes, the design in the replay run might be more suitable for placement than the original run. The design now incorporates the benefits of the phys_opt_design optimizations before placement, such as fewer high-fanout nets after replication and fewer long distance paths from block RAM outputs.

Similar to the phys_opt_design command, the read_iphys_opt_tcl command has options to limit the replayed design steps to certain types, such as fanout optimization, block RAM register optimization, and rewiring.