HomeSupportSimulate FPGA Targets Using the Project Explorer with LabVIEW

Simulate FPGA Targets Using the Project Explorer with LabVIEW

Updated Oct 2, 2018

Reported In

Reported In shows products that are verified to work for the solution described in this article. This solution might also apply to other similar products or applications.

Software

LabVIEW FPGA Module

LabVIEW 2016 Real-Time Module

LabVIEW

LabVIEW Real-Time Module

Driver

NI-RIO

Issue Details

I have purchased NI FPGA hardware but would like to start LabVIEW development before I receive the hardware. Is it possible to simulate my FPGA targets in LabVIEW, and how can I do it?

Solution

With LabVIEW 8.0 and later, you can begin development of your LabVIEW FPGA application without having the physical hardware by simulating the device through the Project Explorer window. The steps vary based on whether you are simulating a Real-Time CompactRIO, Single-Board RIO with an FPGA target, or just a remote FPGA target such as an R Series Multifunction RIO, FlexRIO device, or an IF-RIO transceiver.

To simulate FPGA hardware, follow the steps below. You must have the LabVIEW FPGA Module and some form of the RIO driver installed on your computer. These drivers (found in the related links of this article) install the information needed by LabVIEW to simulate your FPGA target. If you do not have any of these drivers installed, you will not see the Targets and Devices... option appear when right clicking Project or My Computer. In order to download the latest version of the drivers for your device, please visit thedriver download page and search for your product (CompactRIO, FlexRIO, etc)

If you want to add an FPGA target as part of a CompactRIO or Single-Board RIO system, you also must have the LabVIEW Real-Time Module installed.

Note: You only can simulate the FPGA target of a cRIO or sbRIO. The real-time processor can not be simulated on those targets.

CompactRIO or Single-Board RIO:

To add a Real-Time target, right-click on the project name at the top of the Project Explorer window and select New»Targets and Devices...

Next, a list of devices you can create without the physical target will display. Highlight the desired target type and click OK. The new target populates beneath the named project in the Project Explorer window.

If you added a standalone cRIO controller, add the chassis to the project by right-clicking the target and selecting New»Targets and Devices... If you added a cRIO with an integrated controller and chassis, this step is not required.

If you added a standalone cRIO controller, select New Target or device from the Add Targets and Devices on RT CompactRIO Target window that appears and select the chassis you want to add. If you added a cRIO target with an integrated controller and chassis, this step is not required.

Right-click the newly-added chassis and select New»FPGA Target.

If you have added a CompactRIO (cRIO) chassis, you can add C Series Modules by right-clicking the FPGA target and selecting New»C Series Module and selecting New Target or device in the Add Targets and Devices window. Highlight the C Series Module item and click OK.

From the New C Series Module window, select the desired module and slot and click OK. The module is added to the Project Explorer window.

Configure the code in the FPGA VI to run on the local machine by right-clicking the FPGA target and selecting Select Execution Mode»Simulation (Simulated I/O).

In the Add Targets and Devices window, select New target or device and a list of devices you can create without the physical target displays. Highlight the desired FPGA target and click OK. The new target populates beneath My Computer in the Project Explorer window.

Note: Only devices whose drivers are installed are available in the New target or device list.

Configure the code in the FPGA VI to run on the local machine by right-clicking the FPGA target and selecting Select Execution Mode»Simulation (Simulated I/O).

Once you have finished the steps listed for your device, you can begin development of your LabVIEW application without your hardware.