Quartus® Prime Pro Edition User Guide: Design Compilation
ID
683236
Date
4/01/2024
Public
A newer version of this document is available. Customers should click here to go to the newest version.
1.1. Compilation Overview
1.2. Using the Compilation Dashboard
1.3. Design Netlist Infrastructure
1.4. Using the Node Finder
1.5. Precompiled Component (PCC) Generation Flow
1.6. Analysis & Elaboration Flow
1.7. Design Synthesis
1.8. Design Place and Route
1.9. Incremental Optimization Flow
1.10. Fast Forward Compilation Flow
1.11. Full Compilation Flow
1.12. Compilation Monitoring Mode
1.13. Exporting Compilation Results
1.14. Integrating Other EDA Tools
1.15. Compiler Optimization Techniques
1.16. Synthesis Language Support
1.17. Synthesis Settings Reference
1.18. Fitter Settings Reference
1.19. Design Compilation Revision History
1.7.3.1. Registering the SDC-on-RTL SDC File
1.7.3.2. Applying the SDC-on-RTL Constraints
1.7.3.3. Inspecting SDC-on-RTL Constraints
1.7.3.4. Creating Constraints in SDC-on-RTL SDC Files
1.7.3.5. Using Entity-Based SDC-on-RTL Constraints
1.7.3.6. Types of SDC Files Used in the Quartus® Prime Software
1.7.3.7. Example: Using SDC-on-RTL Features
1.13.1. Exporting a Version-Compatible Compilation Database
1.13.2. Importing a Version-Compatible Compilation Database
1.13.3. Creating a Design Partition
1.13.4. Exporting a Design Partition
1.13.5. Reusing a Design Partition
1.13.6. Viewing Quartus Database File Information
1.13.7. Clearing Compilation Results
2.1. Factors Affecting Compilation Results
2.2. Strategies to Reduce the Overall Compilation Time
2.3. Reducing Synthesis Time and Synthesis Netlist Optimization Time
2.4. Reducing Placement Time
2.5. Reducing Routing Time
2.6. Reducing Static Timing Analysis Time
2.7. Setting Process Priority
2.8. Reducing Compilation Time Revision History
1.15.6.1. Enabling or Disabling Fractal Synthesis
For Stratix® 10 and Agilex™ 7 devices, fractal synthesis optimization runs automatically for small multipliers (any A*B statement in Verilog HDL or VHDL where bit-width of the operands is 7 or less). You can also disable automatic fractal synthesis for small multipliers for these devices using either of the following methods:
- In RTL, set the DSP multstyle, as "Multstyle Verilog HDL Synthesis Attribute" describes. For example:
(* multstyle = "dsp" *) module foo(...); module foo(..) /* synthesis multstyle = "dsp" */;
- In the .qsf file, add as an assignment as follows:
set_instance_assignment -name DSP_BLOCK_BALANCING_IMPLEMENTATION \ DSP_BLOCKS -to r
In addition, for Stratix® 10, Agilex™ 7, Arria® 10, and Cyclone® 10 GX devices, you can enable fractal synthesis globally or for specific multipliers with the Fractal Synthesis GUI option or the corresponding FRACTAL_SYNTHESIS .qsf assignment:
- In RTL, use altera_attribute as follows:
(* altera_attribute = "-name FRACTAL_SYNTHESIS ON" *)
- In the .qsf file, add as an assignment as follows:
set_global_assignment -name FRACTAL_SYNTHESIS ON -entity <module name>
In the user interface, follow these steps:
- Click Assignments > Assignment Editor.
- Select Fractal Synthesis for Assignment Name, On for the Value, the arithmetic-intensive entity name for Entity, and an instance name in the To column. You can enter a wildcard (*) for To to assign all instances of the entity.
Figure 133. Fractal Synthesis Assignment in Assignment Editor
Related Information