一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据报文转发方法、装置、设备及存储介质与流程

2021-10-19 21:43:00 来源:中国专利 TAG:互联网 报文 转发 装置 通信


1.本技术涉及tcp/ip互联网通信领域,特别是涉及一种数据报文转发方法、装置、设备及存储介质。


背景技术:

2.现有技术中数据报文转发的方法一般为通过各参考模型所连接的tlm端口将通过该参考模型的数据报文发送至各自的计分板。但是,当一个验证环境中存在多个参考模型时,则需要例化多份tlm端口,因此,在参考模型与各tlm端口连接过程中很容易出现错连或者漏连的问题,导致数据报文转发出现错误。


技术实现要素:

3.有鉴于此,本技术提供了一种数据报文转发方法、装置、设备及存储介质,可以避免由于参考模型与各tlm端口连接过程中的错连或者漏连导致的数据报文转发出错的问题。
4.本技术的第一方面提供一种数据报文转发方法,包括:
5.根据验证环境中各参考模型的数据报文的索引将继承于同一种类型的数据报文缓存至队列缓存组件中的同一队列;
6.当检测到所述队列中缓存有数据报文时,根据所述数据报文的索引调用所述队列缓存组件相应的tlm端口;
7.利用所述tlm端口转发所述队列中的数据报文;
8.其中,所述参考模型为用于模拟待验证组件的模型;所述队列缓存组件包括用于存放数据报文的队列以及用于发送数据报文的tlm端口。
9.由上,基于队列缓存的方法来存放来自不同参考模型的数据报文,再依据数据报文的索引,通过队列缓存组件相应的tlm端口将数据报文进行转发,减少了参考模型与接收数据报文端之间的多个端口连接问题,避免了端口连接出错。
10.作为第一方面的一种实现方式,在所述根据验证环境中各参考模型的数据报文的索引将继承于同一种类型的数据报文缓存至队列缓存组件中的同一队列之前,还包括:
11.声明所述验证环境中参考模型对应的队列缓存组件;
12.通过寻找路径的方式获得所述队列缓存组件的标识;
13.通过类型转换的方式将所述队列缓存组件的标识赋值于所述验证环境中参考模型对应的队列缓存组件。
14.作为第一方面的一种实现方式,所述队列至少为二维队列,其中,至少一个维度用于存放数据报文的索引,至少一个维度用于存放数据报文。
15.作为第一方面的一种实现方式,所述数据报文的索引包括数据报文的端口号。
16.作为第一方面的一种实现方式,还包括:
17.利用所述tlm端口将所述队列中的数据报文转发至计分板;
18.其中,所述计分板用于统计待验证组件实际的输出数据与所述参考模型输出数据的比较结果。
19.由上,通过将数据报文转发至计分板,可以直观看出参考模型与实际待验证组件输出数据的差别,便于用于对参考模型以及数据的分析。
20.本技术的第二方面提供一种数据报文转发装置,包括:
21.缓存模块,用于根据参考模型中数据报文的索引将继承于同一种类型的数据报文缓存至队列缓存组件中的同一队列;
22.调用模块,用于当检测到所述队列中缓存有数据报文时,根据所述数据报文的索引调用所述队列缓存组件相应的tlm端口;
23.转发模块,用于利用所述tlm端口转发所述队列中的数据报文;
24.其中,所述参考模型为用于模拟待验证组件的模型;所述队列缓存组件包括用于存放数据报文的队列以及用于发送数据报文的tlm端口。
25.作为第二方面的一种实现方式,所述装置还包括:
26.声明模块,用于声明所述验证环境中参考模型对应的队列缓存组件;
27.获取模块,用于通过寻找路径的方式获得所述队列缓存组件的标识;
28.赋值模块,用于通过类型转换的方式将所述队列缓存组件的标识赋值于所述验证环境中参考模型对应的队列缓存组件。
29.作为第二方面的一种实现方式,所述队列至少为二维队列,其中,至少一个维度用于存放数据报文的索引,至少一个维度用于存放数据报文。
30.作为第二方面的一种实现方式,所述数据报文的索引包括数据报文的端口号。
31.作为第二方面的一种实现方式,还包括:
32.利用所述tlm端口将所述队列中的数据报文转发至计分板;
33.其中,所述计分板用于统计待验证组件实际的输出数据与所述参考模型输出数据的比较结果。
34.本技术的第三方面提供一种计算设备,包括:
35.总线;
36.通信接口,其与所述总线连接;
37.至少一个处理器,其与所述总线连接;以及
38.至少一个存储器,其与总线连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理执行上述第一方面任一项所述的数据报文转发方法。
39.本技术的第四方面提供一种计算机可读存储介质,其上存储有程序指令,所述程序指令当被计算机执行时使得所述计算机执行上述第一方面任一项所述的数据报文转发方法。
40.综上,本技术提供的技术方案,可以解决由于参考模型与各tlm端口连接过程中的错连或者漏连导致的数据报文转发出错的问题。
附图说明
41.图1为本技术实施例提供的一种数据报文转发方法的流程图;
42.图2为本技术实施例提供的从参考模型中将数据报文转发至计分板的一个示例图;
43.图3为本技术实施例提供的一种数据报文转发装置的结构示意图;
44.图4为本技术实施例提供的计算设备的结构示意图。
具体实施方式
45.说明书和权利要求书中的词语“第一、第二、第三等”或模块a、模块b、模块c等类似用语,仅用于区别类似的对象,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。
46.在以下的描述中,所涉及的表示步骤的标号,如s110、s120
……
等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的顺序,或同时执行。
47.说明书和权利要求书中使用的术语“包括”不应解释为限制于其后列出的内容;它不排除其它的元件或步骤。因此,其应当诠释为指定所提到的所述特征、整体、步骤或部件的存在,但并不排除存在或添加一个或更多其它特征、整体、步骤或部件及其组群。因此,表述“包括装置a和b的设备”不应局限为仅由部件a和b组成的设备。
48.本说明书中提到的“一个实施例”或“实施例”意味着与该实施例结合描述的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在本说明书各处出现的用语“在一个实施例中”或“在实施例中”并不一定都指同一实施例,但可以指同一实施例。此外,在一个或多个实施例中,能够以任何适当的方式组合各特定特征、结构或特性,如从本公开对本领域的普通技术人员显而易见的那样。
49.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。如有不一致,以本说明书中所说明的含义或者根据本说明书中记载的内容得出的含义为准。另外,本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
50.为了准确地对申请中的技术内容进行叙述,以及为了准确地理解本技术,在对具体实施方式进行说明之前先对本说明书中所使用的术语给出如下的解释说明或定义。
51.1、参考模型:从验证的角度模拟待测设计功能的一个验证组件。
52.2、计分板:实现对设计输出的实际数据以及参考模型输出的数据的比对,并统计比对结果的一个验证组件。
53.下面结合附图对本技术的实施例进行详细说明。首先,介绍本技术实施例提供的数据报文转发方法所应用的场景。
54.本技术实施例中的方案可以适用于验证环境中。当验证环境中存在多个参考模型,且各参考模型输出的数据报文在格式上存在一定的相似性(这些数据继承于同一个数据类型,但在具体实现形式上有所区别),利用定义的队列缓存组件来收集来自这些参考模型的数据报文,并根据数据报文的索引与队列缓存组件的事务级建模(transition level modeling,tlm)端口的对应规则,将来自不同参考模型的数据报文发往各自的计分板。
55.本技术提供了一种数据报文转发方法,该方法可以避免由于验证环境中存在多个参考模型与各自的tlm端口、各自的计分板连接过程中的错连或者漏连导致的数据报文转
发出错的问题。
56.下面结合附图对本技术的其中一个实施例提供的一种数据报文转发方法进行详细说明。具体的,参见图1,该方法可以包括下述步骤s110

s130:
57.s110:根据验证环境中各参考模型的数据报文的索引将继承于同一种类型的数据报文缓存至队列缓存组件中的同一队列;
58.s120:当检测到所述队列中缓存有数据报文时,根据所述数据报文的索引调用所述队列缓存组件相应的tlm端口;
59.s130:利用所述tlm端口转发所述队列中的数据报文;
60.其中,所述参考模型为用于模拟待验证组件的模型;所述队列缓存组件包括用于存放数据报文的队列以及用于发送数据报文的tlm端口。
61.在本实施例中,所述队列至少为二维队列,其中,至少一个维度用于存放数据报文的索引,至少一个维度用于存放数据报文。其中,数据报文的索引包括但不局限于数据报文的端口号,数据报文的索引还可以为数据报文的id号等。
62.另外,在本实施例中,利用所述tlm端口将所述队列中的数据报文转发至计分板;其中,所述计分板用于统计待验证组件实际的输出数据与所述参考模型输出数据的比较结果。
63.在本技术的另外一个实施例中,步骤s110之前还可以包括:
64.声明所述验证环境中参考模型对应的队列缓存组件;
65.通过寻找路径的方式获得所述队列缓存组件的标识;
66.通过类型转换的方式将所述队列缓存组件的标识赋值于所述验证环境中参考模型对应的队列缓存组件。
67.为了进一步更好的理解本技术实施例提供的一种数据报文转发方法,下面结合图2,对本技术实施例提供的一种数据报文转发方法的一具体实施方式进行说明。
68.首先,定义一个验证环境中包含两个参考模型和一个队列缓存组件。所述参考模型为用于模拟设计的模型。此处需要注意的是,本实施例仅以一个验证环境中存在两个参考模型为例,实际在一个验证环境中可以存在一个或多个参考模型,但是在一个验证环境中仅存在一个队列缓存组件。可选的,还可以将验证环境中的参考模型和对垒缓存组件例化为一个顶层参考模型,该顶层参考模型可以通过tlm端口与记分板进行数据通信。
69.参见图2,提供从参考模型中将数据报文转发至计分板的一个示例。在本实施例中,如图2所示,将一个参考模型的名称定义为pes_rm,将另外一个参考模型的名称定义为asm_rm,将队列缓存组件的类型定义为common_queue_port。在pes_rm模型中声明common_queue_port类型的变量pes_common_taxi_ins,在asm_rm模型中声明common_queue_port类型的变量asm_common_taxi_ins。
70.然后通过寻找路径的方式$cast(xx_common_taxi_ins,top.find("uvm_test_top.env.dsm_rm_ins.xx"))获得common_queue_port类型变量所对应的实例。
71.根据common_queue_port类型变量所对应的实例调用队列缓存组件中的二维队列transfer[int][$]。其中,transfer[int][$]为本实施例中队列缓存组件中的二维队列的名称。
[0072]
根据数据报文的端口号,将继承于同一类型的数据报文压入同一队列中。
signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器410采用一个或多个集成电路,用于执行相关程序,以实现本发明实施例所提供的技术方案。
[0087]
该存储器420可以包括只读存储器和随机存取存储器,并向处理器410提供指令和数据。处理器410的一部分还可以包括非易失性随机存取存储器。例如,处理器410还可以存储设备类型的信息。
[0088]
在计算设备400运行时,所述处理器410执行所述存储器420中的计算机执行指令执行方法实施例一的操作步骤或方法实施例二的操作步骤或方法实施例三的操作步骤。
[0089]
应理解,根据本发明实施例的计算设备400可以对应于执行根据本发明各实施例的方法中的相应主体,并且计算设备400中的各个模块的上述和其它操作和/或功能分别为了实现本实施例各方法的相应流程,为了简洁,在此不再赘述。
[0090]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0091]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0092]
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0093]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0094]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0095]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括,u盘、移动硬盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0096]
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行方法实施例一的操作步骤或方法实施例二的操作步骤或方法实施例三的操作步骤。
[0097]
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括,具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0098]
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0099]
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括、但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0100]
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0101]
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,均属于本发明保护范畴。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜