cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Explorer
Explorer
951 Views
Registered: ‎10-12-2018

axi stream switch for selecting one slave always

Hi,

I have four AXI-Stream master port in my design. I want to "merge" them into one AXI-Stream using an AXI-Stream Switch IP.

The data comes only on one of four master port simultaneously. But I cannot set up the arbitration of the switch to select one input always. The switch waits after each transmission. I can only set to wait after only 1024 transmission, but I cannot set wait/arbitrate only at tlast.

image.png

How to set up AXI-stream switch to arbitrate only at TLAST?

true_round_robin22.PNG
0 Kudos
3 Replies
Highlighted
Xilinx Employee
Xilinx Employee
927 Views
Registered: ‎10-12-2018

Hi @betontalpfa ,

The internal arbiter can perform fixed priority arbitration or round robin arbitration. The
Arbiter/Switch can arbitrate on a per transfer basis or at packet boundaries (signaled by
TLAST or after a configurable number of active or idle transfers.).

slave _tdata = master_tdata * number of slaves and 
master_tdata = slave_tdata * number of masters

tdata[15:0] -> slave0, tdata[31:16] -> slave1, ... and so on.

I would suggest you to check HDL for better understanding.

Please also refer below frorum post.

https://forums.xilinx.com/t5/Embedded-Processor-System-Design/s-axis-tdata-width-of-AXI4-Stream-switch/td-p/656827

Thanks & Regards

Anil B

Thanks & Regards
Anil B
-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Highlighted
Explorer
Explorer
909 Views
Registered: ‎10-12-2018

As I interpret the behaviour, the arbitration takes one clock cycle, regardless of whether we select the same or an other slave port. Am I right?

0 Kudos
Highlighted
Explorer
Explorer
906 Views
Registered: ‎10-12-2018

UPDATE:

The arbitration can takes 0 time! If we give valid data on different slave ports, the switch can arbitrate with zero delay.

image.png

I only sets valid signal on all slave ports in this simulation. All other was unchanged.

0 Kudos