How Do I Create an Executable out of My LabVIEW FPGA VI?

Updated Feb 14, 2020

Reported In


  • LabVIEW FPGA Module
  • LabVIEW Application Builder Module
  • LabVIEW Runtime


  • NI CompactRIO
  • NI R Series Multifunction RIO
  • FlexRIO

Issue Details

I have a VI that has been written in LabVIEW FPGA. Is it possible to distribute this VI?


FPGA VIs can be distributed, however, it cannot directly be compiled into an executable. 

There are two ways to distribute FPGA code. 

  • Method 1: ​Distribute the bitfile, which is created when compiling the FPGA, so the user can create their own Host VI. For this, only the LabVIEW Development System and NI-RIO driver are needed on the executing machine.
  • Method 2: Distribute using the Host VI where you will only need the LabVIEW Run-time Engine and the NI-RIO driver on the executing machine.

To distribute an FPGA VI using Method 2, follow these steps:

  1. Create the FPGA VI with front panel objects that can be manipulated by the end user. Compile and run it on the target to generate the bitstream for the FPGA code.
  2. Create a Host VI on the PXI or cRIO system to communicate with the FPGA VI. Use the FPGA interface palette to Open FPGA Reference, read/write data to/from the FPGA, and Close FPGA Reference.
  3. Right-click on Open FPGA Reference VI and choose Select Target VI/Select Bit File and pick your FPGA VI/Bit File.
  4. Now using the Application Builder, build the Host VI into an executable.

Keep in mind that neither the FPGA VI nor the Bit files will be included explicitly in the support files for the project. They are implicitly a part of the Real-Time or host executable and will be deployed on the FPGA target once the executable is called on the Real-Time Target or host.

Additional Information

Distributing the bitfile gives more flexibility to the users for interfacing with the FPGA VI, since the user can adequate its use to the needs of their Host VI.