The Run section of the ECO Navigator, shown in the following figure, provides access to all the commands required to implement the current changes.
- Check ECO
- Runs the ECO checks rule deck on the current design.Tip: The Vivado tools allow you to make netlist changes unconditionally using the ECO commands. However, logical changes can lead to invalid physical implementation. Run the Check ECO function to flag any invalid netlist changes or new physical restrictions that need to be addressed before physical implementation can commence.
- Optimize Logical Design
- In some cases, it is desirable to run
opt_design
on the modified design to optimize the netlist. This command opens the Optimize Logical Design dialog box, allowing you to specify options for theopt_design
command. Any options that are entered in the dialog box are appended to theopt_design
command as they are typed. For example, to runopt_design -sweep
, type-sweep
under Options.Figure 2. Optimize Logical Design Dialog Box
- Place Design
- For 7 series and
UltraScale families, runs incremental
place_design
on the modified netlist as long as 75% or more of the placement can be reused. The Incremental Placement Summary at the end ofplace_design
provides statistics on incremental reuse. Selecting this command opens the Place Design dialog box and allows you to specify options for theplace_design
command. Any options that are entered in the dialog box are appended to theplace_design
command as they are typed.Refer to Incremental Implementation for additional information on Incremental Place and Route.
For Versal,
place_design -eco
command is used to invoke the ECO placer. By default, it supports timing driven mode. To invoke the non-timing driven mode, an extra switch-no_timing_driven
is used. It places the unplaced or newly added cells. The addition of new cells is limited to 1% of the design utilization and the following restrictions should be observed:- The new cells are limited to addition of Flops and LUTs.
- The ECO edits should not lead to changes in the clock solution.
- There should be no modifications to SLR crossings.
- In the DFX design, the changes should not impact boundary connections. Static modifications in child implementation runs are not supported.
To enable the ECO placer flow in timing driven mode in the Place Design Dialog Box, add options
-eco
as shown in the following figure. The Tcl command to invoke ECO placer is as follows:place_design -eco
Figure 3. Place Design Dialog BoxTo enable the ECO placer flow in the non timing driven mode in the Place Design Dialog Box, add options -eco -no_timing_driven as shown below. The Tcl command to invoke ECO placer is as follows:place_design -eco -no_timing_driven
Figure 4. Place Design Dialog Box - Optimize Physical Design
- In some cases it is desirable to run
phys_opt_design
on the modified design to perform physical optimization on the netlist. This command opens the Optimize Physical Design dialog box and allows you to specify options for thephys_opt_design
command. Any options that are entered in the dialog box are appended to thephys_opt_design
command as they are typed. For example, to runphys_opt_design -fanout_opt
, type-fanout_opt
under Options.Figure 5. Optimize Physical Design Dialog Box
- Route Design
- For 7 series and
UltraScale families, selecting this command opens the
Route Design
dialog box. Depending on the selection, this command allows you to perform
an Incremental Route of the modifications made to the design, Route the
selected pin, or Route selected nets. If Incremental Route is selected on a
modified netlist that has less than 75% of reused nets, the tool reverts to
the non-incremental
route_design
.Figure 6. Route Design Dialog Box
Refer to Incremental Implementation for additional information on Incremental Place and Route.
For Versal, route_design -eco
command is used to invoke the ECO router flow. It
supports both timing driven and non timing driven modes. Use the finalize_eco
command to ensure valid placement before
calling the ECO router flow. Invalid site configurations resulting from ECO changes
are fixed by finalize_eco
.
If the ECO operation adds new cells, finalize_eco
is not required and you can run place_design -eco
to place the cells before routing. Otherwise, run
finalize_eco
before route_design -eco
.
To enable the ECO router flow in the Route Design Dialog Box, add the options as shown in the following figure:
-
-eco
for timing driven flow -
-eco -no_timing_driven
for non timing driven flow
finalize_eco
route_design -eco -no_timing_driven