Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

ID 814346
Date 11/27/2024
Public
Document Table of Contents

13.4.4.10.2. Example: Tuning for Specific Throughput Requirements

In this example, we require each initiator to meet specific throughput requirements.

Consider a system in which initiators A, B, and C have the following throughput requirements:

  • Initiator A: 1000 MBps operating at 100 MHz
  • Initiator B: 800 MBps operating at 800 MHz
  • Initiator C: 500 MBps operating at 400 Mhz

We achieve this by using the QoS generators in regulator mode. There are other initiators in the system, and these three initiators might need to "steal" bandwidth from them to achieve the required throughputs. Therefore, all the other QoS generators are configured in limiter mode to cap their bandwidth usage.

To set up the QoS generators for initiators A, B, and C, we can use the settings in the following table.

Table 405.  Regulator Example Settings
Initiator QoS Mode QoS Bandwidth QoS Saturation
A Regulator 2560 64 bytes (saturation = 4)
B Regulator 256 256 bytes (saturation = 16)
C Regulator 320 128 bytes (saturation = 8)

Not shown are the initiator urgencies. When a QoS regulator achieves the required bandwidth the urgency is downgraded to allow other initiators to achieve their required bandwidth.

We also set the urgency threshold values, P1 and P0. P1 is the urgency when a initiator falls below the bandwidth threshold. P0 is the urgency when a initiator is above the bandwidth threshold. Regulator mode ensures a minimum bandwidth to the initiator, by raising the urgency when the bandwidth falls below the threshold, and downgrading it when the bandwidth is back above the threshold.

For any initiator, the value of P1 must be greater than or equal to P0.