From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
I think this is something everyone would like to see, I'm glad someone finally posted an idea for it to get feedback from the community. With the introduction of (better) incremental compilation in the latest 3rd party tools like Xilinx there is certainly some features the LabVIEW FPGA compiler could take advantage of. There is also plenty of optimizations within the LabVIEW FPGA compiler itself that could help.
The problem with incremental compilation of any kind is doing it well enough that the majority of use cases don't suffer performance issues when squeezing application changes into as few changes in the actual hardware. Getting this balance right takes a lot of work and a lot of sample applications to try it against.
Just to clarify, my vote for this one comes with serious respect to the manifold technical challenges that will likely be encountered, as alluded to by Dragis.
Nonetheless, I think it would be fantastic if it could be implemented well.
The importance of this one is only going to increase as the growth in FPGA complexity continues to outpace the single threaded CPU performance required to synthesize designs.
When changing even a COntrol name, I have to compile again, and it takes nearly 5 hours... It makes it so hard work with it when you need to code and fix when validating the system with the customer.
Short story, I'm also working on a project and we use VHDL IP, so the VHDL guy asks me: Why would you compile everything? it will take forever... I explain him the issue, and he told me that it should be easy to compile only the modified functions (i.e modifying a sub vi should compile only the shub VI and a small portion of the calling VI)
Not sure if this a dead idea, but I would very much like to see incremental compile option. As noted above, even a minor control name change means recompiling everything. Heck even just changing the size of the front panel means a recompile. The other thing is the Xilinx IP. This shouldn't need to get built every time unless something was changed. If you work directly in Vivado, this is how they operate. It makes no sense to recompile/synthesize the entire project when nothing has changed, especially the Xilinx IP cores.
deadbug, If you like this idea you need to give it a Kudo. A comment does not count as a vote for the idea.
There are only two ways to tell somebody thanks: Kudos and Marked Solutions Unofficial Forum Rules and Guidelines "Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5