NI FPGA Interface C API is a C API for communication between processor and FPGA within NI reconfigurable I/O (RIO) hardware such as NI CompactRIO, NI Single-Board RIO, NI Ethernet RIO, NI FlexRIO, NI R Series multifunction RIO, and NI MXI-Express RIO for embedded control and acquisition applications.
With the FPGA Interface C API, developers can use LabVIEW
graphical tools to program the field-programmable gate array (FPGA)
within NI hardware and choose either LabVIEW or C/C++ tools to
program the processor within the system. This gives engineers and
scientists with C expertise the ability to take advantage of FPGAs
within their designs without the burden of learning hardware design
while also giving them the option to reuse their existing embedded
With the FPGA Interface C API, engineers and scientists can program the real-time processor on NI FPGA-based hardware using C tools such as NI LabWindows/CVI, Microsoft Visual Studio, Eclipse, Wind River Workbench or the GNU GCC toolchain and interface to the LabVIEW FPGA code running on the FPGA. Developers also can program the processor using the LabVIEW Real-Time Module, which includes tools for low-level system debugging and precision execution timing for increased flexibility and functionality of deterministic real-time applications.
The C API is essentially a C version of the LabVIEW FPGA Interface. The LabVIEW FPGA Interface is installed with the LabVIEW FPGA Module and with the NI-RIO software. Functions in the C API correspond to VIs and functions on the FPGA Interface palette in LabVIEW.