Table 2. NI 5641 Programming Methods Comparison
Feature LabVIEW FPGA Module NI-5640R LabVIEW Instrument Driver
Traditional LabVIEW FPGA NI-5640R Asynchronous Programming
Programming Complexity 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).
Input/Output Accessibility User-defined I/O. Two synchronous input and two synchronous output channels.
Triggering Capabilities Ability to create custom signal processing and custom triggering in the FPGA. Support for software and digital edge triggering using the NI-5640R API.
Compilation Cycles Required FPGA compilation cycles. No FPGA compilation cycles.
Programming Paradigm 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.
Data Movement Policy 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.
Clock Configuration Policy 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