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.