How to Write Multiple Data Elements to a FIFO Write?

Updated Apr 6, 2023

Reported In

Software

  • LabVIEW FPGA Module
  • LabVIEW

Issue Details

I am using the LabVIEW FPGA Module to program an FPGA VI. I am going to use a FIFO  to transfer data out of the FPGA. However, when I use the FIFO Write function, I see that I can only wire one element of data to the Element terminal.

How can I send more than one data element per run of the FIFO Write Function to the FIFO?

Solution

You can configure the FIFO to allow multiple elements to be written to the FIFO at once. You can do so in the FIFO Properties Dialog Box . In the Interfaces tab you can change the Number of Elements Per Write to a number different than 1 to allow sending more data elements at once in the form of an array. 


After increasing this number you can then wire an array to the FIFO Write node containing the defined number of elements.

Note: The maximum number of elements you can choose depends on the size of the data type you use. Using e.g. a U8 you can write double as many elements per write as when using a U16.

Additional Information

The Number Of Elements Per Write option is not supported by all FPGA hardware . Refer to your hardware's documentation to more information.


Alternatively, you can use a For Loop with an Auto-Indexing input tunnel to write each element of an array to a FIFO individually. This methods allows any number of elements to be written, not only powers of 2.