Using Directives - 2023.1 English

Vivado Design Suite User Guide: Implementation (UG904)

Document ID
UG904
Release Date
2023-05-16
Version
2023.1 English

When routing the entire design, directives provide different modes of behavior for the route_design command. Only one directive can be specified at a time. The directive option is incompatible with most other options to prevent conflicting optimizations. The following directives are available:

Explore
Allows the router to explore different critical path placements after an initial route.
AggressiveExplore
Directs the router to further expand its exploration of critical path routes while maintaining original timing budgets. The router runtime might be significantly higher compared to the Explore directive because the router uses more aggressive optimization thresholds to attempt to meet timing constraints.
NoTimingRelaxation
Prevents the router from relaxing timing to complete routing. If the router has difficulty meeting timing, it runs longer to try to meet the original timing constraints.
MoreGlobalIterations
Uses detailed timing analysis throughout all stages instead of just the final stages, and runs more global iterations even when timing improves only slightly.
HigherDelayCost
Adjusts the internal cost functions of the router to emphasize delay over iterations, allowing a tradeoff of compile time for better performance.
RuntimeOptimized
Run fewest iterations, trade higher design performance for faster run time.
AlternateCLBRouting
Chooses alternate routing algorithms that require extra runtime but may help resolve routing congestion.
Quick
Absolute, fastest compile time, non-timing-driven, performs the minimum required for a legal design.
Default
Run route_design with default settings.
RQS
Instructs route_design to select the directive specified by the report_qor_suggestion strategy suggestion. Requires an RQS file with a strategy suggestion to be read in prior to calling this directive.