Example: programming the rate limiter – Achronix Speedster22i Interlaken User Manual
Page 49

ctl_tx_rlim_intv[11:0]
This input specifies how many tokens are to be added to the bucket after each interval. A token is
equal to 1 byte. This value must be greater than 0. The value of this input should not be changed
when ctl_tx_rlim_enable is a value of 1.
Note: This value should be calculated based on the desired rate and the value in ctl_tx_rlim_intv.
Example: Programming the Rate Limiter
Assuming the following:
•
The Local bus clock frequency is 470 MHz
•
BurstMax is 256 bytes
•
The transmission rate is to be limited to 50 Gbits/s (or 6.25 Gbytes/s)
•
The interval is arbitrarily chosen to be 8 Local bus clock cycles
The value for ctl_tx_rlim_delta is:
= (Byte Rate * Interval) / Local bus Frequency
= (6.25e9 Gb/sec * 8 cycles) * (1/470e6 sec)
= 106.4 bytes
The value for ctl_tx_rlim_max must be 256 or greater. Different values will result in different
shaping of traffic. Simulations must be done to select the proper value to get the desired packet
rate. For the above example ctl_tx_rlim_max could be 256.
UG032, May 15, 2014
49