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à)載:
了海