Routing Example Script 3 - 2023.1 English

Vivado Design Suite User Guide: Implementation (UG904)

Document ID
Release Date
2023.1 English
# get nets of the top 10 setup-critical paths
set preRoutes [get_nets -of [get_timing_paths -max_paths 10]]

# get nets of the top 10 hold-critical paths
lappend preRoutes [get_nets -of [get_timing_paths -hold -max_paths 10]]

# route $preRoutes based on timing constraints 
route_design -nets [get_nets $preRoutes] -auto_delay

# preserve the routing for $preRoutes and continue with the rest of the design 
route_design -preserve

As in example 2, a few critical nets are routed first, followed by routing of the entire design. The difference is the use of -auto_delay instead of -delay. The router performs timing-driven routing of the critical nets, which sacrifices some runtime for greater accuracy. This is particularly useful for situations in which nets are involved in both setup-critical and hold-critical paths, and the routes must fall within a delay range to meet both setup and hold requirements.