Resource Time Sharing - 3.0 English

Binary CAM Search v3.0 LogiCORE IP Product Guide (PG317)

Document ID
PG317
Release Date
2024-05-30
Version
3.0 English

The CAM Database is designed to run at a clock frequency of up to 600 MHz and process one Lookup Request every clock cycle. A search operation requires a minimum of four RAM accesses. The RAM accesses can be performed in parallel using multiple RAM instances, sequentially by performing multiple accesses in the same RAM, or by a combination of both parallel and sequential access. For example if the RAM Frequency is 600 MHz and the Lookup rate is 300M Lookups per second, two accesses can be performed using the same RAM.

The possible amount of time sharing of the RAM is calculated using integer division:

TDM_FACTOR = RAM_FREQ / LOOKUP_RATE

The TDM_FACTOR is rounded down to the nearest power of two and capped at four. The following values are allowed: 1, 2, and 4.

The CAM depth also determines how much time sharing is necessary, as detailed in the following table.

Table 1. TDM_FACTOR Calculations
LOOKUP_RATE [Mlps] RAM_CLOCK [MHz] TDM_FACTOR
Up to 150 Minimum 4 x LOOKUP_RATE 4
Up to 300 Minimum 2 x LOOKUP_RATE 2
Up to 600 LOOKUP_IF_FREQ 1
Lookup rates above 300 Mlps
Time sharing of the RAM is not possible because it would require a RAM_FREQ higher than the maximum supported 600 MHz.
Lookup rates up to 300 Mlps
It is beneficial to perform sequential lookups in the same RAM to save hardware logic resources using TDM_FACTOR 2 or 4.
Table 2. Clock Configuration Examples
Ethernet Speed Lookup Rate [Mlps] Lookup Interface Frequency [MHz] RAM clock frequency [MHz] Clocking Mode TDM Factor
10 G 15 15 15 SINGLE_CLOCK 1
10 G 15 30 30 SINGLE_CLOCK 2
10 G 15 30 60 DUAL_CLOCK 4
100 G 150 150 150 SINGLE_CLOCK 1
100 G 150 300 300 SINGLE_CLOCK 2
100 G 150 300 600 DUAL_CLOCK 4
400 G 600 600 600 SINGLE_CLOCK 1