09-06-2015 01:48 PM
Hi all,
I'm looking to send a DMA FIFO, and it turns out, the same DMA FIFO, to every FlexRIO I have in my PXIe chassis.
This is a host to target FIFO as well, so from my PC, I will send this FIFO to N number of FlexRIO cards in my PXIe chassis.
Is there a multicast capability in either the LabVIEW or C APIs that interface to the FlexRIO cards?
If not, what are the best workarounds/practices to this?
My assumptions are I can:
1.Send N number of FIFOs to each FlexRIO card
2.Send 1 FIFO to one card, and then do a peer-to-peer stream
I would fear 1 would be rather processor intensive, and 2 would use more FPGA resources, so any examples/insight would be very useful.
Thanks
09-08-2015 10:03 AM
There isn't a multicast function for streaming data from a host to multiplte FPGA targets. The two options you've specified are the only options I can think of.
I guess the option you should pick will depend on which resource is more scarce, backplane throughput or fpga resources.
Opening DMA channels to each device would probably take the least effort to implement. But if that isn't an option then using the P2P option doesn't sound like it would require too many resources. On a 797x target, I would be surprised if adding this functinoality consumed more than 5% of any one resource on the FPGA.
09-08-2015 12:36 PM
Thanks.
As a followup, if I wanted to do a peer to peer streaming setup between FPGAs, can I do this with the C Api?
09-09-2015 11:47 AM
As a followup, if I wanted to do a peer to peer streaming setup between FPGAs, can I do this with the C Api?
Sure can.