Forum Discussion
Why fitter incremental compile and single compile yield different timing result
I realized the timing result is different if I compile a Stratix 10 design using incremental compile versus single compile. By incremental compile, I mean I compile the design stage by stage during fitter process. See below
> incremental compile
execute_module -tool fit -args --plan
execute_module -tool fit -args --place
execute_module -tool fit -args --route --retime --finalize
> single compile
execute_module -tool fit
I wonder whether the two flows above are the same? what was missing? Anyone can help ?
Thanks,
Ot
I attached a reference design to reproduce this issue. Do use the run.tcl script inside the .tgz file to run the design. It will compile the two flows and print out the timing result. The design was compiled in Quartus Pro 19.1em1.
(quartus_sh -t run.tcl)
4 Replies
- GuaBin_N_Intel
Contributor
I'm not aware of any compilation difference between these two different flows. It seems that the script is working same for both of the flows. After tried to restore design and do incremental compile twice, it produces the same results. See if I could find out what flow difference is.
- oAng0
New Contributor
Hi GNg,
Thanks for looking into this. Do you mean you aren't able to reproduce the timing results differences between single_compile and incremental_compile using the attached design ?
- GuaBin_N_Intel
Contributor
Looking at this document https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug-qpp-compiler.pdf, 1.7.3 Factors Affecting Compilation Results. It gives some factors that can impact the compilation result. Seems that number of processors running the design may give different result. - oAng0
New Contributor
As stated in my first post, the only different is the flow of compilation ( single vs incremental ) . Are you saying Quartus use different number of processors to compile between these two flows?