-
Notifications
You must be signed in to change notification settings - Fork 129
Memory Mapped RLDRAM by Muhammad Shahbaz
rldram_mmap
contrib-projects/rldram_mmap
- NetFPGA-10G Specific cores
- Xilinx AXI Peripheral
- Microblaze Subsystem
This is a memory mapped RLDRAM project using the DMA engine. It includes many of the standard NetFPGA modules (microblaze, AXI interconnect, nf10_interface), but in addition it uses a new pcore that provides a memory mapped interface to the RLDRAM controllers over the AXI bus. Two instances of this pcore are instantiated in the project that allow independent access to a pair (A & B) of the four on-board RLDRAM controllers at a clock rate of 200 MHz.
-
Download the application note from Xilinx website (XAPP852)
-
Extract the contents of XAPP825.zip under the project's pcores directory (rldram_mmap/hw/pcores/nf10_rldram_mmap_v1_00_a)
-
In the rldram_mmap/hw/pcores/nf10_rldram_mmap_v1_00_a folder run
make
- this will create, copy and patch neccessary Xilinx files for the rldram core -
Run the project makefile to implement and generate bitstream
-
Program the FPGA
-
Reboot the system
-
Build and load the driver under the contrib-projects/nic/sw/host/drivers
make insmod nf10.ko
-
Build the 'wraxi' and 'rdaxi' located under the contrib-projects/nic/sw/host/apps directory
make
-
Read and write RLDRAM A & B
Base address of RLDRAM A = 0x80000000
Base address of RLDRAM B = 0x84000000
./wraxi 80000000 12345678
./rdaxi 80000000
For successful operation, you should get the same value back!