激励源及功能验证方法与流程

文档序号:15851916发布日期:2018-11-07 10:09阅读:670来源:国知局
激励源及功能验证方法与流程

本发明涉及电子技术领域,尤其是涉及一种激励源及功能验证方法。

背景技术

随着嵌入式系统的快速发展,对系统内各部件间数据传输速度的要求不断提升,伴随而来的是各部件数据传输接口协议复杂度和开发难度的大幅度增加,从uart、jtag、i2c、spi等传统传输接口到以太、pcie、rapidio等高速传输接口,传输速率提高达1000倍以上,伴随而来的是实现复杂度也成相同级数增加。

在系统内各部件芯片的开发过程中,高速传输接口模块的开发已成为制约整个芯片功能正确性和能否成功推向市场的关键环节,因此如何保证接口模块的功能正确性是各部件芯片开发过程中的重要课题。

目前针对芯片接口模块的eda(electronicsdesignautomation电子设计自动化)验证方法中,大多采购商用vip(verificationintellectualproperty验证知识产权核)作为激励源,但受限于vip本身的开发成熟度、特性匹配度,特别是针对较新出现的协议标准,vip的开发进程往往和接口设计开发进程同步,单纯依靠vip很难保证接口模块的验证充分性和正确性。

现有针对芯片接口模块的eda验证方法,主要实现途径是使用支持相同协议的vip作为激励源,按照激励源要求的方法构造用例,完成协议模块的初始化、正常数据包处理、异常情况处理等功能验证,然而,针对较新协议的vip本身亦有很大概率存在缺陷,需要不断升级和修复,因此只依赖vip很难保证对设计模块验证的准确性。



技术实现要素:

有鉴于此,本发明的目的在于提供一种激励源及功能验证方法,以缓解现有技术中存在的在对接口模块进行功能正确性验证时,验证准确率低的技术问题。

第一方面,本发明实施例提供了一种激励源,所述激励源与外部的待测模块连接,包括:激励产生模块、接口模块、响应接收模块和包验证模块;

所述激励产生模块,用于生成用于测试所述待测模块的第一包流量,并将所述第一包流量分别发送给所述接口模块和所述包验证模块;

所述接口模块,用于将所述第一包流量发送给所述待测模块,以使所述待测模块处理所述第一包流量得到第二包流量,以及,将所述第二包流量发送给所述响应接收模块;

所述响应接收模块,用于接收所述第二包流量,并将所述第二包流量发送给所述包验证模块;

所述包验证模块,用于根据所述第一包流量和所述第二包流量验证所述待测模块所实现的功能是否正确,得到验证结果。

结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述接口模块,还用于:将所述第一包流量进行协议封装后发送给与所述待测模块;以及,将所述第二包流量进行协议解封装后发送给所述响应接收模块,所述协议封装与协议解封装所使用的协议与所述待测模块所支持的协议相同。

结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述包验证模块,还用于:将所述第一包流量与所述第二包流量进行比较,若二者不相同,则确定所述待测模块功能异常。

结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述第一包流量包括:满足预设包长度规则和预设校验位规则的正常包流量,或者,不满足预设包长度规则和预设校验位规则的异常包流量。

第二方面,本发明实施例还提供一种功能验证方法,应用于激励源中,所述激励源与外部的待测模块连接,所述方法包括:

生成用于测试所述待测模块的第一包流量;

将所述第一包流量发送给所述待测模块,以使所述待测模块处理所述第一包流量得到第二包流量;

若接收到所述待测模块返回的第二包流量,根据所述第一包流量和所述第二包流量验证所述待测模块所实现的功能是否正确,得到验证结果。

结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述将所述第一包流量发送给所述待测模块,包括:

将所述第一包流量进行协议封装后发送给与所述待测模块,所述协议封装所使用的协议与所述待测模块所支持的协议相同;

所述方法还包括:

将所述第二包流量进行协议解封装,得到解封装后的第二包流量,所述协议解封装所使用的协议与所述待测模块所支持的协议相同。

结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,所述根据所述第一包流量检查所述第二包流量是否异常,包括:

将所述第一包流量与所述第二包流量进行比较,若二者不相同,则确定所述待测模块功能异常。

结合第二方面,本发明实施例提供了第二方面的第三种可能的实施方式,其中,所述第一包流量包括:满足预设包长度规则和预设校验位规则的正常包流量,或者,不满足预设包长度规则和预设校验位规则的异常包流量。

第三方面,本发明实施例还提供一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法的步骤。

第四方面,本发明实施例还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行所述第一方面所述方法。

本发明实施例带来了以下有益效果:本发明实施例通过使所述激励产生模块生成用于测试所述待测模块的第一包流量,并将所述第一包流量分别发送给所述接口模块和所述包验证模块;使所述接口模块将所述第一包流量发送给所述待测模块,以使所述待测模块处理所述第一包流量得到第二包流量,以及,将所述第二包流量发送给所述响应接收模块;使所述响应接收模块接收所述第二包流量,并将所述第二包流量发送给所述包验证模块;可以使所述包验证模块根据所述第一包流量和所述第二包流量验证所述待测模块所实现的功能是否正确,得到验证结果。

本发明实施例能够通过包验证模块对包流量进行补充验证,保证验证待测模块的功能正确性时验证结果具有全面性。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种激励源的结构示意图;

图2为本发明实施例提供的接口模块从原待测模块中剥离形成新的接口模块的示意图;

图3为本发明实施例提供的一种激励源的结构图;

图4为本发明实施例提供的激励源与待测模块对接组成测试环境的结构示意图;

图5为本发明实施例提供的一种功能验证方法的流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

目前现有针对芯片接口模块的eda验证方法,主要实现途径是使用支持相同协议的vip作为激励源,按照激励源要求的方法构造用例,完成协议模块的初始化、正常数据包处理、异常情况处理等功能验证,然而,针对较新协议的vip本身亦有很大概率存在缺陷,需要不断升级和修复,因此只依赖vip很难保证对设计模块验证的准确性,基于此,本发明实施例提供的一种激励源及功能验证方法,可以通过包验证模块对包流量进行补充验证,保证接口模块验证功能正确性时验证的全面性。

为便于对本实施例进行理解,首先对本发明实施例所公开的一种激励源进行详细介绍,所述激励源与外部的待测模块连接,示例性的,待测模块可以指待使用激励源测量向其输送激励信号的设备,例如:交换机等,也可以指其它待使用激励源测量进行激励的设备,如图1所示,所述激励源包括:激励产生模块11、接口模块12、响应接收模块13和包验证模块14;

所述激励产生模块11,用于生成用于测试所述待测模块的第一包流量,并将所述第一包流量分别发送给所述接口模块12和所述包验证模块14;

所述接口模块12,用于将所述第一包流量发送给所述待测模块,以使所述待测模块处理所述第一包流量得到第二包流量,以及,将所述第二包流量发送给所述响应接收模块13;

在本发明实施例中,所述第一包流量包括:满足预设包长度规则和预设校验位规则的正常包流量,或者,不满足预设包长度规则和预设校验位规则的异常包流量,灵活产生各种正常和异常测试激励,保证对设计在各种验证场景下的充分测试。

另外,本发明实施例中的接口模块12,可以指将待测模块内的接口模块的代码取出单独封装成一个接口模块(示例性的,待测模块内的接口模块可以指交换机内的接口模块等),因此,本发明实施例可以直接复用接口模块构造激励源,以较低的人力、时间成本获得较大收益,直接复用待测模块的接口模块构造激励源,作为一种激励方式的补充,保证对设计验证的全面性和发散性。

在本发明实施例中,所述接口模块12可以将所述第一包流量进行协议封装后发送给与所述待测模块;以及,将所述第二包流量进行协议解封装后发送给所述响应接收模块13,所述协议封装与协议解封装所使用的协议与所述待测模块所支持的协议相同,这样,即可便于与待测模块的协议匹配。

所述响应接收模块13,用于接收所述第二包流量,并将所述第二包流量发送给所述包验证模块14;

所述包验证模块14,用于根据所述第一包流量和所述第二包流量验证所述待测模块所实现的功能是否正确,得到验证结果。

在该步骤中,所述包验证模块14可以将所述第一包流量与所述第二包流量进行比较,若二者不相同,则确定所述待测模块功能异常。激励源的组成中包含接收包验证模块,实现在各种测试条件下设计输出的自动化检查,保证了设计输出的正确性,这样,在设计本身进行充分验证后,激励源的正确性亦可保证,可直接将激励源复用到其他项目或作为商用产品输出。

本发明实施例通过使所述激励产生模块生成用于测试所述待测模块的第一包流量,并将所述第一包流量分别发送给所述接口模块和所述包验证模块;使所述接口模块将所述第一包流量发送给所述待测模块,以使所述待测模块处理所述第一包流量得到第二包流量,以及,将所述第二包流量发送给所述响应接收模块;使所述响应接收模块接收所述第二包流量,并将所述第二包流量发送给所述包验证模块;可以使所述包验证模块根据所述第一包流量和所述第二包流量验证所述待测模块所实现的功能是否正确,得到验证结果。

本发明实施例能够通过包验证模块对包流量进行补充验证,保证验证功能正确性时验证的全面性。

在本发明的又一实施例中,可以参照以下方式设计激励源:

(1)明确接口模块在待测模块中发送方向的输入信号组tx_i_g和输出信号组tx_o_g;

(2)明确接口模块在整体设计中接收方向的输入信号组rx_i_g和输出信号组rx_o_g;

(3)如图2所示,可以以信号组tx_i_g和rx_o_g为与其他模块的分隔边界,将接口模块12从整体设计中剥离,独立成接口模块12;

(4)编写激励产生模块11,能够产生各种正常包流量和异常包流量,通过tx_i_g接口与接口模块连接,将产生的包流量通过接口模块进行协议转化后发出给待测模块;

(5)编写响应接收模块13,能够接收各种正常包流量和异常包流量,通过rx_o_g接口与接口模块连接,接收经过接口模块协议转化处理后的数据,经过处理后进入包检查组件;

(6)编写包验证模块14,用于接收响应接收组件发出的接收包,进行包正确性检查。

(7)如图3所示,将激励产生模块11、接口模块12、响应接收模块13和包验证模块14整合成激励源s,激励产生模块11的信号组tx_o_g和rx_i_g即为激励源s的输入和输出信号组;

(8)如图4所示,将激励源s与待测模块通过接口信号组tx_o_g与rx_i_g进行连接,构成完成的验证系统;

(9)编写正常和异常测试用例,通过激励源s中的激励产生模块11产生流量输出到待测模块,并通过激励源s中的响应接收模块13接收待测模块输出的流量进行自动检查。

在本发明的又一实施例中,如图5所示,还提供一种功能验证方法,应用于激励源中,所述激励源与外部的待测模块连接,所述方法包括:

步骤s101,生成用于测试所述待测模块的第一包流量,在本发明实施例中,所述第一包流量包括:满足预设包长度规则和预设校验位规则的正常包流量,或者,不满足预设包长度规则和预设校验位规则的异常包流量。

步骤s102,将所述第一包流量发送给所述待测模块,以使所述待测模块处理所述第一包流量得到第二包流量;

在本发明实施例中,可以将所述第一包流量进行协议封装后再发送给与所述待测模块,所述协议封装所使用的协议与所述待测模块所支持的协议相同;

步骤s103,若接收到所述待测模块返回的第二包流量,可以将所述第二包流量进行协议解封装,得到解封装后的第二包流量,所述协议解封装所使用的协议与所述待测模块所支持的协议相同,再根据所述第一包流量和所述第二包流量验证所述待测模块所实现的功能是否正确,得到验证结果。

在实际应用中,可以将所述第一包流量与所述第二包流量进行比较,若二者不相同,则确定所述待测模块功能异常。

本发明实施例所提供的方法,其实现原理及产生的技术效果和前述装置实施例相同,为简要描述,方法实施例部分未提及之处,可参考前述方法实施例中相应内容。

在本发明的又一实施例中,还提供一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法实施例所述的方法的步骤。

在本发明的又一实施例中,一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行所述方法实施例所述方法。

本发明实施例所提供的激励源及功能验证方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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