FPGA中完成
的硬件流水线是FAST平台完成
分组硬件处置赏罚
的基础
。FPGA OS为FAST流水线提供了基本
的分组收发,高速DMA和查表等效劳
。FAST 流水线与FPGA OS的接口界说直接反映了分组硬件处置赏罚
成效
在FPGA OS和FAST流水线中的划分,也是FAST平台提供商必需
思量
的关键
效果
。
一、FAST流水线接口界说
FAST流水线与FPGA OS之间界说了6个接口,划分是PIn/POut、CIn/COut,MEI和AUX。如下图所示。
PIn/POut是流水线吸收
和发送分组的接口,CIn/COut划分是流水线吸收
和发送流水线控制信息的接口,MEI(Match Engine Interface)是流水线会晤
FPGA OS提供的婚配
引擎的接口。AUX是FPGA OS为FAST流水线提供时钟、复位和时间
戳等信息的接口。
各接口信号的详细界说如下表所示。其中MEI接口中的信号宽度N1/N2与平台相关。Clk时钟频率与平台相关,一样往常
不小于125MHz。一切
I/O信号的转变
都与CLK同步。
FAST流水线经过
Key接口向查表协处置赏罚
器提交查表关键
字,从FlowID接口吸收
前往
的查表效果
(婚配
的地址)。征求
能否
婚配
(match_flag为1表现
婚配
,0表现
未婚配
),以及婚配
的规则序号FlowID等。
只需
me_ready信号有用
,FAST流水线可一连
地向查表协处置赏罚
器提交查表请求,查表协处置赏罚
器必需
保险
这些查表效果
凭证
查表请求提交的顺序前往
查表效果
。
查表协处置赏罚
器中规则的设置
管理
要领与详细
的平台相关。FAST库在完成
时必需
对分别
的平台举行
适配,提供管理
这些规则的API接口。
二、数据通路PIn/POut数据名堂
PIn和POut两个接口接纳相反
的分组名堂
,分组数据宽度为134位,其中低128位为报文数据,高6位为控制信息,每个数据分组征求
32字节的metadata和分组数据,如下图所示。
分组数据的名堂
为接口收发的以太网报文名堂
。其中以太网报文名堂
中不征求
最后
的4字节CRC字段,吸收
时,FPGA OS仔细
吸收
时举行
CRC校验和剥离,发送时,FPGA OS会盘算分组的CRC字段并附加在报文最后
。
数据通路的[133:132]位为报文数据的头尾标志
。01标志
报文头部,11标志
报文中央
数据,10标志
报文尾部。因为
分别
报文具有分别
长度,是以
在报文数据最后
一拍能够
存在一些有效
的字节。数据报文的最后
一拍的[131:128]位用来标志
有效
字节的个数。其中0000表现
16个字节一切
有用
;0001标志
最低1个字节有效
,最高15个字节有用
;以此类推,1111表现
最低15个字节有效
,最高1个字节有用
。
设FAST流水线的时钟频率为xMhz,是以
数据通路实际
传输带宽为128bit*xMHz。例如当x=125时,通路带宽为16Gbps。
三、控制通路CIn/COut数据名堂
FAST流水线的控制通路CIn和COut接纳相反
的旧事
名堂
。对FAST流水线模块的每次读写职掌
都转换成一个128位宽的下令
字写入FAST流水线。下令
字的名堂
如下表所示。与流水线处置赏罚
分组信息一样,每个模块只处置赏罚
DMID即是外地
模块号的下令
字。照应
的模块完成读写职掌
后,修正
下令
字,并将下令
字发送给下游模块,最后
下令
字从COut接口输入
。FPGA OS仔细
将软件读写请求转换成FAST流水线的下令
字,并将COut输入
的下令
字前往
给由SMID标志
的软件模块。
显然,每个硬件模块外部
的编址与都是32位,且编址要领与其他模块有关
,由模块开发者自力
确定。