You are not logged in.
Pages: 1
Hi,
Is there a way to save real and image parts of an FFT (64 points)?
I treid to use two shared memory for saving real part and image part inside the wlan_phy_rx_pmd, but I don't know how to access in the Microblaze CPU?
Any ideas?
Thank you in advance.
Alice
Last edited by alice_warp (2017-Sep-28 04:46:42)
Offline
The easiest way would be a System Generator Shared Memory block. This block uses a dual-port RAM, with one port exposed to the Sysgen core and the other attached to the AXI bus. After adding the Shared Memory block be sure to open the EDK Processor block and click Add to include the new Shared Memory in the pcore's memory map.
Offline
Thanks for your answer.
I have already added two System Generator Shared Memory Blocks, but I don't understand.. how can I access to the Shared Memory?..
Can I copy everything from one Shared Memory to one my custom structure with an only one function?
Thanks again,
Alice
Last edited by alice_warp (2017-Sep-29 02:50:33)
Offline
murphpo wrote:
The easiest way would be a System Generator Shared Memory block. This block uses a dual-port RAM, with one port exposed to the Sysgen core and the other attached to the AXI bus. After adding the Shared Memory block be sure to open the EDK Processor block and click Add to include the new Shared Memory in the pcore's memory map.
I tried with Xil_In32(ADDR), but the output is one value...
How can I take the other values?
Thank you in advance.
Alice
Last edited by alice_warp (2017-Sep-29 10:22:00)
Offline
A Sysgen Shared Memory block is mapped into the address space of the core. The depth of the memory defines how much of the address space is allocated to the shared memory. Xil_In32() reads a single 32-bit memory address. A shared memory will span many 32-bit addresses. You need to figure out the address range for your shared memory block (look in xparameters.h for the base address), then read whatever parts of the address range you need (i.e. loop over Xil_In32(), use memcpy, etc).
Offline
murphpo wrote:
A Sysgen Shared Memory block is mapped into the address space of the core. The depth of the memory defines how much of the address space is allocated to the shared memory. Xil_In32() reads a single 32-bit memory address. A shared memory will span many 32-bit addresses. You need to figure out the address range for your shared memory block (look in xparameters.h for the base address), then read whatever parts of the address range you need (i.e. loop over Xil_In32(), use memcpy, etc).
Thank you!
Alice
Offline
Pages: 1