Quartus® Prime Pro Edition User Guide: Design Compilation

ID 683236
Date 9/30/2024
Public
Document Table of Contents

1.1. Compilation Overview

The Compiler is modular, allowing you to run only the stage of compilation that you need. Each Compiler stage performs a specific function in the full compilation process. When you run any stage, the Compiler automatically runs any prerequisite stages and generates detailed reports for each stage. The Compiler can preserve a "snapshot" of the compilation results after each stage.
Table 1.  Compilation Stages Available for All Devices
Compiler Stage Description
IP Generation Identifies the status and version of IP components in the project, reports outdated IP that require upgrade, and generates Intel FPGA IPs in the project.
Analysis & Synthesis
  • Analysis & Elaboration—a stage of Analysis & Synthesis that checks for design file and projects errors. It provides different checkpoints or previews (elaborated, instrumented, constrained, and swept) of your design early in the compilation flow and serves as a platform to better analyze your design and improve it. If enabled, Precompiled Component Generation partially synthesizes IP components in your design, and stores the compilation results in a project subdirectory called IP cache during this stage, as Using Precompiled Component Generation describes.
  • Synthesis—Synthesizes, optimizes, minimizes, and maps design logic to device resources. The "synthesized" snapshot preserves the results of this stage.
Early Timing Analysis Combines Synopsys* Design Constraint (SDC) on RTL and post-synthesis static timing analysis. The SDC-on-RTL allows you to integrate SDC constraints that target nodes using the same names as in your RTL design early in the compilation flow and uses them in the later stages of the Quartus® Prime compilation. However, you can run the module even without RTL SDCs where you can view the synthesized timing netlist.
Fitter (Place & Route)

Assigns the placement and routing of the design to specific device resources, while honoring timing and placement constraints. The Fitter includes the following stages:

  • Plan—places all periphery elements (such as I/Os and PLLs) and determines a legal clock plan, without core placement or routing. The "planned" snapshot preserves the stage results.
  • Place—places all core elements in a legal location. The "placed" snapshot preserves the stage results.
  • Route—creates all routing between the elements in the design. The "routed" snapshot preserves the stage results.
  • Fitter (Finalize)—for Arria® 10 and Cyclone® 10 GX devices, converts unnecessary tiles to High-Speed or Low-Power. For Stratix® 10 and Agilex™ family devices, performs post-Route fix-up. The "final" snapshot preserves the stage results.
Timing Analysis Analyzes and validates the timing performance of all design logic with the Timing Analyzer.
Power Analysis Optional module that estimates device power consumption. Specify the electrical standard on each I/O cell and the board trace model on each I/O standard in your design.
Assembler Converts the Fitter's placement and routing assignments into a programming image for the FPGA device.
EDA Netlist Writer Generates output files for use in other EDA tools, as Integrating Other EDA Tools describes.
Table 2.  Device-Specific Compilation Stages
Compiler Stage Description Available For
HSSI Dual Simplex IP Generation A sub-stage of IP Generation that generates the dual simplex IP in your design. You can run this stage after using the Dual Simplex (DS) Assignment Editor to place supported simplex transceiver-based IPs in the same transceiver channel. Refer to HSSI Dual Simplex IP Generation Flow and the GTS Transceiver PHY User Guide. Agilex™ 5 designs with dual simplex IP only.
Support-Logic Generation Compiler stage preceding Analysis & Synthesis that includes the following sub-stages:
  • Design Analysis—elaborates the design RTL to extract design information about component IP targeting F-tile. You must run this stage before running Tile Interface Planner.
  • Logic Generation—uses your Tile Interface Plan to generate logic for synthesis and implementation of your tile configuration plan. You must run Logic Generation after Design Analysis before you can synthesize your tile plan. Refer to Using Tile Interface Planner, Design Constraints User Guide.
Agilex™ 7 F-Tile designs only
Retime A sub-stage of Fitter that moves (retimes) existing registers into Hyper-Registers for fine-grained performance improvement. The "retimed" snapshot preserves the stage results. Stratix® 10 and Agilex™ family devices only.
Fast Forward Timing Closure Recommendations Generates detailed reports that estimate performance gains achievable by making specific RTL modifications. Refer to Intel Hyperflex Architecture High-Performance Design Handbook Stratix® 10 and Agilex™ family devices only.

Each successive release of the Quartus® Prime software typically includes:

  • Added support for new features in supported FPGA devices.
  • Added support for new devices.
  • Efficiency and performance improvements.
  • Improvements to compilation time and resource use of the design software.

Due to these improvements, different versions of the Quartus® Prime Pro Edition, Quartus® Prime Standard Edition, and Quartus® Prime Lite Edition software can produce different programming files from release to release.