Error -61213 occurred at niLvFpga_Close_Dynamic

Updated Jun 12, 2023

Reported In

Software

  • LabVIEW FPGA Module

Issue Details

I am getting the following error in my LabVIEW FPGA code when the code executes the Close FPGA VI Reference function:

Error -61213 occurred at niLvFpga_Close_Dynamic.vi

Possible reason(s):

LabVIEW FPGA: LabVIEW FPGA does not support Close and Reset if Last Reference for bitfiles that allow removal of implicit enable signals in single-cycle Timed Loops. Instead, right-click the Close FPGA VI Reference function and select Close.


How do I disallow the removal of implicit enable signals so I can use the function without the error?

Solution

Implicit enable signals are part of the enable chain, which is additional logic that LabVIEW adds to the FPGA codes to enforce dataflow on the FPGA hardware. More specifically, single-cycled timed loops use these implicit enable signals to enforce dataflow inside them. These signals fan out to all nodes within the loop that contain state-holding elements.

LabVIEW does not support the Close and Reset if Last Reference option of the Close FPGA VI Reference function in projects in which implicit enable signals have been removed. Also, the functionality of "allow removal of implicit enable signals" should only be used if you are using single-cycled timed loops in your code.

If you are using single-cycled timed loops and you do want to allow the removal of implicit enable signals, then you cannot use the Close and Reset if Last Reference option. To change this, follow the next steps:
  1. Go to the block diagram of your LabVIEW FPGA code.
  2. Right-click the Close FPGA VI Reference function.
  3. Select the Close option.
If you are using single-cycled timed loops but you do not want to allow the removal of implicit enable signals, or if you are not using single-cycled timed loops at all, you should disallow the removal of implicit enable signals. To do so follow the next steps:
  1. Go to your LabVIEW project.
  2. Expand the Target's content.
  3. Expand the Build Specifications option inside the Target.
  4. Right-click your build.
  5. Click Properties.
  6. Stay inside the Information category.
  7. Notice the checkboxes in the middle of the screen.
  8. Uncheck the box that says Allow removal of implicit enable signals inside single-cycle Timed Loops.
After unchecking the box and recompiling the VI, the error should disappear.