Stratix® 10 Hard Processor System Technical Reference Manual

ID 683222
Date 8/15/2024
Public
Document Table of Contents

4.5.5.2. Transmit Rate Limiters

Rate limiters exist at all transmitting coherency interconnect interfaces. Rate limiters limit the rate at which traffic may be injected into the coherency interconnect at various interfaces.

The rate limiter is a token-based, flow-control mechanism that prevents a packet from being sent into the network unless enough time has passed since the last packet. This feature provides fair bandwidth sharing among agents. You can program the Streaming TX Rate Limiter register (btrl) to control the rate of traffic injection from an agent into the coherency interconnect.

You configure the rate limiter by selecting a maximum transmission rate and adding a maximum token size for that transmission rate in the Streaming TX Rate Limiter register (btrl) register.

A packet can only transmit if a token is available, which means it can only transmit at the rate at which the tokens are added. A token bucket accumulates these tokens over time. By allowing an interface to accumulate tokens over a period of time, rate limiters limit transmit rates over a larger window, while still allowing small bursts of traffic. As the token count increases, the short-term period increases.
Figure 9. Rate Limiter Token Rate

In the diagram above, the token count increases over time at a specified rate. The token count saturates when it hits its maximum, which in this example is 3. When a packet is sent on this interface, the token count decrements. This mechanism ensures that the packet transmission rate does not exceed the rate limit except within a small window defined by the token count.

The token count only decrements by one for command transfers. For data transfers, each data beat decrements the token count.