Read 32bit*1024 Data of BRAM on the PYNQ Linux

I created an BRAM IP and want to read the data stored after my inference via RPC on the pynq Linux.

Can anyone help with a guide, tutorial and methods for reading data either directly or saving to .txt on my Ultrascale board having the pynq image.


1 Like

You can use MMIO to read a AXI BRAM connected to the ARM processor.

Notebook example:
Using MMIO with PYNQ
Video example:
Using PYNQ MMIO (Memory Mapped IO)


Hello Cathal,

Thank you for your reply.

I am actually reading data from save to my BRAM immediately after an inference via rpc. I have looked at the overlay approach and it does not seems to be an appropriate means to read as it picks the bitstream defaults.

Is there any other method that I can read the data stored on my BRAM immediately after an inference via rpc?

Thank you

Hi there,

I am still searching for a solution to read BRAM data on linux from my PYNQ FPGA immediately after running inference, probably at an interrupt , can someone please assist with information.



Bringing the discussion back to this thread. I suggested you tried this

And you said it is not working. I have to differ:

I created a very simple example:

And then I ran two notebooks, in one I downloaded the bistream and wrote some data to the BRAM, In the another, I just used the download false argument and read the content back.

As you can see the read results are correct.

Can you please try to write a known value to memory and then try to read back?


Hi Mario,

You are right, I think nothing was written to the BRAM and hence I didn’t get any readings, I am still looking deeper into this.

Thanks a lot for taking out time to review this.