04-21-2017 02:47 AM
I would like to know the difference between True Round-Robin and Round-Robin arbitration schemes in AXI4 stream interconnect IP 2., especially when all the slave interface are not active. I've referred the document PG085 and it is mentioned that "If all slave
interfaces are not active, then it adapts to provide an equal weighting for each active slave interface" for true round robin arbitration.
In my case, I have 4 slave devices and 1 master connected through the AXI4 interconnect. Consider the case where the SLAVE1 is sending data back to back and no other slaves are sending data. In this case, will SLAVE1 get 100% of the bandwidth, when I'm using True round robin arbitration scheme with 'arbitrate on TLAST transfer' is enabled and 'arbitrate on maximum number of transfers' is set to 0.
04-21-2017 06:58 AM
You will find more information about Arbitration in the PG035 (link) p28. I think this will answer you question.
Let me know if this is enough.
04-28-2017 05:37 PM
This is from page 57 of pg085-axi4stream-infrastructure.pdf:
"The True Round-Robin algorithm arbitrates between all the slave interfaces in a round robin fashion. If all slave interfaces are not active, then it adapts to provide an equal weighting for each active slave interface. The ordering starts with S00, then S01, down to S15. The slave interface following the one that was last granted has the highest priority next. The Round-Robin algorithm operates similarly to the True Round-Robin option except that after a successful grant, it proceeds to the next arbitration order regardless of which slave interface was granted."
This section is referring to the switch, but applies to the interconnect as well. The True Round Robin grants arbitration priority based on the active devices, whereas the (False? or Untrue?) Round Robin scheme grants arbitration priority in a set order, regardless of whether or not all of the nodes are being used. The latter scheme can lead to bandwidth imbalance across the nodes because nodes after inactive ones will be given priority two or more times in succession.
With regards to whether a single active device will have 100% of the bandwidth when arbitrating on TLAST, I believe this is the case as long as the "Arbitrate on Maximum Number of Transfers" setting is not 1. There is a provision to ensure that access is not granted to the same device on consecutive transfers with that setting.