A LabVIEW FPGA application is developed in a VI that is targeted for a specific NI FPGA device. The FPGA VI in turn goes through a compilation process that eventually generates a bit file, which when downloaded to the FPGA configures it to function as specified in the VI. If an FPGA is modified it must be recompiled which overwrites the bit file that is stored on the development machine. As a result, it is important that a versioning system is in place to account for both the FPGA VI as well as the bit file.
Since the FPGA VI is where the application is programmed it is often incorporated in a source code control system. Although the bit file cannot be opened to reference the logic of the application it should also be included in a versioning system because it provides a compiled static file that can be referenced back to throughout the software development process.
If bit file versioning is implemented the bit file should be renamed to a meaningful value before it is submitted to source code control for ease of reference. By default the bit file is located in a folder called “FPGA Bitfiles” at the same level as the FPGA VI. In order to verify the location of the bit file navigate in the LabVIEW Project Explorer window to the FPGA VI, right-click on it and select “Target-specific Properties…”
The way in which an FPGA application is referenced in a host application will depend on the versioning that is implemented in a system. In order to reference a specific FPGA VI version, it will need to be checked out of source code control and then the host VI’s “Open FPGA Reference” function will need to be updated to point to the VI as shown in Figure 1. If the bit file is referenced for versioning the “Open FPGA Reference” then should be updated to point to it rather than the FPGA VI.
Figure 1: The Open FPGA VI Reference can be configured either to reference the bit file or the FPGA VI.