Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20764 Discussions

incremental compilation takes longer than flat compilation


I am currently trying to use incremental compilation to speed up the testing cycles. The goal was to see if compilation will be faster when root partition changes while preserving the post-fit options for the other partitions. However, while trying incremental comp on some of the projects, I found that the compilation time actually increased quiet a bit. I am wondering if there are any steps that might be missing from my process? Or perhaps there are other methods that I can explore? Here are the steps that I took:


  1. Assigned one of the hierarchal instance as design partition, and type as “default” 
  2. Set preservation level to “final” for the partition
  3. In compiler settings, I checked the fast preserve option in incremental compile
  4. Compiled as first run
  5. Modified code in the root partition
  6. Compiled as second run to see the effect of incremental compilation. (Here I thought compilation would be faster, since I preserved the design partition from a previous compilation, but this was not the case)


Here are the compilation times for flat, first run and second run as reference:

Flat: 39 minutes


1st run: 1 hour and 16 minutes


2nd run: 1 hour and 19 minutes

Thank you and have a good day.


0 Kudos
3 Replies
Honored Contributor III

You don't mention whether this is Standard or Pro (I'm guessing Pro since you mention fast preserve), but Fast Preserve is meant to reduce compile time when you reuse the root partition, not when you change it.  The compilation has to start from scratch if you change the root.  The idea is that multiple projects may use the same root partition, so you can save time when you make changes only to internal partitions.  You also don't mention floorplanning with Logic Lock regions, which is required to use the feature.


As for regular block-based compilation, it's not really meant as a compile time reducer.  It's meant to help optimize a design and close timing.  The time it takes to analyze a post-fit design partition can sometimes negate the overall compilation time savings.


0 Kudos

Hi, does the above reply help?

0 Kudos


We did not receive any response to the previous reply provided, thus I will put this case to close pending. Please post a response in the next 15 days to allow me to continue to support you. After 15 days, this thread will be transitioned to community support. The community users will be able to help you with your follow-up questions.



0 Kudos