08-07-2021 11:49 AM
I have got a 5624 IF digitizer(In 5668R VSA configuration) and a couple of 7976R flexrio modules. My application requires that I stream the digitized IF data from the digitizer to both the FPGAs at the same time.
The issue I'm facing is that I'm unable to create a P2P stream between multiple Reader endpoints(FPGAs) and the single Writer endpoint(Digitizer). Is there a way around it?
08-07-2021 01:54 PM
If you send data to one of the FlexRIO cards and then it sends the data to the remaining cards is that a problem?
08-07-2021 04:58 PM
My IQ rate is 375MS/s(1.5GB/s), so I have to make sure I'm not hitting max at 7976R's I/O rates. Because that's a whole 3GB/s(in+out).
Also, both the FPGAs are running the same code right now, and they need to process the incoming data in sync, so I have to see if this pass-through scheme distrubs the syncing or not.
08-10-2021 09:57 AM
P2P is not deterministic. Data sent from the same card to two other cards will not arrive at exactly the same time.
If both FPGAs are running the same code and processing the same data, why are both needed? I must be missing something.
09-18-2021 10:30 PM - edited 09-18-2021 10:44 PM
I've seen a scenario work all fine where there are two digitizers and two FPGAs, and each digitizer is P2P-linked with a separate FPGA. Given the digitizers/VSAs acquisition is synced, each FPGA running the same code gets samples in sync. No non-deterministic behavior despite the P2Ps involved.
Using same code on multiple FPGAs because my one of my VSAs is sitting behind an RF switch; so based on the switch position I either process the data in first FPGA or pass-on to the next.
09-20-2021 08:22 AM
Have you tried creating two P2P streams (one two each flexRI)?
NI-P2P doesn't support multicast even though PCIe does, so any solution will require double the bandwidth on the backplane.
09-20-2021 10:53 AM
Yes I tried to create two P2Ps with one writer endpoint (digitizer) and two reader endpoints (2 FPGAs) using NI P2P but it didn't allow it.
Can you point to any other way ls I can try to achieve that?