Configuring Host Buffer Size for DMA FIFO on USB-7856R

Updated Jun 20, 2023

Reported In

Hardware

  • USB-7856

Software

  • LabVIEW FPGA Module
  • LabVIEW

Driver

  • NI R Series Multifunction RIO

Issue Details

I am using a USB-7856R FPGA device. In my application, I have a DMA FIFO transferring data between the FPGA and host VIs. I am using the FIFO.Configure Invoke Method in my host VI to set the buffer depth for my DMA FIFO, but the actual depth reported back is much higher than what I request. For example, when I request a buffer depth of 1000 elements, the actual depth is 856064 elements. Why is this?

Solution

This is expected behavior for the USB-7856R. For some FPGA targets, the requested host buffer depth for a DMA FIFO will not match the requested depth. This is documented in FIFO.Configure (Invoke Method) LabVIEW Help. The actual size of the host buffer will depend on the target being used and the host operating system. 

For the USB-7856R, the size of the buffer is dependent on the host operating system.