LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Where does the FPGA DMA FIFO locate?

Hello, I need the information about DMA on sbRIO board.

We use sbRIO 9606 and the board can communicate with host PC and FPGA target via DMA.

Just my colleague is curious that where the DMA's memory locates. Does the memory locate on FPGA chip?

I mean, the Xilinx chip has memory area (FIFO area) for DMA transfer? Or peripheral circuit is existed?

 

From the knowledgebase; http://digital.ni.com/public.nsf/allkb/0A008919E1551B1A86257B9D00764FC4

sbRIO has 5 DMA channels.

The LV help has a diagram but it does not answer my colleague's question.

http://zone.ni.com/reference/en-XX/help/371599L-01/lvfpgaconcepts/fpga_dma_how_it_works/

 

I checked Xilinx website also, but I couldn't reach the answer.

sparten-6 LX FPGA has 5 memory interface controller blocks and I am guessing that are DMA transfer memory. Is it correct?

Even though, I can not reach the answer for physical location on FPGA board. The top diagram on page 4 of the following looks good but not answer for my question;

http://xilinx.com/publications/prod_mktg/Spartan6_Product_Brief.pdf

 

We look forward to get the reply for this issue.

 

Regards,

 

 

 

 

0 Kudos
Message 1 of 5
(3,511 Views)

I think the sbRIO uses the Xilinx Zync chip - the RT microprocessor and the FPGA are located on the same physical chip - so the DMA is located on-chip.

 

If you do a google image search for 'xilinx zynq' - there are a few block diagrams that show the architecture.

 

Edit: Apologies, I thought you were referring to the newer System on Module (SoM), which is a Zynq chip. I think the older Spartan boards use off-chip memory?


LabVIEW Champion, CLA, CLED, CTD
(blog)
0 Kudos
Message 2 of 5
(3,491 Views)

As mentioned in the DMA concept document you mentioned, there are two buffers for each DMA channel. The first is accessible from the host which is located in the targets DRAM. The other is on the FPGA and is generally implemented in the block memory of the FPGA logic because it must support being read and written every clock cycle. 

Message 3 of 5
(3,459 Views)

Dragisthank you for your message.

"The other is on the FPGA and is generally implemented in the block memory of the FPGA logic because it must support being read and written every clock cycle. " is helpful and now I am clear the block memory and DRAM section at the following;

http://zone.ni.com/reference/en-XX/help/371599G-01/lvfpgaconcepts/fpga_storing_data/

0 Kudos
Message 4 of 5
(3,426 Views)

Sam_Sharpthank you for your message.

It seems 9606 is not that one, but that's my first time to check the XIlinx Zync chip and I'm glad to know it.  

0 Kudos
Message 5 of 5
(3,420 Views)