LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

FPGA: multi element access on target

What does the following text actually mean in regard to supported properties on my FPGA device (PXIe-7965R)?

 

DMA:
      Number of DMA Channels: 16
      Multi-Element Access on Target: Supported
      Peer-to-Peer Streaming: Supported

 

Specifically, what does "Multi-Element Access on Target" mean?

0 Kudos
Message 1 of 9
(3,689 Views)

On certain targets, you can configure the FPGA side of a DMA channel to allow multiple elements (data values) to be read or written at the same time (in the same clock cycle). This is achieved by allowing you to read or write an array of elements. You can configure this option from the DMA FIFO property page in the project.

Message 2 of 9
(3,677 Views)

Sorry to butt in Intaris, Dragis, is it like "Parallel" read/write?

0 Kudos
Message 3 of 9
(3,672 Views)

@Dragis,

 

is there any documentation on this feature anywhere?  Like which version of LV supports this?

0 Kudos
Message 4 of 9
(3,670 Views)

Ah I see the option now on LV2012 SP1.

 

With a U16 FIFO we can send up to 4 simultansously, with a U32 we can send 2 and with U64, only one.

 

Is this 64-bit limit in hardware or may it be possible to send multiple 64-bit numbers simultaneously in the future?  We already multiplex our data into large bit numbers in order to boost throughput so this is unfortunately not very usefult o us as is.....

 

Shane

0 Kudos
Message 5 of 9
(3,658 Views)

The limits were due to implementation time. It would be possible to support larger array sizes in the future.

Message 6 of 9
(3,653 Views)

Cool.  Kudos for U then... Heart

0 Kudos
Message 7 of 9
(3,651 Views)

We already multiplex our data into large bit numbers in order to boost throughput

 

If you use the array functionality instead of doing the packing yourself you might actually get better performance since you won't need to do an unpack on the host side (the driver can do it in-place in memory). Might be something to try.

0 Kudos
Message 8 of 9
(3,650 Views)

Yeah, if we can send Booleans, U8s U16s, 9-bit FXPs and so on in an array and have thema utomagically re-converted, that would work......

 

We generally multiplex our "varied" parameters whereas the "samey" ones just get packed into nice byte boundaries.  I doubt there'd be a significant difference in performance (since the unpacking is trivial), but at the same clock speed for FPGA, we could increase throughput by writing more than one per clock cycle.  That's what gets me interested fast.

 

Shane

0 Kudos
Message 9 of 9
(3,640 Views)