Deployment Error on Real-Time When I Try to Run a VI That Is Accessing FPGA Memory Blocks

Updated Aug 26, 2020

Reported In

Hardware

  • CompactRIO Controller

Software

  • LabVIEW FPGA Module
  • LabVIEW Real-Time Module

Issue Details

I'm developing a LabVIEW application that should finally run on a compactRIO system. The FPGA code uses memory blocks for storing and retrieving information (please see Related Links).
Now I developed code on the Real-Time system of the compactRIO that should write data to the memory block. My code seems to be executable (no broken arrow):

 
But if I try to run or deploy the code I get an error during deployment pointing to errors with nirvimemoryFastEmulation.vi or lvSimController.dll:

 
How can I fix this?

Solution

Although the error message is pointing to some libraries that seem to be missing, the cause is that the memory blocks can only be accessed through the FPGA. There is no direct way to read from or write into these blocks from the Real-Time system. The data must first be transferred to the FPGA by using one of the methods described in the article Transferring Data between the FPGA and Host (FPGA Module) and then be written into the memory block.