cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Observer
Observer
668 Views
Registered: ‎06-19-2015

AXI DataMover (S2MM indeterminate mode) - Error when TREADY='0'

Hi,

I am developing an AXI DataMover controller. To test it I have this block chain:

My IP --> AXI DataMover --> AXI BRAM Controller --> BRAM

With this config:

*******************************************************************
AXI DataMover 5.1 config:

- Enable S2MM:
- Channel type: Full
- Memory Map Data Width: 512
- Stream Data Width: 512
- Maximum Burst Size: 64
- Width of BTT: 23
- Address Width: 64
- Enable indeterminate BTT Mode

AXI BRAM Controller 4.0 config:

- AXI Protocol: AXI4
- Data width: 512
- Memory depth: 2048
- Support AXI Narrow Bursts: Yes
- Bram instance: external
*******************************************************************

I am having problems with writing when TREADY changes to 0. And I can not find out why.

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Command sent.Command sent.

AXI-DATA Mover input.

AXI4-streamAXI4-stream

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

AXI4 BRAM controller bus (AXI DataMover output) and BRAM wr (BRAM controller output)

AXI-4AXI-4-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Command status.Command status.

 

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Another question is: why does the TREADY go down? I have this problem when I make brust less than the maximum.

Multi bursts.Multi bursts.

 

Thank you :)

0 Kudos
3 Replies
Highlighted
Scholar
Scholar
642 Views
Registered: ‎03-28-2016

I'm not sure what you asking.  In the AXI4 protocol, it is perfectly valid for the TREADY signal to toggle between 1 and 0.  Your IP will have to be able to handle that.

There are many things that could be causing the TREADY to go to 0.  It may be something in the state machines of the DataMover or the AXI BRAM Controller.

Ted Booth | Tech. Lead FPGA Design Engineer | DesignLinx Solutions
https://www.designlinxhs.com
0 Kudos
Highlighted
Observer
Observer
628 Views
Registered: ‎06-19-2015

Thanks for answering tedbooth. I have an error when READY to go to 0.

1. I sent a command:

1.command.png

2. I sent the data to AXI-Stream bus of AXI-DataMover:

2.data.png

3. AXI-DataMover splits it in 2 AXI4 transactions:

3.axi4.png

4. AXI-BramController transform AXI4 to external BRAM ports.

5.bram.png

5. Here I have the error. The data is written twice, at address 0 and 4096.

6.error.png

 

0 Kudos
Highlighted
Observer
Observer
594 Views
Registered: ‎06-19-2015

Any ideas?

0 Kudos