There are two methods for programming an IF transceiver device. The first method is to use the LabVIEW FPGA Module to program the FPGA in the IF transceiver to fit your needs. The second method is to use the NI-5640R instrument driver to generate or acquire data with the LabVIEW application programming interface (API). You also can run the NI-5640R examples to demonstrate the functionality of your device. More information about each of these methods is provided in the following sections.

LabVIEW FPGA Module

Using the LabVIEW FPGA module, you can program the FPGA in the IF transceiver to match the requirements of your system. The behavior of this module is fully user defined and can be implemented as a VI, creating an application-specific I/O device. However, the programming time required to create an application using the LabVIEW FPGA module is greater than using the NI-5640R instrument driver and more advanced programming skills are required.
Tip It is recommended that you have 4 GB or more of system memory for compiling LabVIEW FPGA code.

NI-5640R Instrument Driver

The NI-5640R API features a set of operations and attributes that exercise all the functionality of the device, including configuration, control, and other device-specific functions. With the NI-5640R API you program the IF transceiver with its default personality—two synchronized input and two synchronized output channels.

Programming Methods Comparison Table

LabVIEW FPGA Module NI-5640R Instrument Driver
Traditional LabVIEW FPGA Programming NI-5640R Asynchronous Programming
Advanced LabVIEW and LabVIEW FPGA programming skills required. Using the LabVIEW FPGA Module allows you to create programs that exercise the maximum capabilities of the device. Easy-to-use application programming interface (API).
User-defined I/O. Two synchronous input and two synchronous output channels.
Ability to create custom signal processing and custom triggering in the FPGA. Support for software and digital edge triggering using the NI-5640R API.
Required FPGA compilation cycles. No FPGA compilation cycles.
FPGA code: Has only dataflow dependencies. FPGA code: Has free-running actors that can execute independently of dataflow dependencies. Host-based API only: No user-defined FPGA code.
FPGA code: Uses only dataflow wires and user-created FIFOs. FPGA code: Asynchronous data wires pass data between nodes independently of dataflow dependencies. Host-based API only: No user-defined FPGA code.
FPGA code: Uses only dataflow wires. FPGA code: Asynchronous timing wires pass clock information between nodes independently of dataflow dependencies. Host-based API only: No user-defined FPGA code.
LabVIEW 8.6.1/2009/2010/2011 supported. LabVIEW 8.6 or later required. LabVIEW 8.6.1/2009/2010/2011 supported.