UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Visitor pfleisch
Visitor
5,091 Views
Registered: ‎04-23-2012

Acessing Shared Memories using DMA (or any other fast method)

Hi,

I am designing a custom pcore with System Generator that I import into an XPS project with a microblaze processor. The pcore performs an FFT and stores the result in a shared memory (32bit x 1024). I want to read out this memory using some kind of DMA for performance reasons but at the moment I can only do single word reads because the pcore is an AXI-Lite peripheral.

 

Is there a faster way to access shared memories from a microblaze processor?

 

As far as I can see from the documentation of System Generator, All types of shared memory blocks get translated into AXI-Lite peripherals. It would be useful to have a full AXI interface for large shared memories.

(My full system also contains register type shared memories for which an AXI-Lite interface makes sense.)

 

Thanks for your help

0 Kudos
4 Replies
Xilinx Employee
Xilinx Employee
5,087 Views
Registered: ‎08-02-2011

Re: Acessing Shared Memories using DMA (or any other fast method)

Can you have your datapath drive, say, AXI DMA core (S2MM) rather than storing each sample in a shared memory?

www.xilinx.com
0 Kudos
Visitor pfleisch
Visitor
5,081 Views
Registered: ‎04-23-2012

Re: Acessing Shared Memories using DMA (or any other fast method)

The problem with the S2MM solution is that I need to buffer my fft output because I am averaging multiple ffts in my pcore. So I need a memory-to-memory transfer and not stream-to-memory.

0 Kudos
Xilinx Employee
Xilinx Employee
5,068 Views
Registered: ‎08-02-2011

Re: Acessing Shared Memories using DMA (or any other fast method)

Well you could still buffer them however you want, using a FIFO or whatever. But rather than using a Shared memory and doing transfers over the AXI lite bus to processor to memory, use an AXI FIFO block, for example, which feed some gateway outs directly to an AXI DMA

www.xilinx.com
0 Kudos
Visitor pfleisch
Visitor
5,065 Views
Registered: ‎04-23-2012

Re: Acessing Shared Memories using DMA (or any other fast method)

I'll try that.

 

Thanks

0 Kudos