Altera Home Page
Literature Licensing
Buy On-Line Download

  Home   |   Products   |   Support   |   End Markets   |   Technology Center   |   Education & Events   |   Corporate   |   Buy On-Line  
  Devices   |   Design Software   |   Intellectual Property   |   Design Services   |   Dev. Kits/Cables   |   Literature  

 Products
      Overview
   Quartus II
          What's New
          Getting Started
          Performance
          Design Features
          Synthesis Features
          Place & Route Features
       Verification Features
          OS Support
          Multi-Processor Support
          Memory Requirements
       Questions & Answers
          Literature
      Quartus II Web Edition
   SOPC Builder
   DSP Builder
      ModelSim-Altera
   Legacy Software
  
 Device Design Flows
      FPGA
      CPLD
      Structured ASIC
  
 Switching to Quartus II
      MAX+PLUS II Users
      ASIC Users
  
 Partners
   EDA Partners
      System Level Software
  
 Ordering & Downloading
      Ordering
      Downloading
      Licensing
  

Quartus II Incremental Compilation

#1 in Performance and Productivity for High-Density FPGA Design

Quartus® II software includes the FPGA industry’s first incremental compilation feature. This feature supports both top-down and bottom-up, team-based design and delivers faster compilation times for design iterations while preserving performance, enabling Quartus II software to be the productivity leader for high-density FPGA design. Using Quartus II software for your high-density FPGA designs now gives you the fastest path to design completion.

Performance of Design Blocks Maintained Throughout System Integration

The Quartus II incremental design capability was enhanced to include a team-based project management flow which provides significant productivity advantages for team-based design. System architects can first define a project using a top-down approach. With the new Project Manager Interface (see Figure 1), you can generate all the bottom-up design partition projects enabling individual engineers to independently develop and optimize functions which can then be easily integrated into a complete design. System architects can incrementally integrate optimized design blocks as they are ready, while the performance of the design blocks is maintained throughout system integration.

Figure 1. Project Manager GUI

Figure 1. Project Manager GUI
View full size

Perform More Iterations Each Day to Maximize Productivity

By reducing compilation times (see Figure 2), you can now jump from only one to two design iterations per day to as many as four to ten iterations per day, dramatically improving your productivity.

Figure 2. Reduce Compilation Times and Perform More Iterations for High-Density FPGA Designs

Figure 2. Reduce Compilation Times & Perform More Iterations for High-Density FPGA Designs

Reach Timing Closure Faster

Incremental compilation enables you to identify physical and logical partitions for synthesis and fitting/logic placement, as shown in Figure 3.

Figure 3. Design Partitions for Incremental Compilation

Figure 3. Design Partitions for Incremental Compilation

The Quartus II software preserves your assigned partitions when processing your design, allowing you to optimize specific partitions while keeping others intact. Advanced optimization techniques can cause compilation times to increase, but the incremental compilation feature enables you to limit this effect and see timing closure improvements. Simply use advanced optimization techniques such as physical synthesis on specific design partitions while leaving other partitions untouched.

For example, if Partition Top and Partition F (see Figure 3) are already meeting performance requirements, you can now optimize overall design performance further by making changes only to Partition B or by recompiling the design with physical synthesis turned on.

Ease of Use

Partitions can easily be assigned from the hierarchy view in the Quartus II software project navigator, as shown in Figure 4.

Figure 4. Identifying Design Partitions in the User Interface

Figure 4. Identifying Design Partitions in the User Interface

After identifying how a design is partitioned, you can gain a high degree of control over how designs are processed by simply setting a netlist type property for each partition. Table 1 shows the available settings.

Table 1. Partition Netlist Types
Netlist Type Behavior
Source Compile partition using the associated design source file or files.
Post-Synthesis Compile partition  using the previous synthesis results, if available, so source file changes are detected.
Post-Fit Compile partition using the previous placement/fitting results, if available, and if no source file changes are detected.
Post-Fit [Strict] Preserves post-fit results if a post-fit netlist is available. This setting differs from the Post-Fit setting in that it causes the compiler to ignore any design changes associated with the partition.
Empty Do not compile partition, just connect ports from other partitions to the ports of this partition. This feature is useful for block-based design when some partition designs are not yet complete.

Scripting Support

If you prefer script-based design flows, you can easily set up designs to use the incremental compilation feature, as shown below:

set project top_project

package require   :: quartus::flow
project_open $project

# Turn on Incremental Compilation
set_global_assignment –name INCREMENTAL_COMPILATION \
    FULL_INCREMENTAL_COMPILATION

# Set up the partitions
set_instance_assignment –name PARTITION_HIERARCHY \
    db/A_inst –to A –section_id “Partition_A”
set_instance_assignment –name PARTITION_HIERARCHY \
    db/B_inst –to B –section_id “Partition_B”

# Set the netlist type to post-fit for subsequent
# compilations so previous results are used if no design 
# changes are detected
set_global_assignment –name PARTITION_NETLIST_TYPE \
    POST_FIT –section_id “Partition_A”
set_global_assignment –name PARTITION_NETLIST_TYPE \
    POST_FIT –section_id “Partition_B”

# Run initial compilation
execute_flow –full_compile

project_close

Find out more about Quartus II software tool command language (Tcl) scripting support.

Third-Party Synthesis Support

You can use all third-party synthesis tools with the Quartus II incremental compilation feature, including:

  • Synplicity Synplify tools
  • Mentor Graphics® Precision and LeonardoSpectrum™ tools
  • Synopsys DC FPGA

For more details on using these tools with the Quartus II software incremental compilation feature, refer to the Quartus II Handbook.

Device Support

The Quartus II incremental compilation feature is available in the Quartus II Subscription Edition version 6.1 for the following families:

  • Stratix® III FPGAs
  • Stratix II FPGAs
  • Stratix FPGAs
  • Stratix GX FPGAs
  • Cyclone® II FPGAs
  • Cyclone FPGAs
  • HardCopy® II Devices

 
Download the Using the Quartus II Incremental Compilation feature handbook chapter

View Quartus II Incremental Compilation Questions & Answers

  Please Give Us Feedback