beautypg.com

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

Page 49

background image

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