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.
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.
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 |