Visible to Intel only — GUID: gal1666022166152
Ixiasoft
Visible to Intel only — GUID: gal1666022166152
Ixiasoft
3.2.2.1. Memory Subsystem TCAM Core Table
The data width of the key slice RAM corresponds to the total number of entries that can be stored in the TCAM, and each data bit corresponds to a single entry in the TCAM (that is, bit 0 corresponds to entry 0, bit 1 corresponds to entry 1).
To achieve the desired trade-off between lookup rate and on-chip memory usage, you must configure the Number of core tables parameter. When configuring a core table the required key RAM data width must be the same as the number of entries supported in the system. This configuration is required if the lookup must be performed every clock cycle.
In systems where the lookup can be performed every n-th clock cycle (where n is an integer value), it is possible to optimize the architecture and achieve better memory utilization. A control logic outside the core block sends the same request to all core tables and then combines the results from all core tables.
Example
Parameter | |
Key width | 72 bits |
Maximum number of entries | 40 |
Core tables | 1 |
With the above configuration, each key is sliced into 9-bit chunks and serves as address to 8 key RAM blocks. These 8 key RAM blocks form a 40 bit TCAM to support up to 40 entries
Parameter | |
Key width | 72 bits |
Maximum number of entries | 80 |
Core tables | 1 |
If the same search rate must be maintained, the number of key RAM blocks doubles to 16; if a lower search rate can be afforded, then fewer key RAM blocks are possible.
Parameter | |
Key width | 72 bits |
Maximum number of entries | 80 |
Core tables | 2 |
With the above configuration, each key is sliced into 8-bit chunks and is used as address[7:0] key RAM blocks. Each search requires two phases, as follows:
- In phase 0, the address[8] is set to 0, in phase 1 the address[8]= 1. Therefore, in each phase half of the key RAM is addressed.
- Over two clock cycles the TCAM reads 2 x 40-bit. Thus, 80 bits in total.