LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

DMA FIFO

Solved!
Go to solution

Hi folks,

 

Is the DMA FIFO the only type of file transfer available on FPGA while transmitting data from FPGA to HOST? Most of the examples I have come across DMA, so I have blindly used them. 

 

On a slightly related topic, can a time delay be introduced into this transfer from FPGA to HOST, without actually touching the concerned loop?

 

 

0 Kudos
Message 1 of 17
(3,584 Views)

DMA is for data transfer, not file transfer, but yes, it's currently the only efficient way I know of.

 

Regarding delaying the transfer, no you can't.  As soon as you execute the DMA node, it will be sent.  If you want to send it later, you need to execute the node later.

0 Kudos
Message 2 of 17
(3,582 Views)

Yes data transfer that is what I meant, sorry!

 

Since the DMA transfer depends entirely on the DMA node execution, would be possible to set a timer to the DMA node? So that for example, the DMA node executes after a certain time after the FPGA becomes active?

 

Also, if the above were possibel, can we execute the DMA node based on the 'amount' of data instead of time?

0 Kudos
Message 3 of 17
(3,577 Views)

No, neither of these are possible.

 

What is your intended use case?  Why do you want to do this?  You can buffer the data transactions yourself to achieve the same thing.....

0 Kudos
Message 4 of 17
(3,575 Views)

U32. I m just a bit curious, but was wondering if I could delay the transfer from the FPGA to the Host until I get all the data from the source.

 

I don't know what you mean by "buffer the data transactions".

0 Kudos
Message 5 of 17
(3,567 Views)

U32. I m just a bit curious, but was wondering if I could delay the transfer from the FPGA to the Host until I get all the data from the source.

 

I don't know what you mean by "buffer the data transactions".

0 Kudos
Message 6 of 17
(3,567 Views)

You can only send a single value at a time from the PFGA, you cannot send an array of values.  this is linked to the FPGA implementation and cannot be changed.

 

How many values do you want to send?

 

You COULD save the values in block memory and then, when it's full, send them one at a time in subsequent clock cycles.

 

Shane.

0 Kudos
Message 7 of 17
(3,555 Views)

Ah ok. I think thats the best solution, storing the data in a block and then sending them when the block is full.

 

On another related note, If I wanted to send data from my HOST to another device, would I need to use DMA?

0 Kudos
Message 8 of 17
(3,551 Views)

What's the other device?

0 Kudos
Message 9 of 17
(3,550 Views)

I can't give you the exact name unofrtunately because of contractual obligations. Think of it as a circuit tester of some sorts.

0 Kudos
Message 10 of 17
(3,546 Views)