LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

DMA FIFO Multicast, can it be done and if not what are the workarounds?

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

0 Kudos
Message 1 of 4
(2,606 Views)

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.  

 

 

0 Kudos
Message 2 of 4
(2,554 Views)

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?

0 Kudos
Message 3 of 4
(2,537 Views)

 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. 

0 Kudos
Message 4 of 4
(2,515 Views)