Following are more details on the route_design
options and option
values where applicable.
-
-nets
- This limits operation to only the list of nets specified. The option
requires an argument that is a Tcl list of net objects. Note that the
argument must be a net object, the value returned by
get_nets
, as opposed to the string value of the net names. -
-pins
- This limits operation only to the specified pins. The option requires an
argument, which is a Tcl list of pin objects. Note that the argument must be
a pin object, the value returned by
get_pins
, as opposed to the string value of the pin names. -
-delay
- By default, the router routes individual nets and pins with the fastest run
time, using available resources without regard to timing criticality. The
-delay
option directs the router to find the route with the smallest possible delay. -
-min_delay
and-max_delay
- These options can be used only with the pin option and to specify a desired
target delay in picoseconds. The
-max_delay
option specifies the maximum desired slow-max corner delay for the routing of the specified pin. Similarly the-min_delay
option specifies the minimum fast-min corner delay. The two options can be specified simultaneously to create a desired delay range. -
-auto_delay
- Use with
-nets
or-pins
option to route in timing constraint-driven mode. Timing budgets are automatically derived from the timing constraints so this option is not compatible with-min_delay
,-max_delay
, or-delay
. -
-preserve
- This option routes the entire design while preserving existing routing.
Without
-preserve
, the existing routing is subject to being unrouted and re-routed to improve critical-path timing. This option is most commonly used when "pre-routing" critical nets, that is, routing certain nets first to ensure that they have best access to routing resources. After achieving those routes, the-preserve
option ensures they are not disrupted while routing the remainder of the design. Note that-preserve
is completely independent of the FIXED_ROUTE and IS_ROUTE_FIXED net properties. The route preservation lasts only for the duration of theroute_design
operation in which is it used. The-preserve
option can be used with-directive
, with one exception, the-directive Explore
option, which modifies placement, which in turn modifies routing. -
-unroute
- The
-unroute
option removes routing for the entire design or for nets and pins, when combined with the nets or pin options. The option does not remove routing for nets with FIXED_ROUTE properties. Removing routing on nets with FIXED_ROUTE properties requires the properties to be removed first. -
-timing_summary
- The router outputs a final timing summary to the log, based on its internal
estimated timing which might differ slightly from the actual routed timing
due to pessimism in the delay estimates. The
-timing_summary
option forces the router to call the Vivado static timing analyzer to report the timing summary based on the actual routed delays. This incurs additional run time for the static timing analysis. The-timing_summary
is ignored when the-directive Explore
option is used.When the
-directive Explore
option is used, routing always calls the Vivado static timing analyzer for the most accurate timing updates, whether or not the-timing_summary
option is used. -
-tns_cleanup
- For optimal run time, the router focuses on improving the Worst Negative
Slack (WNS) path as opposed to reducing the Total Negative Slack (TNS). The
-tns_cleanup
option invokes an optional phase at the end of routing, during which the router attempts to fix all failing paths to reduce the TNS. Consequently, this option might reduce TNS at the expense of run time but might not affect WNS. Use the-tns_cleanup
option during routing when you intend to follow router runs with post-route physical optimization. Use of this option during routing ensures that physical optimization focuses on the WNS path and that effort is not wasted on non-critical paths that can be fixed by the router. Runningroute_design -tns_cleanup
on an already routed design only invokes the TNS cleanup phase of the router and does not affect WNS (TNS cleanup is re-entrant). This option is compatible with-directive
. -
-physical_nets
- The
-physical_nets
option operates only on logic 0 and logic 1 routes. The option covers all logic constant values in the design and is compatible with the-unroute
option. Because constant 0 and 1 tie-offs in the physical device have no exact correlation to logical nets, these nets cannot be routed and unrouted reliably using the-nets
and-pins
options. -
-ultrathreads
- This option shortens router runtime at the expense of repeatability. With
-ultrathreads
, the router runs faster but there is a very small variation in routing between identical runs. -
-release_memory
- After router initialization, router data is kept in memory to ensure optimal performance. This option forces the router to delete its data from memory and release the memory back to the operating system. This option should not be required for mainstream use and is provided in case router memory must be manually managed, for example, with extremely large designs.
-
-finalize
- When routing interactively you can specify
route_design -finalize
to complete any partially routed connections.For UltraScale+ designs, this step is required if placement and routing of registers was changed as part of an ECO task.
-
-no_timing_driven
- This option disables timing-driven routing and is used primarily for testing the routing feasibility of a design.
-
-eco
- This option is used with incremental mode to get a shorter runtime after some ECO modifications to the design while keeping the routability and timing closure.