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 ?
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)
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.
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 ?
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?