Data Flow Properties - 1.1 English

AXI4-Stream Infrastructure IP Suite (PG085)

Document ID
Release Date
1.1 English

Data Flow Properties options are available to modify only if the Number of Slave Interfaces is greater than 1 and Use control register routing is set to No.

Arbitrate on Maximum Number of Transfers

This setting specifies how many transfers to count before relinquishing the granted arbitration. If set to zero, then the number is infinite and Arbitrate on TLAST transfer must be set. If set to one, then after each transfer, the interconnect switch relinquishes control and requests another arbitration. If set to a value greater than one, then after the specified number of transfers, the arbitration is relinquished. For example, setting this value to 16 allows 16 transfers to pass from slave interface to master interface per each arbitration grant.

Arbitrate on Number of LOW TVALID Cycles

This setting allows relinquishing of a granted arbitration without a transfer. A watchdog timer is instantiated and counts the number of consecutive LOW TVALID signals  the granted SI and MI interfaces. When the requisite number of LOW TVALID cycles is counted as specified here, the switch relinquishes the granted arbitration and signals that the transaction is complete to the arbiter. If this setting is set to 0, no watchdog timer is instantiated. If there is more than one slave interface, more than one master interface, and the Arbitrate on maximum number of transfers setting is greater than 1, this setting cannot be set to zero. This ensures that deadlock cannot occur.

Arbitrate on TLAST Transfer

If checked, this setting indicates that a transaction is complete when a transfer with TLAST asserted passes from the slave interface to the master interface of the interconnect switch. The arbiter is then able to arbitrate to the next arbitration winner.

Arbiter Algorithm

There are three arbitration algorithms available to choose from. 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. Fixed-Priority algorithm issues the highest priority to S00, and the lowest priority to S15 for every arbitration cycle. System-level traffic profiles for Fixed-Priority algorithm must be carefully understood to avoid starvation of lower-priority ports.   

Consider the scenario where there is a 4 SI to 1 MI switch with ports S00, S02, and S03 continuously requesting transfers with large transactions. After a large number of arbitrations, the algorithms produces different utilizations. The True Round-Robin provides 33% of the available bandwidth to each of the ports S00, S02, and S03. The Round-Robin algorithm provides 25% of the available bandwidth to ports S00 and S03, and 50% to port S02. This is because port S02 gains ports S01 bandwidth. The Fixed-Priority algorithm provides 100% bandwidth to port S00, and starve the other 2 requesting ports.

Regardless of arbiter algorithm, the arbiter does not support back-to-back transfers from the same slave interface. This configuration has two implications. If only one interface is requesting to a particular master, then only 50% of the bandwidth will be realized. If using the fixed-priority arbitration in the scenario described previously, then the ports S00 and S02 would get 50% bandwidth allocation.