I have two fpga because I need more than 8 analogue output and analogue input. I wonder if I can use one fpga vi to control two targets (the two FPGA boards I use are PCI-7833R) so that the outputs can be synchronized. I think if it's possible it'll be easier to implement the synchronization between while loops,etc. If it's not possible, how can I interface between between fpga.vi and make the synchronization possible and make two vi's talk to each other? Thank you very much for your help!
It's not possible to have single VI compiled to run at two targets at the same time, or in other words to have a single VI containing the IOs of two fpga targets.
So you will need to have to independent VIs.
When both cards are in the same system you could use the RTSI lines to synchronize them. I'm sure you noticed the RTSI IOs in your project. You could use this lines for trigger and timing between different cards.
If you are not using all the ports, you might use a NI 9151 and some C series modules. Then you can add some more analog channels to the board and run off of one FPGA program.
I have successfully ran the same code on two (2) different FPGA boards. The difference being that the host will use different Aliases to control the FPGA boards,
Both FPGA Boards MUST be the same type ( I used PXI-7811s).
My program consisted of 6 individual communication portals and there was NO synchronization between boards
A SINGLE FPGA vi CAN NOT CONTAIN IOs of TWO DIFFERENT FPGAs (e.g. two 78xx cards) AT THE SAME TIME!
This is simple technical not possible.
For sure you can run an FPGA vi compiled for an 7831 at another 7831, or an vi compiled for an 7833 at another 7833.