Programming Languages to Interface with an NI FPGA

Updated Aug 1, 2023

Reported In


  • Multifunction Reconfigurable I/O Device
  • CompactRIO Chassis
  • PXI FPGA Module for FlexRIO


  • LabWindows/CVI Full
  • LabWindows/CVI Base
  • LabVIEW
  • LabVIEW FPGA Module

Programming Language

  • C++
  • Visual Basic .NET
  • C
  • Python

Issue Details

  • I have programmed my NI Reconfigurable I/O product with LabVIEW FPGA, but I need to interface with my controller. What programming languages can I use to communicate with my FPGA?
  • Can I use C/C++ to program my NI's device FPGA?
  • How do I program the FPGA in my CompactRIO, sbRIO, roboRIO, or myRIO in C instead of LabVIEW?


NI offers three methods to interface with NI Reconfigurable I/O products: LabVIEW, C/C++ API, Python API.
Information on using these APIs can be found below:  
Alternatively, you can build the LabVIEW API or C/C++ API into a DLL and call it from your desired programming language. Information on making DLLs in LabVIEW and LabWindows™/CVI™ can be found below. 

Additional Information

Please note these methods are to be used with NI hardware (including, but not limited to: CompactRIO, sbRIO, roboRIO, myRIO, flexRIO, etc.)