為(wèi)此,湖(h們現ú)南新實網絡科(kē)技有限公司基于FPGA内部的查找表邏輯和線熱RAM資(zī)源,設計實現了具有TCAM功能的IP核——XS-TCAM-讀到104x320。
一、XS-TCAM-104x320的基本指标
目前實現的指标:
- 1. 編譯速率:125Mhz
- 2. 規則條數:320條
- 3. LUT資(zī)源:16799
- 4. RAM(M10K)資(zī)源:368
- 5. 查詢周期:首次單條規則查詢12周期出結果,後續連續查詢則1個時(shí)有匠鐘(zhōng)周期出結果。
二、XS-TCAM-104x320的實現原理
XS-TCAM-104x320 IP,優勢如(rú)下:
事事
- 1. 支持匹配域關鍵字的按需擴展;
- 2. 支持規則條目的按需擴展;
- 3. 支持硬件進行規則更新;
- 4. 采用流水化并行的處理方式可實現高速查找匹配;
- 5. 支持規則查找/更新按掩碼匹配;
- 6. 支持按優先級查找匹配。
2.2
設計思想
XS-TCAM-10妹鄉4x320
IP使用二維數組的存儲方式,并行的進行規則更訊笑新及查找匹配,并采用流水化的方式實現多條規則匹配查找,從而實現花呢高效快速的分類查找的目的。另外,此算法支持靈活的匹配域及流表表項的擴展能力車妹,可滿足将來匹配域擴展及流表表項擴展的需求頻是。
XS-TCAM-跳來104x320
IP是基于FPGA每個内嵌RAM塊可配置成512*身你20的雙端口RAM進行的實現, 圖1為(wèi)XS-TCAM-也雪104x320
IP基本處理結構圖,由于RAM塊為(wèi)512工明*20因此切分的匹配域關鍵字(Key)為(wèi)9位,查找邏輯銀銀以9位Key為(wèi)查找地址對表項進行訪問,得(de)到20位的規則索說木引标識位,優先級選擇器(qì)則根據優先級輸出最高優先級的規則索引。此算議信法将索引0位的規則定義為(wèi)最高優先制國級的索引位。
圖
1 XS-TCAM-104x320 IP基本處理結構圖
們時
參照圖2,圖2為討請(wèi)流表匹配域的存儲結構圖,其為(wèi)512銀道*20的RAM存儲塊,在此可視為(wèi)512*20的器自二維數組,其中行地址512個,為(wèi)匹配域關鍵內到字(Key)字段;列地址為(wèi)20個頻討,為(wèi)規則索引字段(Index)。圖2将9位的K月月ey作為(wèi)地址查找RAM(Key=00111_購月1111),查找出的結果為(wèi)此關鍵字段命林看中的20條規則的索引标識位(Index_Bitm南還ap)為(wèi)0_0005,其中第0,2,位為讀身(wèi)1,表示該key匹配了上述2條規則。由于0為(唱玩wèi)高優先級位,因此0号索引被輸出。
圖
2流表匹配域存儲結構圖
2.3
規則長(cháng)度擴展
 厭民;對于104位的五元組信息,需12個9*20TC機區AM_CORE即可實現,輸出的bitmap進行比特與信書即可得(de)到匹配的bitmap,如(rú)圖用近3所示;
圖3
規則長(cháng)度擴展到五元組處請懂理流程圖
最後,歌看通(tōng)過優先級選擇器(qì)選擇優先級比較高的索引輸出。
風一
2.4
規則數目擴展
&老就nbsp;通(tōng)過擴展TCAM_Block模塊可以實現規則數目的擴妹劇展,如(rú)圖4所示,通(tōng)過将不(bù)同的規則對應到不(又河bù)同TCAM_Block模塊的Bitm吃離ap中,則可以并行的擴展規則的數目。通(tō雜件ng)過此方式在資(zī)源允許的情況下可以無限制的擴展。
圖4
規則擴展結構圖
&nb吧什sp;目前基于Altera A5 FPGA
秒拿 的FAST架構隻實現的320條規則,若用戶需要更多表項即可按需擴展。
冷個