ME-TCAM: Memory-Efficient Ternary Content Addressable Memory Based on Multipumping-Enabled LUTRAM on FPGA
Zilin Shi, Hui Xin Yang, Rulin Liu, Jinli Yan, Peng Qiao, Baosheng Wang · 2020
Static random access memory (SRAM) on field programmable gate arrays (FPGAs) can be emulated to offer ternary content addressable memory (TCAM) functionality. However, SRAM-based TCAM wastes storage resources. This is due to the limited capacity of the physical addresses in the SRAM unit. This work proposes a LUTRAM-based TACM scheme on the FPGA called Memory-Efficient TCAM (ME-TCAM). METCAM divides SRAM unit into multiple virtual blocks mapping to a portion of the TCAM table to store the more address information of the TCAM table. Operation on SRAM block means that increasing the overall emulated TCAM bits/SRAM. Moreover, ME-TCAM exploits Xilinx primitives to conFigure lookup tables (LUTs) as 32 × 2 lookup table RAMs (LUTRAMs). We implement ME-TCAM using LUTRAM with a size of 512 × 48 and 1024 × 144 on a Virtex-7 FPGA device. Compared with the state-of-the-art research DUR, ME-TCAM achieves at least 2.6 times more memory efficiency.