最近, 我希望在FPGA上高效地模拟TCAM, 于是今天调研了一些技术文献资料:
- FracTCAM: Fracturable LUTRAM-Based TCAM Emulation on Xilinx FPGAs (TVLSI ’20)
- UG474 7 Series FPGAs Configurable Logic Block
- UG953 Vivado Design Suite 7 Series FPGA and Zynq-7000 SoC Libraries Guide
思考了一下, 发现大家主要会把TCAM条目匹配结果直接存储在LUT (或移位寄存器)里面, 相当于触发器里面的数据直接和一个设置好的常量进行匹配; 而不是把条目存在触发器里, 然后通过LUT去匹配。
经过阅读UG文档, 我发现两个共享时钟、使能和地址的16位移位寄存器(SRL16)可以被布局到同一个LUT上, 节约资源, 明天打算试试这种方案。
发表评论