一种在线检测报文传输错误的方法与装置制造方法及图纸

技术编号:11694237 阅读:64 留言:0更新日期:2015-07-08 13:03
本发明专利技术公开了一种在线检测报文传输错误的方法与装置,方法的实现过程为:在FPGA验证平台中,构建一个存储空间RAM;检测程序启动,RAM接收并处理由处理器发送过来的源端报文;然后对处理器发出的源端报文和远端返回报文的进行协议比较,确定远端返回的报文种类是否在处理器要求的报文种类,是则删除对应存储空间中的报文,并进行下一报文存储;否则进行错误报错。装置的结构包括RAM输入信号模块,RAM输出信号模块、远端报文存储FIFO、协议对比模块。该一种在线检测报文传输错误的方法与装置与现有技术相比,最大程度节约了FPGA内部有限的资源,提高了效率,更好使用了FPGA相关软件进行代码项目调试,实用性强,易于推广。

【技术实现步骤摘要】

本专利技术涉及计算机芯片
,具体地说是一种实用性强、在线检测报文传输错误的方法与装置
技术介绍
随着国家对信息安全的越来越重视,打破国外厂商在小型机服务器上的垄断迫在眉睫。而小型机服务器的研发在于需要网络控制类芯片控制多路处理器系统,这个系统使得多个处理器之间能够进行高速有效、可靠安全地进行报文交换处理。对应这个系统的前期验证调试过程肯定是要在FPGA平台上进行的。为了在FPGA平台上很好地验证,使用一些调试手段是必需的。在FPGA平台验证调试过程中,处理器短时间内发送大量报文。这些本地源端发送的报文都需要有相关对应的远端报文正确返回。一旦有报文没有正确回复,就会导致处理器异常。但是在大量报文中无法人工快速确定哪个报文出现了问题,导致调试工作进展缓慢。针对这种问题,本专利提出一种在线检测报文传输错误的方法与装置,通过加入错误检测机制,有效解决工作效率低的问题。
技术实现思路
本专利技术的技术任务是针对以上不足之处,提供一种实用性强、在线检测报文传输错误的方法与装置。一种在线检测报文传输错误的方法,其具体实现过程为: 在FPGA验证平台中,构建一个存储空间RAM ; 检测程序启动,RAM接收并处理由处理器发送过来的源端报文; 然后对处理器发出的源端报文和远端返回报文的进行协议比较,确定远端返回的报文种类是否在处理器要求的报文种类,是则删除对应存储空间中的报文,并进行下一报文存储;否则进行错误报错。所述RAM的地址是唯一的且该地址由报文的RTID数值来确定。所述源端报文储存入存储空间RAM之前进行过滤的步骤,即过滤源端报文的纯数据,保留头报文信息,同时过滤掉不需要的bit位上的数据。所述协议比较通过查找表完成,该查找表记录远端报文和本地源端报文直接的各种规则协议,即在报文传输协议下,其记录本地源端的每种报文所对应着应该返回的远端报文种类。所述协议比较包括以下两种情况: 一、当没有处理器发送过来本地源端报文要存储,且有报文从远端返回时; 二、当源端报文和远端报文同时到来时。所述第一种情况下的协议比较过程为: 首先根据返回报文的RTID从存储空间中提取相关本地源端报文; 提取的源端报文和远端返回的报文共同进行协议比较; 先根据本地源端报文的种类,在查找表中找到对应着的应该返回报文的种类或者相关数据信息; 再根据找出来的报文种类去比较此时远端返回的报文; 如果返回的远端报文不是所希望的报文,则认为远端返回报文错误,系统出现错误报错;反之则为正常,对应存储空间中的报文可以被删除了,为下一条报文存储做准备。所述第二种情况下的协议比较过程为: 首先设计一个优先级,即将源端报文的输入优先级高于远端返回报文的优先级; 在远端报文返回输入的位置设置一个FIFO缓存,当有源端报文输入时,远端返回报文先存入该FIFO缓存中缓存; 当源端报文处理完后,从FIFO缓存中提取返回报文; 根据本地源端报文的种类,在查找表中找到对应着的应该返回报文的种类或者相关数据信息; 再根据找出来的报文种类去比较此时远端返回的报文; 如果返回的远端报文不是所希望的报文,则认为远端返回报文错误,系统出现错误报错;反之则为正常,对应存储空间中的报文可以被删除了,为下一条报文存储做准备。一种在线检测报文传输错误的装置,其结构包括: RAM输入信号模块,即源端报文处理模块,该输入信号包括数据输入端口 Data_in、输入地址Dataln_addr、输入使能信号Dataln_en、输入时钟信号Clk_in,其中输入数据信号Datajn即为输入的报文;使能信号Dataln_en来自于每个数据包的输入使能信号,用来对报文进行选择是否输入存储空间RAM中;输入地址控制信号Dataln_addr,当有效报文输入的时候,地址根据报文中的RTID来确定;该RAM输入信号模块用于对上述源端报文信号进行过滤,根据报文不同选择是否存入该RAM中; RAM输出信号模块,即远端报文处理模块,该输出信号模块输出的控制信号数目和输入信号模块输入的控制信号数目一致,且该输出信号包括输出数据信号Data_out、输出数据使能信号Dataout_en、输出地址Dataout_addr、输出时钟Clk_out ;其中输出数据信号Data_out是和输入数据信号相同位宽,即是一个报文的宽度;输出地址Dataout_addr根据远端报文的RTID确定,相同RTID的远端报文对应着源端报文; 远端报文存储FIFO,用于当RAM有数据输入的时候,先存储远端报文作为缓冲;当RAM可以输出数据的时候,再从此FIFO中提取远端报文进行比较; 协议对比模块,根据本地源端报文推测出理论上应该得到的远端报文,然后与实际得到的远端报文进行对比,判断实际远端返回的报文是否正确,该协议对比模块内置协议查找表,记录在各种情况下某个本地源端报文所对应出现的远端报文情况。本专利技术的一种在线检测报文传输错误的方法与装置,具有以下优点: 本专利技术提出的一种在线检测报文传输错误的方法与装置,采用了在FPGA内部实时存储检测对比的方式,实现了程序自动检测返回报文错误并记录的功能,具有很高的可操作性和实用价值;解决了在FPGA平台跟踪查找处理器因为某个报文收发错误的时候,由于FPGA资源有限的原因无法确定并抓取某个具体报文的困难;构建一个可控地址的存储空间和一个报文传输协议的查找表,有选择地存储了本地处理器发送报文,并根据查找表对比远端返回报文,来确定具体某个出错的报文;最大程度节约了 FPGA内部有限的资源,提高了效率,更好使用了 FPGA相关软件进行代码项目调试,实用性强,易于推广。【附图说明】附图1为本专利技术的装置结构框图。【具体实施方式】下面结合附图和具体实施例对本专利技术作进一步说明。现提供一种在线检测报文传输错误的方法与装置,其作用针对在FPGA平台验证调试过程中,无法跟踪系统是由于处理器哪个报文出现问题导致宕机的情况。处理器在短时间内发送大量报文,并且收到远端回复相关报文,如果其中某个回复报文不是本地源端所希望的报文,即没有按照规定的协议回复报文,就会导致处理器宕机。而此时短时间内来回传输有大量的报文,无法确定是哪个本地源端报文对应的回复报文出了问题。本专利对处理器发出的源报文和远端返回报文在FPGA内部实时监控进行记录比较,能具体确定哪个报文出了问题,并且记录下来出问题对应的本地源端报文,方便在线查看调试。一种在线检测报文传输错误的方法,其具体实现过程为: 在FPGA验证平台中,构建一个存储空间RAM ; 检测程序启动,RAM接收并处理由处理器发送过来的源端报文; 然后对处理器发出的源端报文和远端返回报文的进行协议比较,确定远端返回的报文种类是否在处理器要求的报文种类,是则删除对应存储空间中的报文,并进行下一报文存储;否则进行错误报错。检测程序启动后,接收并处理由处理器发送过来的QPI报文。在QPI报文协议中规定,在没有对应报文返回的时候每个QPI报文中RTID数值是不同的,并且每个处理器发出的RTID总数目是一定的,所以可以利用RTID这种唯一性有限性作为存储地址Addr将该报文存入存储空间,本专利就采用的这种办法。因为要处理的报文比较多,本专利根据不同本文档来自技高网...
一种在线检测报文传输错误的方法与装置

【技术保护点】
一种在线检测报文传输错误的方法,其特征在于,其具体实现过程为:在FPGA验证平台中,构建一个存储空间RAM;检测程序启动,RAM接收并处理由处理器发送过来的源端报文;然后对处理器发出的源端报文和远端返回报文的进行协议比较,确定远端返回的报文种类是否在处理器要求的报文种类,是则删除对应存储空间中的报文,并进行下一报文存储;否则进行错误报错。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘凯童元满李仁刚刘金广
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1