You can communicate with NI FPGA devices from Linux® using the NI-RIO driver and FPGA Interface C API. This document explains how to program your NI FPGA hardware using the LabVIEW FPGA Module (Windows), how to install needed FPGA Interface C API and NI-RIO driver software, and how to use the FPGA Interface C API to communicate with your FPGA device from C applications on Linux.
To program an FPGA bitfile for NI FPGA-based devices (e.g. R-Series modules), you must use the LabVIEW development environment along with the LabVIEW FPGA Module on a Windows system. It is not currently possible to program FPGA bitfiles for NI FPGA-based devices from the LabVIEW development on Linux.
Once you have generated an FPGA bitfile, you can download it to a NI FPGA device installed in a Linux system. You do this from a host application written in C; continue reading for instructions on how to do this.
After programming a bitfile for your FPGA-based device, you will need to generate a custom C API on your Windows development machine based on the inputs and outputs to your FPGA application.
To do this, you need two pieces of software on your Windows development machine:
After installing LabVIEW and the LabVIEW FPGA Module, download and install the NI-RIO driver for Windows
Next, download and install FPGA Interface C API software
To communicate with your NI FPGA-based device from applications on Linux, you need to install the NI-RIO driver on your Linux system. This driver is currently supported with the following distributions:
Red Hat Enterprise Linux 5.x i386
Red Hat Enterprise Linux 5.x x86_64
Red Hat Enterprise Linux 6.x i386
Red Hat Enterprise Linux 6.x x86_64
Scientific Linux 5.x i386
Scientific Linux 5.x x86_64
Scientific Linux 6.x i386
Scientific Linux 6.x x86_64
You can get the NI-RIO driver for Linux by downloading and installing the NI Linux Device Drivers package. For legacy versions of NI-RIO, use the NI-RIO (Legacy) page instead and select "Linux" in the "Supported OS" dropdown menu. Installation instructions are provided in the Readme file associated with each version. Readme files can also be found on the Release Notes page.
A tutorial is available to help guide you through the process of generating a C interface to your LabVIEW FPGA application, and then using that interface in your C application on Linux. Essentially, you will take the following steps:
Transfer your compiled LabVIEW FPGA bitfile from your Windows development machine to your Linux system
Generate a custom C API for your LabVIEW FPGA application from the LabVIEW development environment on your Windows machine
Develop a C host application for your Linux system that uses the custom C API that you generated in step 2. Your host application will connect to the NI FPGA-based device, download your bitfile from step 1, and then send and receive data as needed.
To read the detailed tutorial, visit the document: Building an R Series FPGA Interface Host Application in C . Note that the FPGA Interface C API can be used to generate custom C APIs for use on Windows or Linux. Therefore, some Windows examples given in the tutorial may need to be slightly adjusted when developing a Linux host application.
The registered trademark Linux® is used pursuant to a sublicense from LMI, the exclusive licensee of Linus Torvalds, owner of the mark on a worldwide basis.
Collaborate with other users in our discussion forums
A valid service agreement may be required, and support options vary by country.