Visible to Intel only — GUID: jbr1444414867665
Ixiasoft
Visible to Intel only — GUID: jbr1444414867665
Ixiasoft
2.14.1. Compiler Optimization Modes
set_global_assignment -name OPTIMIZATION_MODE "Aggressive Area"The default value for OPTIMIZATION_MODE is "Balanced". For all other values, refer to the Optimization Modes table.
You can enable one of the following optimization modes to focus the Compiler's optimization effort. The settings compilation mode you select affects synthesis and fitting results.
To select an optimization mode, start with the Balanced setting. This mode is appropriate for many designs and provides an implementation balanced between optimization and compile time. If this setting does not meet your goals, you can try different optimization modes depending on your requirements.
If your design requires additional performance compared to the Balanced setting, use the High performance effort setting that enables additional timing optimizations during the fitting stage. You can achieve additional performance using the Superior performance setting that further enables additional timing optimizations during the Synthesis stage. However, these synthesis optimizations may result in increased logic area, negatively impacting designs with high utilization. Both settings increase compile time.
Alternatively, use the Aggressive Area setting to reduce logic area at the potential expense of performance. Similarly, use the Aggressive power setting to reduce dynamic power at the potential expense of performance.
If your design has difficulty routing successfully, the settings Optimize netlist for routability, High placement routability effort, and High packing routability effort offer a variety of optimizations to improve routability. Which optimizations work best is design-dependent, so try each if you encounter routability issues.
Finally, use Aggressive Compile Time and Fast Functional Test settings to reduce compile time. These settings reduce performance but may be helpful early in a design cycle when only functionality is being verified.
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. |
|
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. |
|