LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

FPGA C Interface - How to Use NiFpga_AcquireFifoRead and NiFpga_AcquireFifoWrite Methods

I am looking at the new methods here for acquiring write/read elements to avoid an extra copy from user-mode to kernel-mode here:

 

http://zone.ni.com/reference/en-XX/help/372928G-01/capi/functions_fifo_write_acquire/

 

 

Are there any examples of how to use these methods?

 

thanks,

0 Kudos
Message 1 of 7
(3,366 Views)

Hello John80,

 

Thanks for posting! The FPGA C Interface API installs with examples to help users understand those various functions you linked to. The examples are installed to specific locations and can be located by following this document:

 

http://zone.ni.com/reference/en-XX/help/372928G-01/capi/examples/

 

I would recommend the example located in the FIFOs folder named Example.c to investigate further how these functions work. On my system, that is located in the following location (because I have CVI installed):

 

C:\Users\Public\Documents\National Instruments\CVI\Samples\FPGA Interface C API\FIFOs\Example.c

 

Just to give you some background information, the FPGA C interface API was originally created for C developers interested in interfacing with bitfiles they created in LabVIEW FPGA. I was wondering if you had any more information as to the application you are working on and what you mean by avoiding an extra copy from user-mode to kernel-mode.

 

Collin D.
Software Product Manager
0 Kudos
Message 2 of 7
(3,346 Views)

I am trying to figure out how low the latency can be for using an FPGA from the CPU to solve problems.  I work for a Financial Firm that deals with lots of problems and I am looking for a way to solve them by using FPGAs.

 

Also, can you point me to some list of hardware that supports this method? I tried on a Linux machine and I am getting error code -63193 (FeatureNotSupported)

 

I guess my PXI-7953R is not ready for this!

0 Kudos
Message 3 of 7
(3,309 Views)

Hey,

 

Have you gotten any examples to run with your PXI-7953R? Also, how are you developing the FPGA code itself?

Britton C.
Senior Software Engineer
National Instruments
0 Kudos
Message 4 of 7
(3,250 Views)

No luck with the 7953R, I am assumming that the 7953R does not support this feature because of the error code. Although I do see the corresponding functions in nikal.c

0 Kudos
Message 5 of 7
(3,247 Views)

Sometimes that error code can indicate another problem. It might be worth trying the card in a different slot, or trying a different card if you have one around.

Britton C.
Senior Software Engineer
National Instruments
0 Kudos
Message 6 of 7
(3,211 Views)

Hi John80,

 

I can confirm that the PXI-7953R doesn't support NiFpga_AcquireFifoRead and NiFpga_AcquireFifoWrite. If you are interested in PXI class hardware that does support it, you should look at the PXIe-796xR, PXIe-797xR, and PXIe-782xR families of products.

 

One question for you, how much data are you planning on moving accross the FIFO?

 

I thought there was a document somewhere the has a list of supported devices for these methods, but I can't seem to find it right now. I'll reply back if I can dig it up.

 

Sebastian

0 Kudos
Message 7 of 7
(3,133 Views)