09-23-2008 10:08 AM
Hi
I have vi on the RT from which i want to pass 32 clusters to the FPGA vi parallely,
I have gone through material related to FPGA and found that the best way to pass
the data b/w the RT and FPGA is to have DMA FIFOs, but is it good to use 32 different
FIFO'S for each of 32 clusters or should i use control such array of clusters or clusters
to pass the data. As i am new to this field i am not able to decide which is the better way
of doing it 🙂
I have teh following configuration with me(RIo0 ,PXI 7831-R)
Regards
Amit Ahuja
09-25-2008 02:38 AM
Hello Mr.Amit,
Yes, you have heard right, the best way to transfer data between RT and FPGA is through FIFOs. But you cannot create 32 FIFOs as the number of DMA channels available for transfer is only 3. Moreover, you can only input a single element into a FIFO. So the best way, according to me, would be to create an array of 32 elements, put them into a for loop and enable indexing and write them into a DMA target to host FIFO. This would give you 32 interleaved samples, which you can extract in your RT VI.
Vishal
Applications Engineer
National Instruments09-25-2008 06:39 AM
09-25-2008 09:18 AM
Hello,
So, the best solution for this would be to make an array of these 32 arrays ( i.e. a 2D array) and put it in 2 for loops and read it into a FIFO. This would be a host to target DMA FIFO.
And in your FPGA VI, you would read this, put it into seperate arrays as and when you read the data.
Vishal Barfiwala
Applications Engineer
National Instruments
09-26-2008 12:34 AM