Available Physical Optimizations - 2022.1 English

Vivado Design Suite User Guide: Implementation (UG904)

Document ID
Release Date
2022.1 English

The Vivado tools perform the physical optimizations on the in-memory design, as shown in the following table.

Important: Physical optimization can be limited to specific optimizations by choosing the corresponding command options. Only those specified optimizations are run, while all others are disabled, even those normally performed by default.
Table 1. Post-Place and Post-Route Physical Optimizations
Option Name post-place post-route
valid default valid default
High-Fanout Optimization Y Y N n/a
Placement Optimization Y Y Y Y
Routing Optimization N n/a Y Y
Rewiring Y Y Y Y
Critical-Cell Optimization Y Y Y N
DSP Register Optimization Y Y N n/a
Block RAM Register Optimization Y Y N n/a
URAM Register Optimization Y N N n/a
Shift Register Optimization Y Y N n/a
Critical Pin Optimization Y Y Y Y
Block RAM Enable Optimization Y Y N n/a
Hold-Fixing Y N Y N
Negative-Edge FF Insertion Y N N n/a
Retiming Y N Y N
Forced Net Replication Y N N n/a
SLR-Crossing Optimization Y N Y Y
Clock Optimization N n/a Y Y

When an optimization is performed on a primitive cell, the PHYS_OPT_MODIFIED property of the cell is updated to reflect the optimizations performed on the cell. When multiple optimizations are performed on the same cell, the PHYS_OPT_MODIFIED value contains a list of optimizations in the order they occurred. The following table lists the phys_opt_design options that trigger an update to the PHYS_OPT_MODIFIED property and the corresponding value.

Table 2. Optimization Options and Values
phys_opt_design Option PHYS_OPT_MODIFIED Value
-fanout_opt FANOUT_OPT
-placement_opt PLACEMENT_OPT
-slr_crossing_opt SLR_CROSSING_OPT
-rewire REWIRE
-insert_negative_edge_ffs INSERT_NEGEDGE
-critical_cell_opt CRITICAL_CELL_OPT
-dsp_register_opt DSP_REGISTER_OPT
-bram_register_opt BRAM_REGISTER_OPT
-uram_register_opt URAM_REGISTER_OPT
-shift_register_opt SHIFT_REGISTER_OPT
-force_replication_on_nets FORCE_REPLICATION_ON_NETS
-clock_opt CLOCK_OPT