Optimization Modes

You can enable one of the following optimization mode options to focus the Compiler optimization efforts during synthesis. Specify a Balanced strategy, or optimize for Performance, Area, Routability, Power, or Compile Time. The Compiler targets the optimization goal you specify.

Table 1. Optimization Modes (Compiler Settings Page)

Optimization Mode

QSF Value

Description

Implications

Balanced

(normal flow)
Balanced

The Compiler optimizes synthesis for balanced implementation that respects timing constraints.

The default setting that produces a balance between optimization effort and compile time.

High performance effort

High Performance Effort

The Compiler increases the timing optimization effort during placement and routing, and enables timing-related Physical Synthesis optimizations (per register optimization settings).

Increases compilation time for better performance compared to Balanced setting.
High performance with maximum placement effort High Performance With Maximum Placement Effort Enables the same Compiler optimizations as High performance effort, with additional placement optimization effort. Increases compilation time for better performance compared to High performance effort setting.
High performance with aggressive power effort High Performance With Aggressive Power Effort Enables the same Compiler optimizations as High performance effort, while performing additional optimizations to reduce dynamic-power. Increases compilation time for lower power compared to High performance effort setting.
Superior performance Superior Performance Enables the same Compiler optimizations as High performance effort, and adds more optimizations during Analysis & Synthesis to maximize design performance with a potential increase to logic area. Increases compilation time for better performance compared to High performance effort setting. If design utilization is very high, this mode can cause difficulty in fitting, which can also negatively affect overall optimization quality.
Superior performance with maximum placement effort Superior Performance With Maximum Placement Effort Enables the same Compiler optimizations as Superior performance, with additional placement optimization effort. Increases compilation time for better performance compared to Superior performance setting.
Aggressive Area (reduces performance) Agressive Area

The Compiler makes aggressive effort to reduce the device area required to implement the design at the potential expense of design performance.

Reduces performance for reduced area compared to Balanced setting.
High placement routability effort High Placement Routability Effort The Compiler makes high effort to route the design at the potential expense of design area, performance, and compilation time. The Compiler spends additional time reducing routing utilization, which can improve routability and also saves dynamic power. Increases compilation time for better routability compared to Balanced setting.
High packing routability effort High Packing Routability Effort The Compiler makes high effort to route the design at the potential expense of design area, performance, and compilation time. The Compiler spends additional time packing registers, which can improve routability and also saves dynamic power. Increases compilation time for better routability compared to Balanced setting.
Optimize netlist for routability Optimize Netlist for Routability The Compiler implements netlist modifications to increase routability at the possible expense of performance. Increases compilation time for better routability compared to Balanced setting.

Aggressive power

(reduces performance)
Agressive Power

Makes aggressive effort to optimize synthesis for low power. The Compiler further reduces the routing usage of signals with the highest specified or estimated toggle rates, saving additional dynamic power but potentially affecting performance.

Reduces performance for lower power compared to Balanced setting.

Aggressive Compile Time (reduces performance)

Aggressive Compile Time

Especially useful during early design iterations, this mode reduces the compilation run time by 30% (on average) at the expense of design fMAX of 15% (on average). Run time reduction occurs through reduced effort and fewer performance optimizations. This mode also disables some detailed reporting functions.

This mode produces the fastest full-flow timing estimation with an approximate correlation to the high-effort modes.

  • This mode reduces performance.
  • Reduced effort levels can cause no-fits, especially on highly congested designs. Mitigate this potential by either partitioning and constraining the placement of congested parts of design, or by using a high effort or routability mode
  • This mode may not identify the same critical paths as a full-effort compile (similar to Compiler seed-effects).
  • This mode disables some detailed reporting functions and enables .qsf settings that cannot be overridden by other .qsf settings.
Fast Functional Test (hold-timing optimization only) Fast Functional Test

This mode produces a .sof bitstream file that you can use for on-board functional testing with minimal compile time. This mode further reduces compile time beyond Aggressive Compile Time mode by limiting timing optimizations to only those for hold requirements.

  • Reduced effort levels can cause no-fits, especially on highly congested designs. Mitigate this potential by either partitioning and constraining the placement of congested parts of design, or by using a high effort or routability mode. Refer to the Creating a Partition topic in this document and the Intel Quartus Prime Pro Edition User Guide: Design Constraints
  • This mode can require clock speeds outside the lock range of the PLL Intel FPGA IP. Mitigate this effect by using the adjust_pll ECO command to update the PLL IP after fitting.
  • This mode disables some detailed reporting functions and enables .qsf settings that cannot be overridden by other .qsf settings.
Note: If you enable extended optimization modes for Design Space Explorer II by use of .qsf assignments, and then subsequently open the Compiler Settings tab for that project revision, the Compiler Settings tab indicates that the extended optimization mode reverts to one of the Compiler Settings tab Optimization Modes.