05-15-2019 07:19 AM
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.
How to set up AXI-stream switch to arbitrate only at TLAST?
05-17-2019 07:11 AM
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.
Thanks & Regards
05-20-2019 01:41 AM
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?
05-20-2019 01:46 AM
The arbitration can takes 0 time! If we give valid data on different slave ports, the switch can arbitrate with zero delay.
I only sets valid signal on all slave ports in this simulation. All other was unchanged.