The average lookup throughput corresponds to the Lookup
Rate parameter. The lookup rate might be above or below the Lookup
Rate parameter for certain lookups. If a few unfavorable lookups have
been performed and the lookup rate temporarily falls below the Lookup Rate
parameter, the DSTCAM then catches up later when there
are favorable lookups available. To accomplish this, the
LOOKUP_INTERFACE_FREQ must be set higher than the LOOKUP_RATE.
It is recommended to set the LOOKUP_INTERFACE_FREQ at least 5%
higher than the LOOKUP_RATE. This way lookup requests are always
available in the Lookup Request Interface FIFO for consumption when catching up is
necessary.
It is beneficial to use the highest possible
TDM_FACTOR to save internal memory and logic resources. The
RAM_FREQ and its associated TDM_FACTOR must be
set to the highest number at which timing closure can occur successfully.
The API performs insert, update, and delete operations. These
operations generate a few Management Requests that are sent to the Management
Request FIFO. On an average, two Management Requests are generated per operation.
The combined rate of insert/update/delete operations is set based on the
UPDATE_RATE value.
To support a high
UPDATE_RATE, additional RAM_FREQ frequency is
needed to avoid CPU traffic starvation. Typically, the UPDATE_RATE
value can range between 1 K to 1 M operations per second.
The following formula expresses the relationship between the parameters:
RAM_FREQ = LOOKUP_RATE x TDM_FACTOR + 2 x UPDATE_RATEThe CAM Database issues read and write requests to DRAM through the NMUs. You must size both the DRAM and the NMU bandwidth sufficiently to support the Lookup Rate and Update Rate.
DSTCAM operates in two modes:
- STCAM
- LPM
Depending on the mode, the bandwidth calculation differs.