cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Anonymous
Not applicable
5,191 Views

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
Highlighted
Xilinx Employee
Xilinx Employee
5,187 Views
Registered: ‎08-02-2011

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
Highlighted
Anonymous
Not applicable
5,181 Views

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
Highlighted
Xilinx Employee
Xilinx Employee
5,168 Views
Registered: ‎08-02-2011

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
Highlighted
Anonymous
Not applicable
5,165 Views

I'll try that.

 

Thanks

0 Kudos