Quartus® Prime Pro Edition User Guide: Design Compilation
ID
683236
Date
7/07/2025
Public
1.1. Compilation Overview
1.2. Design Analysis & Elaboration
1.3. Design Synthesis
1.4. Design Place and Route
1.5. Incremental Optimization Flow
1.6. Fast Forward Compilation Flow
1.7. Full Compilation Flow
1.8. HSSI Dual Simplex IP Generation Flow
1.9. Exporting Compilation Results
1.10. Clearing Compilation Results
1.11. Integrating Other EDA Tools
1.12. Compiler Optimization Techniques
1.13. Compilation Monitoring Mode
1.14. Viewing Quartus Database File Information
1.15. Understanding the Design Netlist Infrastructure
1.16. Using Synopsys* Design Constraint (SDC) on RTL Files
1.17. Using the Node Finder
1.18. Synthesis Language Support
1.19. Synthesis Settings Reference
1.20. Fitter Settings Reference
1.21. Design Compilation Revision History
2.1. Factors Affecting Compilation Results
2.2. Strategies to Reduce the Overall Compilation Time
2.3. Reducing Synthesis 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
2.2.4. Using Block-Based Compilation
During the design process, when making minor modifications to a design, recompiling the entire design can result in longer compilation times than anticipated.
This is because every time you recompile a design following a change, the compiler may apply global optimizations to enhance resource utilization and timing performance, thus extending the compilation time. By employing a block-based flow in the Quartus® Prime Pro Edition software, you can isolate functional blocks that meet placement and timing requirements from others still undergoing change and optimization. By isolating functional blocks into partitions, the results and performance of unaltered logic within a design are maintained so you can apply optimization techniques to selected areas and only compile those areas. This approach can significantly diminish design compilation time, enabling several iterations per day and facilitating more efficient achievement of timing closure.
When using block-based compilation, you can enable the Fast Preserve option, which masks the partition netlist during the fitter initialization to use only the logic that interfaces with the rest of the design present at the partition boundary during compilation. By implementing this approach, the time required for the compiler to perform synthesis, place, route, and partition is effectively reduced. Consequently, the overall compilation process becomes more efficient, enabling faster generation of the necessary configurations for the partition. This reduction in compilation time allows for quicker iterations and facilitates the timely completion of the design implementation phase.
To create partitions dividing functional blocks:
- In the Design Partition Planner, identify blocks of a size suitable for partitioning.
A partition generally represents roughly 15 to 20% of the total design size. You should use the information area below the bar at the top of each entity.Figure 135. Entity representation in the Design Partition Planner
- Extract and collapse entities as necessary to achieve stand-alone blocks.
- For each entity of the desired size containing related blocks of logic, right-click the entity and click Create Design Partition to place that entity in its own partition.
The goal is to achieve partitions containing related blocks of logic.
- To enable the Fast Preserve option that simplifies the logic of the preserved partition to only interface logic during compilation, click Assignments > Settings > Compiler Settings > Incremental Compile > Fast Preserve.
Intel® recommends consulting the Quartus® Prime Pro Edition User Guide: Block-Based Design to gain in-depth knowledge about block-based designs. This guide serves as a comprehensive resource that provides detailed information, instructions, and explanations related to the Quartus® Prime Pro Edition software.
Related Information