32.5.5.1 Round-robin Arbitration

Round-robin arbitration is used when the ARB field is set to 0 (see MPDDRC Configuration Arbiter Register). This algorithm dispatches the requests from different hosts to the DDR-SDRAM device in a round-robin manner. If two or more host requests arise at the same time, the host with the lowest number is serviced first, then the others are serviced in a round-robin manner.

To avoid burst breaking and to provide the maximum throughput for the DDR-SDRAM device, arbitration must only take place during the following cycles:

  1. Idle cycles: when no host is connected to the DDR-SDRAM device.
  2. Single cycles: when a client is currently doing a single access.
  3. End of Burst cycles: when the current cycle is the last cycle of a burst transfer:
    • For bursts of defined length, predicted end of burst matches the size of the transfer.
    • For bursts of undefined length, predicted end of burst is generated at the end of each four-beat boundary inside the INCR transfer.
  4. Anticipated Access: when an anticipated read access is done while the current access is not complete, the arbitration scheme can be changed if the anticipated access is not the next access serviced by the arbitration scheme.