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.
You can use MMIO to read a AXI BRAM connected to the ARM processor.
Using MMIO with PYNQ
Using PYNQ MMIO (Memory Mapped IO)
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?
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
What pynq version are you using?
In 2.7 I was able to do this using this piece of code
ol = pynq.Overlay(<your_overlay>.bit, download=False)
pynq.Device.active_device.reset(ol.parser, ol.timestamp, ol.bitfile_name)
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?
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.