一种万兆以太网变速箱Fifo读写控制及容错系统的制作方法

文档序号:7988869阅读:482来源:国知局
专利名称:一种万兆以太网变速箱Fifo读写控制及容错系统的制作方法
技术领域
本发明属于网络通信领域,具体讲涉及一种IOGEthernet GearboxFifo读写控制及各错系统。
背景技术
IOGEthernet PCS (物理编码)子层位于协调子层(通过GMII)和物理介质接入层(PMA)子层之间,它将经过完善定 义的以太网MAC功能映射到现存的编码和物理层信号系统的功能上并和上层RS/MAC层的接口 XGMII连接,与下层PMA接口使用的是PMA服务接□。一般来说,可以通过上层配置寄存器选择10GBASE的类型IOGBASE-X,10GBASE-R、10GBASE-W。10GBASE-X使用一种特紧凑包装,4个接收器和4个在1300nm波长附近以大约25nm为间隔工作的激光器,每一对发送器/接收器在3. 125Gbit/s速度(数据流速度为2. 5Gbit/s) ;10GBASE-R是一种使用64B/66B编码的串行接口,数据流为10.000Gbit/s (开销体现在2bit同步头上),因而产生的时钟速率为10. 3125Gbit/s ;IOGBASE-W是广域网接口,与SONET 0C-192兼容,其时钟为9. 953Gbit/s数据流为9.585Gbit/s。在复杂的网络设备中,很多因素会导致PCS层接收到的码流失真,也就是线路信号质量衰减引起的数据跳变错误,这些因素包括光模块波长类型不匹配、光纤长度过长、多次使用分光设备、网络设备过热引起的信号质量问题等等。若PCS层不采取任何容错方法进行处理,那么会导致PCS层功能异常,而绝大部分问题出现在PCS层的Gearbox Fifo变速模块中,因为其它几个模块为流水操作,而Gearbox Fifo变速模块包括一个跨时钟域fifo,容易出现模块死锁现象,所以Gearbox Fifo的操作就显得十分重要。

发明内容
为克服上述缺陷,本发明提供了一种IOGEthernet Gearbox Fifo读写控制及容错系统,避免因为线路信号质量问题带来的误读写或控制出错的问题。为实现上述目的,本发明提供一种IOGEthernet Gearbox Fifo读写控制及容错系统,其包括PCS接收设备和与其通过接口总线XSBI连接的收发器;所述PCS接收设备包括Demux模块、同步头查找模块、解扰模块、Gearbox Fifo变速模块和64B/66B解码模块;所述Demux模块、所述同步头查找模块、所述解扰模块、所述Gearbox Fifo变速单元和所述64B/66B解码模块依次连接;其改进之处在于,所述Gearbox Fifo变速单元包括数据fifo、控制fifo、超短帧处理模块、超长帧处理模块、丢帧头处理模块、丢帧尾处理模块、读写选择模块和监控数据模块;所述超长帧处理模块和所述丢帧尾处理模块都分别与所述数据fifo和所述控制fifo连接;所述控制fifo分别对所述读写选择模块和所述监控数据模块进行控制;所述数据fifo与所述读写选择模块连接;所述数据fifo向所述监控数据模块传输fifo empty/almost full信号以及监控写数据fifo的sof信号。
本发明提供的优选技术方案中,所述同步头查找模块找到64B/66B编码后形成2bit同步头。本发明提供的第二优选技术方案中,所述超短帧处理模块,若帧长小于64bytes并大于8bytes时,则写入Gearbox Fifo ;若巾贞长小于等于8bytes时,丢弃中贞。本发明提供的第三优选技术方案中,所述超长帧处理模块,设置计数器,所述计数器记录帧周期数,若帧周期数超过256周期,则对帧做截断处理。本发明提供的第四优选技术方案中,所述丢帧头处理模块,对帧的SFD进行检测,若检测不到SFD,则不进行写数据操作;所述SFD为帧定界byte。本发明提供的第五优选技术方案中,所述丢帧尾处理模块,当帧没有帧结束标记时,如果此时fifo almost full信号拉高,则强制此帧写操作完成。本发明提供的第六优选技术方案中,所述读写选择模块采用数据fifo信号和与其异步的控制fifo信号对所述Gearbox Fifo变速单元的读写进行操作。本发明提供的第七优选技术方案中,所述监控数据模块产生fifoempty信号,对所述Gearbox Fifo变速单元进行复位。
本发明提供的第八优选技术方案中,所述系统使用型号为lxl30t的fpga芯片。与现有技术比,本发明提供的一种IOGEthernet Gearbox Fifo读写控制及容错系统,解决了异常帧带来的死锁情况的问题,避免因为线路信号质量问题带来的误读写或控制出错的问题,保证在线路信号质量恶劣的情况下不至于锁死的现象,最大程度保证有效数据能够传递给MAC层,无需系统提供大的缓冲区,节省了大量的系统ram资源。


图I为IOGEthernet Gearbox Fifo读写控制及容错系统的结构示意图。图2为Gearbox Fifo变速单元的结构示意图。图3为数据fifo的数据结构和空、满信号使能阀值。图4为丢巾贞尾处理中遇qjumbo信号的处理方式。图5为丢巾贞尾处理中遇almost_full信号的处理方式。图6为现有技术中第一种读写策略的一种弊端举例。图7为复位状态机的跳转过程。
具体实施例方式如图1、2所示,一种IOGEthernet Gearbox Fifo读写控制及容错系统,其包括PCS接收设备和与其通过接口总线XSBI连接的收发器;所述PCS接收设备包括Demux模块、同步头查找模块、解扰模块、Gearbox Fifo变速模块和64B/66B解码模块;所述Demux模块、所述同步头查找模块、所述解扰模块、所述Gearbox Fifo变速单元和所述64B/66B解码模块依次连接;其特征在于,所述Gearbox Fifo变速单元包括数据fifo、控制fifo、超短帧处理模块、超长帧处理模块、丢帧头处理模块、丢帧尾处理模块、读写选择模块和监控数据模块;所述超长帧处理模块和所述丢帧尾处理模块都分别与所述数据fifo和所述控制fifo连接;所述控制fifo分别对所述读写选择模块和所述监控数据模块进行控制;所述数据fifo与所述读写选择模块连接;所述数据fifo向所述监控数据模块传输fifo empty/almostfull信号以及监控写数据fifo的sof信号。IOGEthernet Gearbox Fifo读写控制及容错系统基于fpga实现,fpga的优点在于其灵活的在线可编程特性。本电路还包含一个外围芯片10Gbps的16:1 demultiplexertransceiver,其作用是实现PMA、PMD两层的功能,将光信号处理后形成16bit差分的并行电信号输入给fpga,接口总线为XSBI。XSBI总线数据是未经同步的数据,也就是同步头查找模块的目的找到64B/66B编码后形成的2bit同步头,因为Ibit信号转换成并行数据后,2bit同步头已经不在最初66bit数据的最低两位,而可能在64bit的任何位置0_1、1_2、. . . 62_63、63_0*(0*代表下一周期第Obit);同步后的数据进入解扰模块,解扰后的数据进入Gearbox Fifo变速模块。之所以称为变速模块,是因为前面的同步模块找到2bit同步头后,采用“借一周期”的策略,在Gearbox Fifo变速模块实现变速功能, 也就是写33周期数据过程中只读32周期,这样才会使得两端数据总量匹配,也就是64B/66B的精髓所在。Gearbox Fifo变速模块主要包括以下几种异常情况的处理I)、超短巾贞处理以太网规范规定,若发送端巾贞长小于64bytes,必须填充padding处理到64bytes长度,Gearbox Fifo变速模块若收到小于64bytes的以太巾贞都认为是错误帧;但当线路质量出现问题时,会出现甚至小于16bytes的数据(64bit系统中为2个时钟周期),更甚会出现小于Sbytes的现象;本发明采取的策略为若小于64bytes并大于8bytes时,也就是巾贞长为至少为2周期,则写入Gearbox Fifo ;若小于等于8bytes时,也就是等于I周期的帧,则进行丢弃处理,丢弃策略依赖流水操作;之所以进行丢弃操作,是因为这种短的以太帧会引起后续模块操作时序上的困难;2)、超长帧处理超长帧也就是jumbo帧的处理不同的系统有不同的规定,本发明严格依赖于以太网规范,认为大于1518bytes的帧都为超长帧,但发明设计上可接收2Kbytes的巾贞。本发明设计一个计数器,记录巾贞周期数,若周期数超过256周期(256x8bytes=2046bytes),则认为是超长报文,做截断处理,并通知后续模块此帧为截断的帧,标记为错误;之所以做截断,是因为系统若提供大的缓冲区,例如有些网络设备支持9Kbytes的超长帧接收,则会浪费大量的系统ram资源,而网络上这种帧往往是错误的。3)、丢帧头处理此种情况处理相对比较简单,若检测不到64B/66B解码前的SFD (帧定界byte),则不进行写数据操作,不管之后的数据流是否携带帧结束标记。4)、丢帧尾处理此种情景为帧传输过程中由于信号质量问题或发送端帧尾部处理出现问题时,某种巾贞是没有巾贞结束标记的;本发明的处理过程利用fifo almost_full的处理,也就是当Gearbox Fifoalmost_full信号拉高时,强制此巾贞写操作完成,并通知64B/66B解码模块此帧为主动截断帧,解码模块再通知MAC层打上错误标记,待用户处理。Gearbox Fifo的读写策略选择I)、因为Gearbox Fifo为异步fifo,也就是读写时钟不一致,所以必须进行一个完整帧写入后通知读模块进行读操作,若违反此策略,将会出现fifo读空或读溢出的情况;此策略为当写完一个完整帧后产生一个qRdy信号,此信号拉高一周,进行异步处理后到读时钟域,读时钟域的计数器进行“加一 “操作,读侧若发现此计数器大于0,则进行读操作,直到读到fifo带内控制的结束标记为止,读后计数器进行“减一”操作。2)、此策略采用一个数据fifo和一个控制fifo的策略;两个fifo都为异步的,当写端写完一个完整帧后,向控制fifo内写入Ibit信息,读侧发现控制fifo非空,则进行一次控制fifo的读操作,达到数据和控制的流水匹配操作。Gearbox Fifo的复位操作此操作是处理其他本发明未发现的异常而设置的;因为此fifo为IOGEthernet的第一级缓存,若这里出现死锁或读写失误,则会影响整个系统的数据流,所以此处的功能完整性是十分必要的。Gearbox Fifo变速模块发明了一个监控数据fifo empty信号的功能,也就是当读端正在读数据的同时,发现empty拉高,也就是读取数据的同时已经把数据fifo读空了,这样的动作结果是不允许的,但之前的所有异常操作中又无此种情况的处理,所以我们进行一次fifo复位的处理,复位操作有效时是把当前读取的报文读取结束后且不进行下次fifo的读取动作之前,复位整个Gearbox Fifo变速模块,达到初始化的目的;此状态机还监控almost_full信号,若巾贞sof连续出现16个,并且写使能是无效的,说明此时fifo的读写机 制已经失效,因为读端是流水操作,有fifo内有帧必然进行读取,但数据格式不对或错乱的情况下就不会进行读操作,所以导致fifo两端锁死的现象,此时就用复位机制初始化fifo。图I的Demux模块功能是把16路XSBI总线数据转换成64bit并行数据,目的是降低数据伴随时钟的频率,达到fpga内部容易实现的局部时钟;之后数据进入找同步头模块进行同步处理、进入解扰模块进行数据解扰操作,后形成66bit数据给Gearbox Fifo变速模块,此模块通过数据的低IObit翻译出10GBASE-R中的帧开始、结束、PAUSE操作等命令进行流水写入fifo的操作。若计数器记录超过2Kbytes的限制,则拉起,并在下一个sof出现时拉低,拉起的下周期进行fifo eof和bad信号的写入,结束此帧的操作,等待下帧的出现,也就是图3的操作时序,具体的sof、eof等信号见图2 ;若写fifo的过程中出现almost_full拉高现象,操作和图3操作类似,写fifo在almost_full拉高的下一周期拉低,并同时把eof和bad写入fifo的控制域,时序图见图4 ;图5的时序图为第一种读写策略的弊端;因为fifo为异步fifo,写端完成一个中贞的写操作后拉起qRdy信号,见图5,同时下周期做异步处理,寄存qRdy_delayO、qRdy_delayl两个周期后形成qRdy_Sync信号给读端做踩异步信号沿的操作,但这时在帧结束后的第一周期出现了一个两周期长的无效帧,此帧也做拉起qRdy信号的操作,从图5的时序上明显可见,两巾贞的qRdy信号因为巾贞结束间隙小于5周期,导致两巾贞的qRdy_sync和为一个信号,从而导致读端出现fifo读“空”的现象;所以我们采用了读写策略的第二种,也就是添加一个位宽Ibit的异步控制fifo,也就避免了同步信号叠加的现象。图6为复位机制的监控状态机;全局复位信号失效后,进入INIT状态,此状态监控fifo的almost_full信号和读fifo端产生的q ReadFifoEmpty信号,后者为读数据的同时fifo的Empty同时有效产生的信号,若两者其一有效则跳到ErrorPktAdd状态,此状态为监控是否连续出现以上两种现象,若连续出现16帧同样的现象则跳到产生局部复位信号的GenReset状态,此状态有有ResetCnt计数器控制,若计数器到4则产生复位有效信号复位整个异步fifo,避免fifo锁死。需要声明的是,本发明内容及具体实施方式
意在证明本发明所提供技术方案的实际应用,不应解释为对本发明保护范围的限定。本领域技术人员在本发明的精神和原理启发下,可作各种修改、等同替换、或改进。但这些 变更或修改均在申请待批的保护范围内。
权利要求
1.ー种IOGEthernet Gearbox Fifo读写控制及容错系统,其包括PCS接收设备和与其通过接ロ总线XSBI连接的收发器;所述PCS接收设备包括Demux模块、同步头查找模块、解扰模块、Gearbox Fifo变速模块和64B/66B解码模块;所述Demux模块、所述同步头查找模块、所述解扰模块、所述Gearbox Fifo变速单元和所述64B/66B解码模块依次连接;其特征在于,所述Gearbox Fifo变速单元包括数据fifo、控制fifo、超短巾贞处理模块、超长中贞处理模块、丢帧头处理模块、丢帧尾处理模块、读写选择模块和监控数据模块;所述超长帧处理模块和所述丢帧尾处理模块都分别与所述数据fifo和所述控制fifo连接;所述控制fifo分别对所述读写选择模块和所述监控数据模块进行控制;所述数据fifo与所述读写选择模块连接;所述数据fifo向所述监控数据模块传输fifo empty/almost full信号以及监控写数据fifo的sof信号。
2.根据权利要求I所述的系统,其特征在于,所述同步头查找模块找到64B/66B编码后形成2bit同步头。
3.根据权利要求I所述的系统,其特征在于,所述超短帧处理模块,若帧长小于64bytes并大于8bytes时,则写入Gearbox Fifo ;若巾贞长小于等于8bytes时,丢弃中贞。
4.根据权利要求I所述的系统,其特征在于,所述超长帧处理模块,设置计数器,所述计数器记录帧周期数,若帧周期数超过256周期,则对帧做截断处理。
5.根据权利要求I所述的系统,其特征在于,所述丢帧头处理模块,对帧的SFD进行检测,若检测不到SFD,则不进行写数据操作;所述SFD为帧定界byte。
6.根据权利要求I所述的系统,其特征在于,所述丢帧尾处理模块,当帧没有帧结束标记时,如果此时fifo almost full信号拉高,则强制此帧写操作完成。
7.根据权利要求I所述的系统,其特征在于,所述读写选择模块采用数据fifo信号和与其异步的控制fifo信号对所述Gearbox Fifo变速单元的读写进行操作。
8.根据权利要求I所述的系统,其特征在于,所述监控数据模块产生fifoempty信号,对所述Gearbox Fifo变速单元进行复位。
9.根据权利要求1-8所述的系统,其特征在于,所述系统使用型号为lxl30t的fpga芯片。
全文摘要
本发明提供了一种万兆以太网变速箱Fifo读写控制及容错系统,其包括PCS接收设备和与其通过接口总线XSBI连接的收发器;所述PCS接收设备包括Demux模块、同步头查找模块、解扰模块、Gearbox Fifo变速模块和64B/66B解码模块;所述Demux模块、所述同步头查找模块、所述解扰模块、所述Gearbox Fifo变速单元和所述64B/66B解码模块依次连接;所述Gearbox Fifo变速单元包括超短帧处理模块、超长帧处理模块、丢帧头处理模块、丢帧尾处理模块、读写选择模块和监控数据模块。本发明提供的一种万兆以太网变速箱Fifo读写控制及容错系统,避免了因为线路信号质量问题带来的误读写或控制出错的问题。
文档编号H04L12/24GK102685091SQ201110383678
公开日2012年9月19日 申请日期2011年11月28日 优先权日2011年11月28日
发明者张磊, 张英文, 李静, 白宗元, 窦晓光, 纪奎 申请人:曙光信息产业(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1