Routing Example Script 1 - 2021.2 English

Vivado Design Suite User Guide: Implementation (UG904)

Document ID
Release Date
2021.2 English
# Route design, save results to checkpoint, report timing estimates route_design
write_checkpoint -force $outputDir/post_route
report_timing_summary -file $outputDir/post_route_timing_summary.rpt

The route_design example script performs the following steps:

  1. Routes the design
  2. Writes a design checkpoint after completing routing
  3. Generates a timing summary report
  4. Writes the report to the specified file.

Routing is performed as part of an implementation run, or by running route_design after place_design as part of a Tcl script.

The router provides info in the log to indicate progress, such as the current phase (initialization, global routing iterations, and timing updates). At the end of global routing, the log includes periodic updates showing the current number of overlapping nets as the router attempts to achieve a fully legalized design. For example:

Phase 4.1 Global Iteration 0
Number of Nodes with overlaps = 435 
Number of Nodes with overlaps = 3 
Number of Nodes with overlaps = 1 
Number of Nodes with overlaps = 0

The timing updates are provided throughout the flow showing timing closure progress.

Timing Summary

[Route 35-57] Estimated Timing Summary | WNS=0.105 | TNS=0 | WHS=0.051 | THS=0


  • WNS = Worst Negative Slack
  • TNS = Total Negative Slack
  • WHS = Worst Hold Slack
  • THS = Total Hold Slack
Note: Hold time analysis can be skipped during intermediate routing phases. If hold time is not performed, the router shows a value of "N/A" for WHS and THS.

After routing is complete, the router reports a routing utilization summary and a final estimated timing summary.

Router Utilization Summary

Global Vertical Routing Utilization = 15.3424 % 
Global Horizontal Routing Utilization = 16.3981 % 
Routable Net Status*
*Does not include unroutable nets such as driverless and loadless. 
Run report_route_status for detailed report.
Number of Failed Nets	= 0
Number of Unrouted Nets	= 0 
Number of Partially Routed Nets = 0 
Number of Node Overlaps	= 0