XS-TCAM-104x320:基于FPGA的TCA歌黃M開(kāi)源實現(一)
發布時(shí)間:2018-03-06
&n場高bsp; 當前FAST開(kāi)源項目中通(tōng書新)用匹配引擎(GME)規則匹配能力有限,隻支持64條筆票規則長(cháng)度為(wèi)512比特的帶掩碼匹配功能,對廠話需要大(dà)量規則匹配的環境,隻能采用片外的TCAM影聽器(qì)件。
水森 為(wèi)此,湖(hú)南從兵新實網絡科(kē)技有限公司基于FPGA内部的查找表邏輯和制空RAM資(zī)源,設計實現了具有TCAM功能的IP核——X議通S-TCAM-104x320。目前XS-TCAM-104x320 I多問P的源代碼已經開(kāi)源,對提升FAST流水線下身查表引擎的能力具有重要意義。
一、XS-TCAM-104x320的基本指标
店暗
&nb公朋sp; 目前實現的指标:
 制務; 1.編譯速率:1報科25Mhz
&但農nbsp; 2.規則條數:320條
 人玩; 3.LUT資(zī)源:16799
&子對nbsp; 4.RAM(M10K)資(z制我ī)源:368
 火南; 5.查詢周期:首次單條規則查詢12周期出結果,後續林化連續查詢則1個時(shí)鐘(zhōng)周朋能期出結果。
二、XS-TCAM-104x320的實現原理
行到
服行 針對FAST前期版本支持流表項條目少的不(bù)民西足,目前對查找算法進行了改進,實現了XS-TCAM船哥-104x320 IP,其優點如(rú)下:
&nb兵體sp; 1.支持按優先級查找匹配;友北
&nbs很日p; 2.支持硬件進行規則年街更新;
 做長;3.支持規則條目的按需擴展;
&nbs女爸p; 4.支持匹配域關鍵字的按需擴展;
 務生; 5草都.支持規則查找/更新按掩碼匹配;
&n分北bsp; 6.采用流水化并行的處理方式可實現高速查找匹配樂很。
1、設計思想:
&nb空志sp; XS-TCAM-104x320 IP使用朋道二維數組的存儲方式,并行的進行規則更新及查找匹間器配,并采用流水化的方式實現多條規則匹配查找,從而實現高效快速的分類查找問下的目的。另外,此算法支持靈活的匹配域及流表表項的擴展能力,可朋道滿足将來匹配域擴展及流表表項擴展的需求。
&服通nbsp;XS-TCAM-104x320 IP是基于FPG很從A每個内嵌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基本處理結構圖
城西
&nbs工員p;參照圖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位的Key作為(wèi)地址查找RAM(Key=00111_11了也11),查找出的結果為(wèi)此關鍵字段命中的20條規則的索引标紅器識位(Index_Bitmap)為(wèi)0慢舊_0005,其中第0,2,位為(wèi)1,表話那示該key匹配了上述2條規則。由于0為(wèi)高男可優先級位,因此0号索引被輸出。
圖2 流表匹配域存儲結構圖
2、規則長(cháng)度擴展
那吃 對于104位的五元組信息,需1技們2個9*20TCAM_CORE即可實現,輸出的bitmap進行土師比特與即可得(de)到匹配的bitmap,如(rú)圖3所示;化呢
圖3 規則長(cháng)度擴展到五元組處理流程圖
劇費
&nb區聽sp; 最後,通(tōng)過優先級選擇器(qì)外頻選擇優先級比較高的索引輸出。
3、規則數目擴展
&n她化bsp;通(tōng)過TCAM_Block模塊可以實現規則草放數目的擴展,如(rú)圖4所示,通(tōng是間)過将不(bù)同的規則對應到不(bù)同TCAM_Bl懂高ock模塊的Bitmap中,則可以并行的擴展規則的數目。通(tō大開ng)過此方式在資(zī)源允許的情況下可拍長以無限制的擴展。
圖4 規則擴展結構圖
&不數nbsp; 目前基于Altera A5 FPGA 的FAST架構票日隻實現的320條規則,若用戶需要更多表項即可按需擴展和黃。
三、XS-TCAM-104x320的代這機碼說(shuō)明
以下為(現店wèi)XS-TCAM-104x320的頂層代碼其主要分為(wèi)人公四部分:時(shí)鐘(zhōng)複位接口、規則配置接口、匹議美配關鍵字Key輸入接口以及規則輸出索引号Index_ID具體如(rú)下圖5購子所示,其Quartus II 中代碼結構如(rú)圖6所示商高,代碼文件如(rú)表1所示。
圖5 XS-TCAM-104x320 IP相都頂層接口圖
圖6 XS-TCAM-104x320的代碼結構
哥筆
 路明; XS-TCAM-104x32近睡0的代碼文件說(shuō)明如(rú)表1所示:
服有
目前XS-人下TCAM-104x320已經完成調測試,在FAST未來發展規劃中,X姐飛S-TCAM-104x320将作為(wèi)重要鐘錢的改進特性加入到FAST流水線的GME中。我們(men)員區後續将對XS-TCAM-104x320的使用方法進行進一步介紹。
 唱拿;目前XS-TCAM-104x320 IP代碼可訪筆鄉問www.fastswitch.org,選擇“代碼是醫”選項卡,點擊FAST UM,點擊如(rú)下按自金鈕開(kāi)始下載: