&nb相書sp; FPGA中(zhōng)實現的硬件流水有女線是FAST平台實現分(fēn)組硬件處理的基礎。FP物人GA OS爲FAST流水線提供了基本的分(fēn)組收發,高速DMA和查也有表等服務。FAST 流水線與FPGA OS的接口定義直接反映了分(fēn劇算)組硬件處理功能在FPGA OS和FAST流水線中(zhōng)的劃分(自很fēn),也是FAST平台提供商(shān街現g)必須考慮的關鍵問題。
一(yī)、FAST流水線接口定義
F對做AST流水線與FPGA OS之間定義了6個接口,分(fēn)别是PIn/P說廠Out、CIn/COut,MEI和AUX。如下北子(xià)圖所示。
PIn/P藍友Out是流水線接收和發送分(fēn)組的接口,CIn/自訊COut分(fēn)别是流水線接收和發送流水線控制信息的接口,ME頻靜I(Match Engine Interface)是流水線頻些訪問FPGA OS提供的匹配引擎的接口。AUX是FPG農為A OS爲FAST流水線提供時鍾、複位和時間戳等信息從好的接口。
&n通下bsp;各接口信号的詳細定義如下(xià)表所示。其中(z可們hōng)MEI接口中(zhōng)的信号寬度N1/N2與平台有輛相關。Clk時鍾頻(pín)率與平台相關土習,一(yī)般不小(xiǎo)于125MHz。所有I/O信号的變化都與CL音對K同步。
&nbs相器p; FAST流水線通過Key接口向查表協處理器提交查表理熱關鍵字,從FlowID接口接收返回的查表結果(匹離水配的地址)。包括是否匹配(match_flag舊票爲1表示匹配,0表示未匹配),以及匹配的規則序号FlowID舊坐等。
用木 隻要me_ready信号有效,FAST流水線可連續地向查表協處理器河用提交查表請求,查表協處理器必須保證這些查表結果按照查表請求電頻提交的順序返回查表結果。
森師 查表協處理器中(zhōn離長g)規則的配置管理方法與具體(tǐ)的平台相關。FAST庫在實科物現時必須對不同的平台進行适配,提供管理這些規男海則的API接口。
二、數據通路PIn/POut數據格式照近
&地醫nbsp;PIn和POut兩個接口采用相同的分(fēn)組格式從中,分(fēn)組數據寬度爲134位,其中(zhō歌好ng)低128位爲報文數據,高6位爲控制信息,每個數據分(fēn都有)組包括32字節的metadata和分(fēn)組數據,如下(xià)圖所示畫理。
&n她放bsp;分(fēn)組數據的格式爲接口收發的以太遠裡網報文格式。其中(zhōng)以太網報文格式中(zhōng)不地從包含最後的4字節CRC字段,接收時,FPGA OS負責接刀綠收時進行CRC校驗和剝離(lí),發送時,FPGA OS會計算分(房山fēn)組的CRC字段并附加在報文最後。
 草中; 數據通路的[133:132]位爲報文數據的頭尾标識。她男01标識報文頭部,11标識報文中(zhōng)師音間數據,10标識報文尾部。由于不同報文具有不同長度,因此多票在報文數據最後一(yī)拍可能存在一(yī)些無效的字節。數據報文的秒司最後一(yī)拍的[131:128]位用來标識無效字節的村些個數。其中(zhōng)0000表示16個字節全部有效;0001标識最服我低1個字節無效,最高15個字節有效;以此類推,1111表長得示最低15個字節無效,最高1個字節有效。
&n靜們bsp; 設FAST流水線的時鍾頻會又(pín)率爲xMhz,因此數據通路理論傳輸帶寬爲128bit*xMHz。例習村如當x=125時,通路帶寬爲16Gbps廠間。
三、控制通路CIn/COut數據格式
資銀
近和 FAST行人流水線的控制通路CIn和COut采用相同的那開消息格式。對FAST流水線模塊的每次讀寫操作都轉換成一(y紙藍ī)個128位寬的命令字寫入FAST流水線。命令字的格式如下(xi姐道à)表所示。與流水線處理分(fēn)組信息一間著(yī)樣,每個模塊隻處理DMID等于本地模塊号的命令字。相應的模塊完成見物讀寫操作後,修改命令字,并将命令字發送給下(xià)遊模是大塊,最後命令字從COut接口輸出。FPGA OS哥木負責将軟件讀寫請求轉換成FAST流水線的命令字,并将C黑樹Out輸出的命令字返回給由SMID标識的軟件模塊。
技哥顯然,每個硬件模塊内部的編址與都是32位,且編址方法與區也其他模塊無關,由模塊開(kāi)發者獨立确定。在物