Implementation Strategies (7 Series, UltraScale, and UltraScale+) - Implementation Strategies (7 Series, UltraScale, and UltraScale+) - 2026.1 English - UG904

Vivado Design Suite User Guide: Implementation (UG904)

Document ID
UG904
Release Date
2026-06-23
Version
2026.1 English
Table 1. Implementation Strategy Description
Implementation Strategy Name Description
Vivado Implementation Defaults Default settings for Implementation.
Performance_Auto_1 Best predicted directive for place_design.
Performance_Auto_2 Second best predicted directive for place_design.
Performance_Auto_3 Third best predicted directive for place_design.
Performance_Explore Uses multiple algorithms for optimization, placement, and routing to get potentially better results.
Performance_ExplorePostRoutePhysOpt Similar to Peformance_Explore, but enables the physical optimization step (phys_opt_design) with the Explore directive after routing.
Performance_ExploreWithRemap Similar to Performance_ExplorePostRoutePhysOpt, but enables logic optimization step (opt_design) with the ExploreWithRemap directive.
Performance_WLBlockPlacement Ignore timing constraints for placing Block RAM and DSPs, use wirelength instead.
Performance_WLBlockPlacementFanoutOpt Ignore timing constraints for placing Block RAM and DSPs, use wirelength instead, and perform aggressive replication of high fanout drivers.
Performance_EarlyBlockPlacement Finalize placement of Block RAM and DSPs in the early stages of global placement.
Performance_NetDelay_high To compensate for optimistic delay estimation, add extra delay cost to long distance and high fanout connections. (high setting, most pessimistic)
Performance_NetDelay_low To compensate for optimistic delay estimation, add extra delay cost to long distance and high fanout connections. low setting, least pessimistic)
Performance_Retiming Combines retiming in phys_opt_design with extra placement optimization and higher router delay cost.
Performance_ExtraTimingOpt Includes alternate algorithms for timing-driven optimization
Performance_RefinePlacement Increase placer effort in the post-placement optimization phase, and disable timing relaxation in the router.
Performance_SpreadSLLs A placement variation for SSI devices with tendency to move SLR crossings horizontally.
Performance_BalanceSLLs A placement variation for SSI devices with more aggressive crossings of SLR boundaries.
Performance_BalanceSLRs A placement variation for SSI devices to balance logic packing between SLRs.
Performance_HighUtilSLRs A placement variation for SSI devices with more logic packing in each SLR.
Congestion_SpreadLogic_high Spread logic throughout the device to avoid creating congested regions. (high setting: highest degree of spreading)
Congestion_SpreadLogic_medium Spread logic throughout the device to avoid creating congested regions. (medium setting)
Congestion_SpreadLogic_low Spread logic throughout the device to avoid creating congested regions. (low setting: lowest degree of spreading)
Congestion_SSI_SpreadLogic_high Spread logic throughout SSI device to avoid creating congested regions. (high setting: highest degree of spreading)
Congestion_SSI_SpreadLogic_low Spread logic throughout SSI device to avoid creating congested regions. (low setting: minimal spreading)
Area_Explore Uses multiple optimization algorithms to get potentially fewer LUTs.
Area_ExploreSequential Uses multiple optimization algorithms to get potentially fewer LUTs and registers.
Area_ExploreWithRemap Adds the remap optimization to reduce logic
Power_DefaultOpt Adds power optimization (power_opt_design) to reduce power consumption.
Power_ExploreArea Combines power optimization (power_opt_design) with sequential area reduction to reduce power consumption.
Flow_RunPhysOpt Similar to the Implementation Run Defaults, but enables the physical optimization step (phys_opt_design).
Flow_RunPostRoutePhysOpt Similar to the Implementation Run Defaults, but enables the physical optimization step (phys_opt_design) before and after routing.
Flow_RuntimeOptimized Each implementation step trades design performance for better runtime. Physical optimization (phys_opt_design) is disabled.
Flow_Quick Fastest possible runtime, all timing-driven behavior disabled. Useful for utilization estimation.
Table 2. Directives Used by opt_design and place_design in Implementation Strategies
Strategy opt_design Directive place_design Directive
Vivado Implementation Defaults Default Default
Performance_Auto_1 Explore Auto_1
Performance_Auto_2 Explore Auto_2
Performance_Auto_3 Explore Auto_3
Performance_Explore Explore Explore
Performance_ExplorePostRoutePhysOpt Explore Explore
Performance_ExploreWithRemap ExploreWithRemap Explore
Performance_WLBlockPlacement Explore WLDrivenBlockPlacement
Performance_WLBlockPlacementFanoutOpt Default WLDrivenBlockPlacement
Performance_EarlyBlockPlacement Explore EarlyBlockPlacement
Performance_NetDelay_high Default ExtraNetDelay_high
Performance_NetDelay_low Explore ExtraNetDelay_low
Performance_Retiming Default ExtraPostPlacementOpt
Performance_ExtraTimingOpt Default ExtraTimingOpt
Performance_RefinePlacement Default ExtraPostPlacementOpt
Performance_SpreadSLLs Default SSI_SpreadSLLs
Performance_BalanceSLLs Default SSI_BalanceSLLs
Performance_BalanceSLRs Default SSI_BalanceSLRs
Performance_HighUtilSLRs Default SSI_HighUtilSLRs
Congestion_SpreadLogic_high Default AltSpreadLogic_high
Congestion_SpreadLogic_medium Default AltSpreadLogic_medium
Congestion_SpreadLogic_low Default AltSpreadLogic_low
Congestion_SSI_SpreadLogic_high Default SSI_SpreadLogic_high
Congestion_SSI_SpreadLogic_low Default SSI_SpreadLogic_low
Area_Explore ExploreArea Default
Area_ExploreSequential ExploreSequentialArea Default
Area_ExploreWithRemap ExploreWithRemap Default
Power_DefaultOpt Default Default
Power_ExploreArea ExploreSequentialArea Default
Flow_RunPhysOpt Default Default
Flow_RunPostRoutePhysOpt Default Default
Flow_RuntimeOptimized RuntimeOptimized RuntimeOptimized
Flow_Quick RuntimeOptimized Quick
Table 3. Directives Used by phys_opt_design and route_design in Implementation Strategies
Strategy phys_opt_design Directive route_design Directive
Vivado Implementation Defaults Default Default
Performance_Auto_1 AggressiveExplore NoTimingRelaxation
Performance_Auto_2 AggressiveExplore NoTimingRelaxation
Performance_Auto_3 AggressiveExplore NoTimingRelaxation
Performance_Explore Explore Explore
Performance_ExplorePostRoutePhysOpt Explore Explore
Performance_ExploreWithRemap Explore NoTimingRelaxation
Performance_WLBlockPlacement Explore Explore
Performance_WLBlockPlacementFanoutOpt AggressiveFanoutOpt Explore
Performance_EarlyBlockPlacement Explore Explore
Performance_NetDelay_high AggressiveExplore NoTimingRelaxation
Performance_NetDelay_low AggressiveExplore NoTimingRelaxation
Performance_Retiming AlternateFlowWithRetiming Explore
Performance_ExtraTimingOpt Explore NoTimingRelaxation
Performance_RefinePlacement Explore Explore
Performance_SpreadSLLs Explore Explore
Performance_BalanceSLLs Explore Explore
Performance_BalanceSLRs Explore Explore
Performance_HighUtilSLRs Explore Explore
Congestion_SpreadLogic_high AggressiveExplore AlternateCLBRouting
Congestion_SpreadLogic_medium Explore AlternateCLBRouting
Congestion_SpreadLogic_low Explore AlternateCLBRouting
Congestion_SSI_SpreadLogic_high AggressiveExplore AlternateCLBRouting
Congestion_SSI_SpreadLogic_low Explore AlternateCLBRouting
Area_Explore Default Default
Area_ExploreSequential Default Default
Area_ExploreWithRemap Default Default
Power_DefaultOpt Default Default
Power_ExploreArea Default Default
Flow_RunPhysOpt Explore Default
Flow_RunPostRoutePhysOpt Explore Default
Flow_RuntimeOptimized Default RuntimeOptimized
Flow_Quick Default Quick