0731-84728105
15116127200
XS-TCAM-104x320:基于FPGA的一生TCAM開(kāi)源實現(一(yī))
發布時間:2018-03-06
     當電放前FAST開(kāi)源項目中(zhōng)通用來木匹配引擎(GME)規則匹配能力有限,隻支持64條規則長度爲512比特的帶掩碼匹黃船配功能,對需要大(dà)量規則匹配的環境,隻能機森采用片外(wài)的TCAM器件。
     在了爲此,湖南(nán)新實網絡科技有限公司基于FPGA内部通得的查找表邏輯和RAM資(zī)源,設計實現讀費了具有TCAM功能的IP核——XS-TCAM-104x320。目前XS雪歌-TCAM-104x320 IP的源代碼已經開(kāi)源,對提升FAST紙務流水線查表引擎的能力具有重要意義。
一(yī)、XS-TCAM-104x320的基本指标
    &n窗快bsp;  目前實現的指标:
     &nbs場水p; 1.編譯速率:125Mhz
   &nbs話民p;   2.規則條數:320條
    &輛市nbsp;  3.LUT資(zī)源:16799
     計場  4.RAM(M10K)資(zī)源:368
     &東南nbsp; 5.查詢周期:首次單條規則查上報詢12周期出結果,後續連續查詢則1個時鍾周期姐農出結果。
二、XS-TCAM-104x320的實現原理 喝動
     光哥;針對FAST前期版本支持流表項條目少的不足,目前對查找算法進服音行了改進,實現了XS-TCAM-104x320 I是報P,其優點如下(xià):
    &nb問時sp; 1.支持按優先級查找匹配;
     &n一銀bsp;2.支持硬件進行規則更新;
   &nb通員sp;  3.支持規則條目的按需擴展;
    快放  4.支持匹配域關鍵字的按需擴展;
     &nb間來sp;5.支持規則查找/更新按掩碼匹配;
   &n關和bsp;  6.采用流水化并行的處地藍理方式可實現高速查找匹配。
1、設計思想:
     XS-房司TCAM-104x320 IP使用二維數組的存儲方式,并的他行的進行規則更新及查找匹配,并采用流水化的方式實現多條規醫科則匹配查找,從而實現高效快速的分(fēn)類查找的目的。另外(wài),此動睡算法支持靈活的匹配域及流表表項的擴展能力,可滿足将來匹配域擴展及員農流表表項擴展的需求。
     XS-TC作睡AM-104x320 IP是基于FPGA每個内黑弟嵌RAM塊可配置成512*20的雙端口RAM進行的了喝實現,圖1爲XS-TCAM-104x320 IP基本處理船歌結構圖,由于RAM塊爲512*20因此切分(fēn)的匹配域愛睡關鍵字(Key)爲9位,查找邏輯以9位Key爲查外窗找地址對表項進行訪問,得到20位的規則索引标識位,優先級選年兵擇器則根據優先級輸出最高優先級的規則索引。此算法将索引0位的規則定歌醫義爲最高優先級的索引位。

圖1 XS-TCAM-104x320 IP基本處理結構圖 司草
     參照土場圖2,圖2爲流表匹配域的存儲結構圖,其爲512算學*20的RAM存儲塊,在此可視爲512*20的二維數組低外,其中(zhōng)行地址512個,爲匹配域關鍵字(Key)字段;農自列地址爲20個,爲規則索引字段(Index)。圖2将9位的Ke很街y作爲地址查找RAM(Key=00111_1111),查找什匠出的結果爲此關鍵字段命中(zhōng)的20條規則的索引标識位(科理Index_Bitmap)爲0_0005,其中(zhōng)第0知機,2,位爲1,表示該key匹配了上述2條規則。由于0爲高優先級位暗快,因此0号索引被輸出。

圖2 流表匹配域存儲結構圖
2、規則長度擴展
  &nbs紙輛p;  對于104位的五元組信息光你,需12個9*20TCAM_CORE即可實現,輸出的bit公呢map進行比特與即可得到匹配的bitmap,如圖3所劇拍示;

圖3 規則長度擴展到五元組處理流程圖
    &能答nbsp;最後,通過優先級選擇器選擇優先級比較高中說的索引輸出。
3、規則數目擴展
  會商   通過TCA西為M_Block模塊可以實現規則數目的擴展,如圖4所示,通過将司麗不同的規則對應到不同TCAM_Block模姐雜塊的Bitmap中(zhōng),則可以并行的擴展規則的數目。通熱女過此方式在資(zī)源允許的情況下(xià)可以不些無限制的擴展。

圖4 規則擴展結構圖
   &土爸nbsp; 目前基于Altera 畫女A5 FPGA 的FAST架構隻實現的320條規業雜則,若用戶需要更多表項即可按需擴展。
三、XS-TCAM-104x320的代碼說但錢明
     以下(xi東從à)爲XS-TCAM-104x320的頂層代碼其主要分(fēn舞小)爲四部分(fēn):時鍾複位接口、規則配置接口雪工、匹配關鍵字Key輸入接口以及規則輸出索引号Index_ID具服懂體(tǐ)如下(xià)圖5所示,其Quartus II 中(zhōng)代這自碼結構如圖6所示,代碼文件如表1所示。

圖5 XS-TCAM-104x320 IP頂層接口讀司圖

圖6 XS-TCAM-104x320的代碼結構 哥畫
    &購志nbsp;XS-TCAM-104x320的代碼文件說明如物校表1所示:
     金銀目前XS-TCAM-104x320已經完成調測試,在FA老算ST未來發展規劃中(zhōng),XS-TCAM-10場服4x320将作爲重要的改進特性加入到FAST流水線的G子那ME中(zhōng)。我(wǒ)(wǒ)們後續将對XS-說懂TCAM-104x320的使用方法進行進一(yī)步介紹。 訊議
  區了   目前XS-TC線些AM-104x320 IP代碼可訪問www.f姐用astswitch.org,選擇“代碼”選項卡,點擊FAS煙房T UM,點擊如下(xià)按鈕開(kāi)始下(xià)載: 了海