incremental compiles in quartus

Dec 18, 2006 1 Replies

We just purchased the full version of Quartus II (version 6.0) because it has the ability to perform incremental recompiles after small changes, saving on compile time. I understand the design flow as described in the manual, but so far I've been unable to get incremental recompiles to work right. (I'm using a command line interface rather than the GUI, in case that makes a difference.)



Running quartus_map, I get this message.



Info: Partition "s_led" is synthesized because no netlist is available for reuse



That makes sense the first time around, but presumably a post-synthesis or post-fit netlist would be saved and subsequent compiles could use it.



Running quartus_cdb --merge=on, I get this:



Warning: Previously generated Fitter netlist for partition "s_led" does not exist -- trying to use previously generated Synthesis netlist



This might indicate a modicum of success, i.e. that at least the post-synthesis netlist *might* be used, but I want to use the post-fit netlist for more time savings.



Running quartus_fit, I get this:


Warning: Ignored partition netlist type assignment changes Info: Partition "s_led" is using previous netlist type "Source File" and not current setting of "Post-Fit"



I suspect that this warning message is tied in with the fact that no post-fit netlist appears to be being saved for next time.



Does anyone know what might be going on?



Many thanks... David


If only 2^(7/12) were equal to 3/2, music would sound a lot better.

Hi,

I don't exactly know what's going on for you, but I can share my experience with the quartus webpack, where I could perform kind of incremental compiles.

The way to do this is to back-annotate the design in plaintext files, and ask quartus to reuse the files. You can get the mapping, place, and route back annotation via:

quartus_cdb design --vqm=design.vqm quartus_cdb design --back_annotate=lab (writes place in the .qsf) quartus_cdb design --back_annotate=routing (writes routing info in .rcf)

The vqm is automatically taken into account. You reduce (I think) quartus compile time with: set_global_assignment -name TRUE_WYSIWYG_FLOW ON (in the .qsf)

Routing back-annotation should add lines of its own in the qsf asking quartus to re-use routing info.

I think that quartus will re-do the mapping on design change, but will take into account whatever place/route information still applies. I've only tried the above on very small design, where it seems to work, but never on full-fledged designs... If you give this a spin, i'd be interested in the results.

JB

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required