03-21-2016 09:35 AM
I would like to transfer data (parts of video stream) from PL to PS. I thought that the best way would be using BRAM. I'd like to write data to BRAM from PL, than call inteerrupt (PL-PS) and read data with PS from BRAM.
Could anyone help me to design it? I (think I) know how do read data from BRAM uisng PS, but I do not know how to access BRAM using PL. Any help would be appreciated! :)
03-21-2016 10:30 PM
06-02-2016 09:43 AM
Here you have tutorials how to transfer data between PL and PS by AXI (and how to use BRAM Controller with PS):
For bigger amount of data I use BRAM Controller.
Firstly I write data from PL to BRAM, then I call interrupt in PS and later I read data from BRAM in PS, and clear inetrrupt.
07-05-2020 10:21 PM
I suggest you use a true dual-port BRAM, one port to be accessed by the PS using AXI BRAM Controller, the other accessed by a simple state machine in your PL. writing procedure to a BRAM is simple since you are only using the port for writing. consequently, it's enough to set write enable and BRAM enable pins of your port to the constant value '1'. in this case, by each address and data your state machine provides to the port of your Bram, a write operation to that address will be performed.
as you mentioned, your state machine can generate an interrupt to your PS subsystem when the writing operations to the Bram are complete and after that, your PS can respond to the received interrupt by reading the values from Bram using xil_in function