In order to program and compile a LabVIEW FPGA VI that interacts with an NI FlexRIO adapter module, several support files are necessary. These files are used by LabVIEW FPGA and NI-RIO to configure the adapter module hardware interface, represent the adapter module in LabVIEW FPGA, and add the necessary VHDL files to a LabVIEW FPGA VI compilation.
Each version of the adapter module support readme contains information on the required versions of LabVIEW FPGA and NI-RIO needed to support a particular adapter module. This information can also be accessed from the Software Support for CompactRIO, CompactDAQ, Single-Board RIO, R Series, FlexRIO, and EtherCAT devzone (see related links). This document contains software support information for NI FlexRIO FPGA modules and NI FlexRIO adapter modules.
Adapter Module Configuration
Each module uses an adapter module configuration file to inform LabVIEW FPGA and the NI-RIO driver about the hardware interface between the FPGA module and the adapter module. For instance this file is used during the compilation process to properly configure reference voltage levels, determine which adapter module ID to expect during the adapter module discovery sequence, and to properly configure the FPGA I/O standards for the signals on the adapter module connector interface.
As new NI FlexRIO FPGA modules are released, the format for this file will be updated to support new hardware configuration features. For instance the PXI-796xR devices are capable of routing a reference clock to the adapter module. Files in the NI-RIO driver must be updated to ensure the reference clock is configured properly.
To define the interface between the adapter module and the FPGA VI each NI FlexRIO adapter module also uses socketed CLIP. With each new version of LabVIEW FPGA, more features are added to CLIP to simplify adapter module configuration and decrease debug time. . Certain NI FlexRIO adapter modules can take advantage of these new features. As a result, this requires that the NI FlexRIO adapter module is configured and programmed with a version of LabVIEW FPGA that supports all of the CLIP features.
Each NI FlexRIO adapter module also ships with several examples to help users get started with programming and using a particular adapter module. One example per adapter module will be compiled for each FlexRIO FPGA Module target in several supported LabVIEW versions. A LabVIEW FPGA VI must be run in the same version of LabVIEW that it was compiled in. In many cases once the FPGA bitfile is created, it can be used in several versions of the NI-RIO driver without requiring a recompile. However, sometimes there are changes made to the NI-RIO driver that require a recompile. The NI-RIO version reflected in the Adapter Module Support readme and the Software Support for CompactRIO, CompactDAQ, Single-Board RIO, R Series, FlexRIO, and EtherCAT devzone reflects the version of NI-RIO that the example VIs were compiled against.