LabVIEW Field-Programmable Gate Array (FPGA) code is a type of code specifically optimized to run on NI Reconfigurable I/O (RIO) devices such as the PXI-7831R. You can use the Start IP Generator dialog box or the DFD FXP Code Generator VI to generate LabVIEW FPGA code.

LabVIEW FPGA code takes advantage of the specific features, such as the Single-Cycle Timed Loop (SCTL) and memory items, of the LabVIEW FPGA Module. Therefore, this type of code can run on an FPGA target efficiently. You can generate LabVIEW FPGA code for filters with the following filter structures:

  • FIR structures
  • IIR Cascaded Second-Order Sections Form structures
  • Lattice MA structures
  • Lattice ARMA structures
Note If you want to generate LabVIEW FPGA code from an IIR filter, the manufacturer recommends you use the IIR Cascaded Second-Order Sections Form II Transposed structure for this filter.
Note To generate LabVIEW FPGA code, you must install the LabVIEW FPGA Module and NI-RIO driver software. To execute the FPGA code, you also need an FPGA target on which to run the code. Refer to the manufacturer's web site for information about these products.

The LabVIEW Digital Filter Design Toolkit uses LabVIEW projects to manage the resulting LabVIEW FPGA code. The following figure shows an example project file that contains LabVIEW FPGA code:

In the previous figure, the filtername.lvproj file, where filtername denotes the name of the fixed-point filter, contains the following folder and VI in addition to the default items.

  • filtername Block—This folder contains the generated filter VI. You can apply the filter to another project by copying and pasting this folder into the target project file.
  • filtername_Filter.vi—This VI is the top-level VI of the generated LabVIEW FPGA code. To use the LabVIEW FPGA code, drag and drop this VI to the block diagram of the calling VI.
    Note The LabVIEW FPGA code you generate with the LabVIEW Digital Filter Design Toolkit supports only the fixed-point data type.
  • You can generate both one-channel and multichannel LabVIEW FPGA code from a fixed-point filter.

    To use multichannel LabVIEW FPGA code, you must interleave the input data.