如何基于FPGA支持DPI之小谈
2023-08-25 11:41:53
一、模式匹配
模式匹配在逻辑中实现主要有两种方法:By Logic和By RAM,各有优缺点,
By Logic方式的优点明显,主要体现在较易开发,匹配速度快。但也有很多不足:占用逻辑资源多,规则数目支持有限制,在线更新有难度。
By RAM方式的优点在于节省逻辑资源,规则支持扩展性好,易于在线更新。但其不足刚好在于开发难,匹配速度低,需要做更多优化。
我们从实际开发中建议采用”By Logic + By RAM”混合多级支持方案,发挥各自的优点。不过在规则编译和开发维护上增加了难度。
二、资源分配
作为Xilinx的软件合作伙伴,DPI IP主要基于Xilinx的FPGA卡来落地,根据客户的不同规则规格及性能需求,选取不同的FPGA卡来提供完整的软硬件解决方案。
U50(VU35P) | U200(VU9P) | U250(VU13P) | |
CLB LUTs(K) | 872 | 1182 | 1728 |
Total Block RAM(Mb) | 47.3 | 75.9 | 94.5 |
UltraRAM(Mb) | 180 | 270 | 360 |
HBM DRAM(GB) | 8 | ||
HBM AXI Interfaces | 32 |
后续会推进和国产FPGA厂商的合作,提供成熟的软硬件解决方案。
三、性能评估及优化
在内部测试中,基于256条SNORT规则在U50卡上做测试,不做优化,可以达到40G接口线速。
当规则数目增加到>10K数量级后,需要对规则分析,做分类、合并等优化,压缩状态,提高规则匹配效率,优化性能。