一种消息处理芯片验证方法与流程

文档序号:26442729发布日期:2021-08-27 13:42阅读:105来源:国知局
一种消息处理芯片验证方法与流程

本发明涉及消息处理芯片领域,尤其涉及一种消息处理芯片验证方法。



背景技术:

随着互连网络技术的性能需求的提高,网络接口芯片的设计日益复杂,通常需要支持多个端口,多种消息引擎,支持多种消息类型,高并发度,支持片上大消息offload等,伴随着性能和功能提高,网络接口芯片的结构也日益复杂,这给网络接口芯片的设计正确性带来了不小的挑战,因此进行充分的模拟验证也变得尤为重要,成为网络接口芯片研制成功的一种保障。

网络接口芯片的主要功能就是通过互连构成一个大型通信网络,实现节点之前的通信。随着网络接口芯片的复杂化,芯片上保存的通信消息中间状态越来越多,远大于一般以太网芯片可能的状态,要达到良好的验证效果,必须使用接近真实需求的消息通信模式,达到多种不同种类的消息的并发处理,而这些需要通过构建一个大型通信网络实现,这意味着服务器运算资源的大量占用和模拟效率的大打折扣。



技术实现要素:

本发明主要解决了现有消息处理芯片验证需要占用大量服务器运算开支和模拟效率低的问题,提供了一种可以在有限资源情况下,尽可能完整高效的验证消息处理芯片的消息机制和逻辑设计的正确性,达到验证芯片正确性目的的面向消息传递机制的消息处理芯片验证方法。

本发明解决其技术问题所采用的技术方案是,一种消息处理芯片验证方法,包括以下步骤:

s1:集中整合网络模型的节点资源,利用悬挂和条目进行节点消息的仿真;

s2:给网络模型设置与待验证芯片端口数量相同的模拟端口数;

s3:配置消息引擎,为不同类型的消息分配不同的悬挂,悬挂中的不同条目代表不同节点的不同消息;

s4:模拟消息发送;

s5:模拟消息接收。

利用悬挂和条目代替对传统的多节点模拟,所有同类型的消息只需要一个悬挂,减少了资源占用。

作为上述方案的一种优选方案,所述模拟消息发送的流程依次为描述符生产、描述符提交、描述符仲裁进悬挂、拆包发送、等待应答和消息发送完成,所述描述符包含消息的所有信息。

作为上述方案的一种优选方案,所述模拟消息接收的流程依次为接收消息包、匹配消息接收悬挂、更新悬挂中的条目信息和回响应包接收完成。

作为上述方案的一种优选方案,所述模拟消息发送的过程中,通过控制描述符提交顺序实现消息的串行,通过令同一时刻同一悬挂中的条目同时发送实现消息的并发。

作为上述方案的一种优选方案,所述条目设有条目信息,条目信息用于记录一个节点上一条消息的状态信息,条目信息包含节点号、有效位和消息id,当网络模型为发送方时,条目信息源于描述符。

作为上述方案的一种优选方案,所述描述符包括根据需求进行编写的描述符和根据真实并行计算的课题中记录的单个节点发送和接收消息转化而成的描述符。

作为上述方案的一种优选方案,所述步骤s03中,不同类型的消息包括模拟网络主动发起的点对点消息、模拟网络被动接收的消息和集合通信的消息,对应的悬挂依次为点对点消息发送悬挂、集合消息悬挂和点对点消息接收悬挂。

作为上述方案的一种优选方案,所述点对点消息发送悬挂在模拟消息发送时,由仲裁模块仲裁出条目,拆包引擎根据仲裁出的条目的条目信息进行拆包生成消息包,最后更新条目信息,仲裁模块一次仲裁只生成一个消息包。

作为上述方案的一种优选方案,所述集合消息悬挂在模拟消息发送时,子节点发送举手包,父节点在收齐所有子节点的举手包后向其父节点发送举手包,直至根节点收齐其子节点的举手包,然后根节点向外发出接收通知,告知所有节点本轮集合通信完成,在集合消息悬挂中一个条目模拟一个消息线程,一个节点包括一个或多个线程。

作为上述方案的一种优选方案,所述模拟消息接收时,网络模型收到消息处理芯片主动发出的消息包后,在点对点消息接收悬挂中查找对应的条目或者分配新的条目,当一条完整消息全部接收完毕后,生成响应包,并释放该消息对应的条目。

本发明的优点是:能够按照复杂网络接口芯片的验证要求,灵活高效地生成需要的消息序列,可以达到包级调控,支持多种类、高并发的验证需求,实现网络接口芯片较为完备的验证。系统在运行过程中,占用计算资源少,用时较短,能够提高网络接口芯片的验证效率。

附图说明

图1为实施例中网络模型的一种结构示意图。

图2为实施例中描述符生成部件的一种结构示意图。

图3为实施例中点对点消息发送模拟的一种流程示意图。

图4为实施例中集合消息发送模拟的一种流程示意图。

图5为实施例中点对点消息接收模拟的一种流程示意图。

具体实施方式

下面通过实施例,并结合附图,对本发明的技术方案作进一步的说明。

实施例:

本实施例一种消息处理芯片验证方法,包括以下步骤:

s1:集中整合网络模型的节点资源,利用悬挂和条目进行节点消息的仿真;如图1所示,网络模型包括描述符产生单元、悬挂、拆包引擎、发送器、ncc、接收器、包处理单元、监测器和检查器,悬挂中包含多个条目,该网络模型摒弃传统的多节点模拟,将整个网络能用到的节点资源集中起来,以一个简化的条目来替代对一个点的仿真,一个点并发多少条消息就占用多少条目,每个条目记录消息收发的中间状态。条目设有条目信息,条目信息用于记录一个节点上一条消息的状态信息,条目信息包含节点号、有效位和消息id,当网络模型为发送方时,条目信息源于描述符,单包消息一次就发送完所有数据,而多包rdmaw消息通常还要记录剩余数据量,及rdmaw的目标内存地址。如图2所示,描述符包括根据需求进行编写的描述符和根据真实并行计算的课题中记录的单个节点发送和接收消息转化而成的描述符,也可以通过设置随机参数生产,一个描述符对应一条点对点消息,一组描述符对应一条集合消息。

s2:给网络模型设置与待验证芯片端口数量相同的模拟端口数;在模拟过程中关注点在于控制消息包到达消息处理芯片端口的顺序,因此,可以省略对网络互联结构的模拟,仅给网络模型设置相应数量的端口,以实现待验证芯片和其他模拟节点的通信及芯片端口的自环。

s3:配置消息引擎,为不同类型的消息分配不同的悬挂,悬挂中的不同条目代表不同节点的不同消息;本实施例中,不同类型的消息包括模拟网络主动发起的点对点消息、模拟网络被动接收的消息和集合通信的消息,对应的悬挂依次为点对点消息发送悬挂、集合消息悬挂和点对点消息接收悬挂。如图3所示,点对点消息发送悬挂在模拟消息发送时,由仲裁模块仲裁出条目,拆包引擎根据仲裁出的条目的条目信息进行拆包生成消息包,最后更新条目信息,仲裁模块一次仲裁只生成一个消息包。点对点消息发送悬挂在模拟消息发送时,由仲裁模块仲裁出条目,拆包引擎根据仲裁出的条目的条目信息进行拆包生成消息包,最后更新条目信息,仲裁模块一次仲裁只生成一个消息包,如图4所示,作为叶子节点的条目会首先发送举手包,中间节点在收齐子节点的举手包后向父节点发举手包,而根节点在收齐子节点举手包后,向外发出结束通知,告知所有节点本轮集合通信完成。如图5所示,模拟点对点消息接收时,网络模型收到消息处理芯片主动发出的消息包后,在点对点消息接收悬挂中查找对应的条目或者分配新的条目,当一条完整消息全部接收完毕后,生成响应包,并释放该消息对应的条目。

s4:模拟消息发送,流程依次为描述符生产、描述符提交、描述符仲裁进悬挂、拆包发送、等待应答和消息发送完成,描述符包含消息的所有信息。网络消息之间既有并发要求,也有串行要求,相应的也需要对此进行模型,在模拟消息发送的过程中,通过控制描述符提交顺序实现消息的串行,通过令同一时刻同一悬挂中的条目同时发送实现消息的并发

s5:模拟消息接收,流程依次为接收消息包、匹配消息接收悬挂、更新悬挂中的条目信息和回响应包接收完成。

在网络模型中,消息处理芯片一次通信的完成是以消息为单位的,对应一个描述符结构。在消息处理芯片上的行为涉及描述符的管理、数据的拆分和发送、数据的接收和记录等,在发消息时,发送完所有的数据包,并收到对方的应答消息才算完成。在网络模型中,大致流程和网络接口芯片的设计一致,但是资源不是按照节点划分的,而是将网络模型当成一个巨型节点,但是它有很多的节点号,这样的网络模型只要能模拟所有处于活动状态的网络上所有节点的行为,从而大大降低了整体的资源开销。

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1