cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Contributor
Contributor
1,241 Views
Registered: ‎09-23-2018

Accessing FIFO generator Data

Jump to solution

Hi All,

I have used AXI4 Stream Data FIFO and connected it to AXI DMA (diagram 2) to transfer data to/from the DDR in PS. I have to use FIFO Generator (diagram 1) in PL and want to access its data in a similar fashion, however, the FIFO used in my previous project was an AXI Data FIFO, hence, the connections to AXI DMA were easy to follow, could someone let me know if connecting FIFO generator IP to DMA is possible in order to access the FIFO data (looking for some guidance on how to accomplish the same).

 

Thanks

Tags (3)
fifo1.png
fifo2.png
0 Kudos
1 Solution

Accepted Solutions
Highlighted
Explorer
Explorer
1,209 Views
Registered: ‎10-05-2010

I've done this many times, and I think the easiest thing is to generate a FIFO with AXI Stream  interfaces, connect one side to the DMA controller and the other side to the PL. The AXI Stream protocol is pretty simple when you're accessing a FIFO because you can still create the programmable full and empty signals and use them for flow control on the PL side (instead of tvalid and tready). If you're writing the FIFO, you can ignore the slave tready and connect your write enable to slave tvalid. If you're reading the FIFO, you can ignore the master tvalid and connect your read enable to the master tready. Again, this is assuming that you're using the programmable full or empty for flow control. 

 

---

Joe Samson

View solution in original post

3 Replies
Highlighted
Explorer
Explorer
1,210 Views
Registered: ‎10-05-2010

I've done this many times, and I think the easiest thing is to generate a FIFO with AXI Stream  interfaces, connect one side to the DMA controller and the other side to the PL. The AXI Stream protocol is pretty simple when you're accessing a FIFO because you can still create the programmable full and empty signals and use them for flow control on the PL side (instead of tvalid and tready). If you're writing the FIFO, you can ignore the slave tready and connect your write enable to slave tvalid. If you're reading the FIFO, you can ignore the master tvalid and connect your read enable to the master tready. Again, this is assuming that you're using the programmable full or empty for flow control. 

 

---

Joe Samson

View solution in original post

Highlighted
Contributor
Contributor
1,197 Views
Registered: ‎09-23-2018
Thanks for the solution. Hence, I will have to use AXI Stream instead of Native Interface, is that understanding correct?
0 Kudos
Highlighted
Explorer
Explorer
1,193 Views
Registered: ‎10-05-2010

@bbhatt wrote:
Thanks for the solution. Hence, I will have to use AXI Stream instead of Native Interface, is that understanding correct?

Yes.

 

---

Joe

0 Kudos