Processor: ADSP-SC57x
The SCB bus arbitration mechanism ensures fair and efficient bus access based on predefined rules. Each slave interface in the system is assigned a configurable Quality of Service (QoS) value for its read and write channels, which determines the priority of its transactions when competing for bus access.
During arbitration, the system compares the QoS values of competing transactions, with higher QoS values receiving higher priority and being serviced first. If two transactions have the same QoS value, the Least Recently Granted (LRG) algorithm is applied to decide which transaction gains access, ensuring fairness and avoiding starvation.
Masters are organized into three priority groups: Group A (high priority), Group B (medium priority), and Group C (low priority). Within each group, if multiple masters have the same QoS value, they are treated equally in priority. If these masters attempt to access the bus at the same time, the LRG algorithm determines which one will proceed.
The QoS value for masters is programmable, but certain guidelines must be followed. For example, the highest QoS in a lower priority group (e.g., Group C) must be lower than the lowest QoS in the medium priority group (e.g., Group B), and the highest QoS in a medium priority group (e.g., Group B) must be lower than the lowest QoS in the higher priority group (e.g., Group A).
This arbitration mechanism ensures that masters from different priority groups are granted bus access in a predictable and fair manner, preventing any single master from monopolizing the bus and maintaining system balance.