You can communicate with FPGA VIs or bitfiles running on FPGA targets across the network using the Open FPGA VI Reference function. To access an FPGA target across the network, wire a remote address into the resource name terminal of the Open FPGA VI Reference function, as shown in the following illustration.

In the above illustration, a RIO Device I/O constant specifies a remote FPGA target. You can specify a remote target through the FPGA Target Properties dialog box or directly in the Open FPGA VI Reference function in an FPGA interface VI.

Tip   NI Measurement & Automation Explorer (MAX) detects remote FPGA targets and displays them in the Devices and Interfaces category under the remote system to which they are connected.

Specifying a Remote FPGA Target in the FPGA Target Properties Dialog Box

When the FPGA Target Properties dialog box specifies a remote FPGA target, the remote FPGA target appears in the pull-down menu of a RIO Device I/O control or constant on the host VI.

Complete the following steps to specify an FPGA target across the network in the FPGA Target Properties dialog box.

  1. In the Project Explorer window, right-click an FPGA target and select Properties from the shortcut menu to display the FPGA Target Properties dialog box.
  2. On the General page, enter the following string in the Resource text box:     rio://remote_target_computer/fpga_resource_namewhere remote_target_computer is the IP address or name of the computer and fpga_resource_name is the name of the FPGA resource you want to access.
  3. Specify the remote FPGA target using the Open FPGA VI Reference function.

Specifying a Remote FPGA Target in FPGA Interface VIs

Complete the following steps to configure the Open FPGA VI Reference function to access an FPGA target across the network.

  1. Place an Open FPGA VI Reference function on the block diagram.
  2. Switch to the front panel window.
  3. Place a RIO Device control, located on the I/O palette, on the front panel window of the VI.
  4. Use one of the following methods to specify the remote FPGA target:
    • Click the down arrow on the RIO Device control and select a remote FPGA target from the pull-down menu. You must specify a remote FPGA target in the FPGA Target Properties dialog box to have this option available.
      Tip   Select Browse from the pull-down menu to look for remote FPGA targets on the network.
    • Manually enter the address of the remote FPGA target using the following steps:
      1. Right-click the RIO Device I/O control and select Find»Terminal from the shortcut menu.
      2. Right-click the RIO Device terminal on the block diagram and select Change to Constant from the shortcut menu.
      3. In the RIO Device constant, enter the following string in the text box:     rio://remote_target_computer/fpga_resource_namewhere remote_target_computer is the IP address or name of the computer and fpga_resource_name is the name of the FPGA resource you want to access.
        Tip   You also can click the down arrow on the RIO Device constant and select the target you want to access from the shortcut menu or select Browse to look for an FPGA target on the network.

Best Practices when Accessing FPGA Targets Across Networks

Consider the following guidelines when accessing FPGA targets remotely.

  • The RIO server must be running on a host system before a VI running on Windows can access the RIO devices through a network connection. On host systems running LabVIEW Real-Time, such as those with a CompactRIO controller, the RIO server is running automatically. On host systems running Windows, such as those with an NI PXI-7811R, you must start the RIO server manually. Refer to the Knowledgebase on ni.com for information about starting the RIO server on a Windows operating system.
  • If you are accessing a remote FPGA target, avoid branching the wire that comes from the FPGA VI Reference Out terminal. LabVIEW cannot guarantee concurrent but independent operations on the FPGA target when the wire branches. Instead, create two separate references using two instances of the Open FPGA Reference VI.
  • The NI-RIO drivers guarantee that you do not lose any data sent across the network, but they cannot guarantee determinism or speed. Transfer speeds over the network can vary and are not as fast as transfer speeds when all hardware is local.