激励报文实现装置及方法和数字电路逻辑仿真的测试方法

文档序号:7591766阅读:267来源:国知局
专利名称:激励报文实现装置及方法和数字电路逻辑仿真的测试方法
技术领域
本发明涉及通信领域的报文技术及测试技术,尤其涉及激励报文实现方法和装置及数字电路逻辑仿真的测试方法。
背景技术
当前,为了缩减设计周期和产品开发成本,厂家在开发通信类新的数字电路产品之前,首先采用在计算机上模拟数字电路逻辑的工作情况,即数字电路逻辑仿真,然后通过对数字电路逻辑仿真进行测试,尽可能发现数字电路逻辑仿真存在的问题,继而不断改进数字电路逻辑仿真,以便能设计出成熟的数字电路产品。
请参阅图1,为数字电路逻辑仿真测试系统的结构原理图。该系统包括仿真引擎1、激励报文实现装置2、比较装置3和参考模块4。其中仿真引擎1还包括总线接口11和HDL DUV12(数字电路逻辑仿真)。HDL DUV12是通过软件模拟数字电路逻辑的工作情况达到数字电路逻辑仿真的效果。激励报文实现装置2用于产生激励报文,并向总线接口11和参考模块4分别发送产生的激励报文。激励报文是用于测试数字电路逻辑工作情况的通讯报文,为了提高测试质量,在构造激励报文时应尽量使激励报文接近实际通讯过程中的通讯报文。总线接口11用于读取激励报文实现装置2传送的激励报文并传送至HDL DUV12和读取HDL DUV12传送的激励报文并传送至比较装置3。参考模块4是用于根据输入的激励报文产生参考结果。比较装置3用于分别接收从参考模块4和从总线接口11传送的结果数据并进行比较,获得测试结果。
请参阅图2,图2为基于上述系统进行数字电路逻辑的测试流程图。首先,激励报文实现装置2产生激励报文,并将该激励报文发送至总线接口11和参考模块4(步骤S110);其次,总线接口11读取激励报文后,发送至HDL DUV12(步骤S120);再次,HDL DUV12执行该激励报文,将执行结果发回总线接口11(步骤S130);然后,总线接口11向比较装置3发送该执行结果(步骤S140),此时,参考模型4也执行该激励报文,将参考结果发送给比较装置3(步骤S150),最后,比较装置3判断接收到的两个结果数据是否一致, (步骤S160),若是,仿真是正确的,否则表明该HDL DUV12存在错误,要求进一步改进该HDL DUV12。
目前,激励报文实现装置2包括若干报文函数,每一报文函数用于产生一种协议报文。下面以以太网报文为例,说明激励报文如何实现(请参阅图3)。
首先,通过人工输入方式给以太网报文函数中的每个报文域赋值(步骤S210)。报文域是组成报文的数据字段,报文结构用于描述一个报文由哪些域组成的。当确定为某种协议报文时,报文结构是确定的,以太网报文是由源地址报文域、目的地址报文域、类型长度报文域、使能位报文域等组成。报文域函数中设置了组成报文的报文域及每个报文域的长度。
其次,调用以太网报文构造函数,将该些报文域数据形成以太网报文(步骤S220)。
以上方法存在着以下不足第一由于构造激励报文时,需要测试人员输入组成报文的每个报文域数据,而人工输入数据的效率低,也可以程序输入,程序一般是测试人员针对某项测试任务编写的,难以重用,质量也受限于测试人员水平,更重要的是报文域数据的取值和测试人员的专业水平有很大的关系,由于无法保证每个测试人员的专业水平,因此不能保证测试的质量。
第二为了实现数字电路逻辑仿真的各种特性能被尽可能测试到,要求激励报文实现装置2能产生接近实际通讯报文各种模式的激励报文,而实际通讯报文几乎没有由一种协议封装的报文,往往是一种协议封装另一种协议,即多种协议的层层封装,因此采用现有的激励报文实现装置2无法获得各种模式的激励报文,从而影响测试的质量。
以下,以多种协议封装的报文为例,说明现有的激励报文实现方法存在的缺陷。请参阅图4,图4为TCP、IP、Ethernet协议封装的报文。而构造上述报文需要先将组成报文的各个报文域赋值其次,依次调用Ethernet首部构造函数、IP首部构造函数、TCP首部构造函数、Payload首部构造函数,最后才生成一个报文。如若要产生若干个相同报文结构的报文,还需进行若干次上述步骤,因此现有方法实现激励报文的效率低。并且,激励报文不单单指多种协议封装的报文,同时,也包括没有通用格式的报文。比如,设备商常常自己定义报文格式,且该些设备商自定义的报文通常没有通用的格式,还有为了提高测试系统容错率,要求用户也能够任意设置报文各个域的值。现有的激励报文实现方法无法构造任意类型的激励报文,从而导致通用性不佳而影响测试质量。

发明内容
本发明目的在于提供一种通用性好的激励报文实现方法和装置。
本发明的另一目的在于提供一种提高测试质量的数字电路逻辑仿真的测试方法。
为解决上述问题,本发明提供了一种激励报文实现方法,包括以下步骤(1)确定组成激励报文的报文域个数,设置每个报文域信息;(2)根据每个报文域信息随机产生各个报文域数据;(3)利用所述报文域数据生成激励报文。
其中,步骤(1)设置的报文域信息包括报文域长度。
其中,所述步骤(1)之前还包括,设置报文域类型集,确定所述报文域类型集的每种类型对应的随机数据范围。
其中,步骤(1)还包括通过选择所述报文域类型集的其中一种类型来设置所述报文域信息中的报文域类型。
其中,步骤(2)进一步包括根据所述各个报文域类型对应的随机数据范围产生个数与所述报文域类型对应的随机数据,形成报文域数据。
其中,步骤(1)中的所述报文域信息包括所述报文域在所述激励报文中的位置信息。
其中,步骤(3)中报文域数据是通过其对应的位置信息生成激励报文。
本发明还提供了一种激励报文实现装置,包括报文域单元用于设置组成报文的各个报文域信息,以及,报文生成单元连接所述报文域单元,用于根据所述各个报文域信息产生报文域数据并将所有产生的报文域数据生成激励报文。
其中,所述报文域单元包含输入子单元,以接受用户输入各个报文域信息,以及,存储子单元,以保存所述报文域信息。
其中,所述报文生成单元包括随机数产生器和控制单元,其中,所述随机数产生器用于产生随机数以获得报文域数据,所述控制单元用于控制所述随机数产生器产生报文域数据和将所述报文域数据生成激励报文。
其中,所述控制单元具体包含报文域控制子单元和激励报文控制子单元,所述报文域控制子单元用于将获得的报文域信息发送至随机数产生单元以获得报文域数据;所述激励报文控制子单元用于将所述报文域数据形成激励报文。
本发明还提供了一种数字电路逻辑仿真的测试方法,包括(1)确定组成激励报文的报文域个数,设置每个报文域信息;(2)根据所述报文域信息随机产生各个报文域数据;(3)利用所述报文域数据生成激励报文;(4)将所述激励报文发送至数字电路逻辑仿真;(5)所述数字电路逻辑仿真执行所述激励报文,获得执行结果;(6)比较所述执行结果与执行所述激励报文的报文标准,获得测试结果。
其中,步骤(1)设置的报文域信息包括报文域长度。
其中,所述步骤(1)之前还包括,设置报文域类型集,确定所述报文域类型集的每种类型对应的随机数据范围。
其中,步骤(1)还包括通过选择所述报文域类型集的其中一种类型来设置所述报文域信息中的报文域类型。
其中,步骤(2)进一步包括根据所述各个报文域类型对应的随机数据范围产生个数与所述报文域类型对应的随机数据,形成报文域数据。
与现有技术相比,本发明具有以下优点第一由于现有技术的激励报文实现装置中设置的报文函数,仅能生成某种协议报文,而本发明通过用户自定义组成报文的各个报文域信息,达到构造任意类型的激励报文的效果,提高了激励报文构造的通用性。
第二本发明预先设置该报文的各个报文域信息,根据设置的报文域信息自动产生各个报文域数据,生成激励报文,免去人工输入各个报文域数据步骤,提高了生成报文的效率。
第三,当数字电路逻辑仿真过程中应用该激励报文实现方法时,由于本发明通过用户自定义组成报文的各个报文域信息,达到构造任意类型的激励报文的效果,利用生成的任意类型的激励报文进行数据电路逻辑仿真测试时,能尽可能发现数字电路逻辑仿真存在的问题,从而提高测试质量。


图1是公知数字电路逻辑仿真的测试系统。
图2是公知数字电路逻辑仿真的测试流程图。
图3是公知的激励报文实现方法。
图4是TCP、IP、Ethernet报文封装结构示意图。
图5是本发明的激励报文装置的原理方框图。
图6为本发明的激励报文装置的一种实施例的结构示意图。
图7是本发明的激励报文实现的原理流程图。
图8为本发明的激励报文实现方法的一种实施例的流程图。
图9为本发明的数字电路逻辑仿真的测试系统的原理方框图。
图10为本发明的数字电路逻辑仿真的测试方法的原理流程图。
具体实施例方式
以下结合附图具体说明本发明。
请参阅图5,为本发明的激励报文实现装置的原理图。激励报文实现装置包括报文域单元21和报文生成单元22。其中报文域单元21用于设置组成激励报文的报文域信息,所述报文域信息包括报文域长度、类型、报文域在整个激励报文中的位置信息及报文域的域名。
报文生成单元22连接所述报文域单元21,用于根据所述报文域信息产生报文域数据和将所有产生的报文域数据生成激励报文。
还请参阅图6,为本发明的激励报文实现装置的一个实施结构图。
该报文域单元21包括输入子单元211和存储单元212。输入子单元211用于测试人员输入报文域信息。与输入子单元211连接的存储单元212,用于保存报文域信息。由于相同类型的激励报文产生的报文域个数是相同的,并且,每个报文域信息也是相同的,所以将一种类型的激励报文保存成一个文件,这样,当下次需要产生该类型的激励报文时,调用该文件而无需重新输入该类型的激励报文的所有报文域信息,从而提高报文生成的效率。
该报文生成单元22包括控制单元和随机数产生器224。控制单元包括报文域数据控制子单元223和激励报文控制子单元221。其中随机数产生器224,用于根据预先设置每种报文域类型对应的随机数范围和报文域长度随机产生报文域数据。
报文域数据控制子单元223连接报文域单元21和随机数产生器224,用于接受报文域单元21发送的文件从中获得生成报文的所有报文域信息,并将所述每个报文域信息中的报文域类型和长度发送至随机数产生器224,以获得报文域数据,且将所述报文域数据和对应的位置信息发送至激励报文控制子单元221。本发明可以设置仅允许一种类型的报文域,比如比特型报文域或字节型报文域,仅通过用户输入的长度以获得报文域数据。
激励报文控制子单元221,连接报文域数据控制子单元223,用于根据所述报文域对应的位置信息将所有报文域数据形成激励报文。
基于以上的激励报文实现装置,本发明还提供了一种激励报文实现方法。
请参阅图7,图7为本发明的激励报文实现原理图。该激励报文实现步骤包括确定组成激励报文的报文域个数,设置每个报文域信息(步骤S310);根据每个报文域长度和类型随机产生各个报文域数据(步骤S320);将所述报文域数据生成完整激励报文(步骤S330)。
以下以图8为例,说明本发明激励报文实现方法的一种实施例。
首先进行步骤S410,建立报文域类型集。本发明设置的报文域类型集有四种类型,包括布尔型报文域、无符号整型报文域、字节型报文域和比特型报文域。其中,组成激励报文的类型仅有两种字节型报文域和比特型报文域,而其它两种类型用于测试过程方便执行激励报文。
随后进行步骤S420建立每个类型对应的随机数范围。布尔型报文域的范围为“0”或“1”,“0”表示报文域为假,“1”表示报文域为“真”,无符号整形报文域的范围为
,字节型报文域的范围为
,而比特型报文域的范围为

随后进行步骤S430建立一个与用户(主要指测试人员)进行交互的设置报文域信息的输入界面,以使用户通过所述输入界面输入报文域信息。该输入界面显示已设置的每种类型激励报文,每种类型激励报文以一个文件形式进行保存。为了方便查找,可以以通用的形式命名该文件。比如,以太网激励报文的文件名为“以太网报文”。如果测试人员需要构造一个已有的类型激励报文,选中该文件,报文域单元21接受用户指令,直接进行步骤S450。
当用户需要设置一个新类型的激励报文时,输入该类型的激励报文的报文域个数及每个报文域信息。报文域信息包括报文域的域名、报文域的长度、报文域的类型和报文域在整个报文中的位置信息。当输入的报文域以激励报文的位置顺序输入时,无需设置该报文域的位置信息,即系统按照顺序输入的报文域形成报文。在输入界面显示预先设置好的报文域类型,用户可通过选择其中一种作为该报文域的类型。
步骤S440接受用户输入的激励报文的报文域个数和每个报文域信息,并将以文件的形式保存在存储单元212中。
步骤S450将用户选中的文件发送至控制单元。
步骤S460控制单元中的报文域数据控制子单元223接受报文域单元21发送的每个文件,统计获得文件个数。
步骤S470获得其中一个文件中的报文域信息,并统计报文域个数;步骤S480将其中的报文域的类型和长度发送至随机数产生器223,随机数产生器223根据其类型和长度随机产生报文域数据,并将报文域数据发送至报文域数据控制子单元223,本发明根据所述各个报文域类型对应的随机数据范围产生个数与所述报文域类型对应的随机数据,以形成报文域数据;
步骤S490报文域数据控制子单元223存储报文域数据,并判断得到的报文域数据个数是否等于报文域个数,若是,则进行步骤S500,否则,进行步骤S480;步骤S500将所有报文域数据和每个报文域对应的位置信息发送至激励报文控制子单元221,激励报文控制子单元221根据对应的位置信息,将每个报文域数据形成一个激励报文,当相邻的报文域均为比特型报文域且所述相邻报文域的长度之和是8的倍数时,将所述相邻报文域进行拼装,所述拼装即为将相邻同为比特型的报文数据每8个比特拼装成一个字节;步骤S510产生激励报文的个数加1;步骤S520判断产生激励报文的个数是否等于文件的个数,若是,退出,否则,进行步骤S470。
以下还是以图4为例,利用本发明的激励报文实现方法产生TCP、IP、Ethernet协议封装的报文。
首先,设置该报文的每个报文域信息,包括TCP报头的报文域信息、IP报头的报文域信息、Ethernet报头的报文域信息和有效数据的报文域信息,并将该文件保存成文件名为“TCP、IP、Ethernet协议封装报文”的文件。
其次,接受用户选中该文件的指令,将该文件发送至控制单元;然后控制单元中的报文域数据控制子单元223通过随机数产生器224产生每个报文域数据;最后,通过激励报文控制子单元221形成激励报文。
相比于现有方法,由于本发明无需用户输入每个报文域的数据,所以本发明产生报文的效率高,并且本发明通过设置该文件的个数,达到产生若干个同种类型的报文,进一步提高激励报文产生的效率。同时,由于通过随机数产生装置随机产生报文域数据,减轻了由于测试人员水平参差不齐而测试质量受到的影响,从而提高了测试效果。
在测试领域中,大量运用激励报文的实现方法。以下以将本发明的激励报文实现方法应用在数字电路逻辑仿真的测试过程中为例,具体说明。
请参照图9,图9为本发明的数字电路逻辑仿真的一种测试系统。该系统包括仿真引擎1、激励报文实现装置2、比较装置3和参考模块4。激励报文实现装置2包括报文域单元21和报文生成单元22。
该报文域单元21包括输入子单元211和存储单元212。输入子单元211用于测试人员输入报文域信息。与输入子单元211连接的存储单元212,用于保存报文域信息。由于相同类型的激励报文产生的报文域个数是相同的,并且,每个报文域信息也是相同的,所以将一种类型的激励报文保存成一个文件,这样,当下次需要产生该类型的激励报文时,调用该文件而无需重新输入该类型的激励报文的所有报文域信息。
该报文生成单元22包括控制单元和随机数产生器224。控制单元包括报文域数据控制子单元223和激励报文控制子单元221。其中随机数产生器224,用于根据预先设置报文域类型对应的随机数范围和报文域长度随机产生报文域数据。
报文域数据控制子单元223连接报文域单元21和随机数产生器224,用于接受报文域单元21发送的文件从中获得所有报文域信息,并将所述每个报文域信息中的报文域类型和长度发送至随机数产生器224,以获得报文域数据,且将所述报文域数据和对应的位置信息发送至激励报文控制子单元221。
激励报文控制子单元221,连接报文域数据控制子单元223,用于根据所述报文域对应的位置信息将所有报文域数据形成激励报文。
在上述系统的基础上,完成数字电路逻辑仿真的测试方法。请参阅图10,为本发明中数字电路逻辑仿真的一种测试流程图。
首先进行设置步骤确定组成激励报文的报文域个数,设置每个报文域信息(步骤S610);然后进行报文域数据生成步骤根据每个报文域长度随机产生报文域数据(步骤S620);然后进行报文生成步骤将所述报文域数据形成完整激励报文(步骤S630);然后进行发送步骤将所述激励报文发送至数字电路逻辑仿真和参考模型(步骤S640);然后进行执行步骤所述数字电路逻辑仿真执行所述激励报文,获得执行结果(步骤S650);和步骤S650同时执行步骤S660通过参考模型3执行相同的激励报文获得报文标准(步骤S660);然后进行比较步骤比较所述执行结果与执行所述激励报文的报文标准,获得测试结果。如若比较的结果相同,测试成功,否则,改正所述数字电路逻辑仿真存在的错误(步骤S670)。
其中,步骤S610至步骤S630为激励报文实现方法,该方法可采用上述图8公开的实施例步骤,在此不再赘述。产生通用性好且产生速率快的激励报文,提高了测试的速率和测试的质量。
以上公开的仅为本发明的几个具体实施方式
,本发明并非局限于此,任何本领域的技术人员能思之的变化,都应落在本发明的保护范围。
权利要求
1.一种激励报文实现方法,其特征在于,包括以下步骤(1)确定组成激励报文的报文域个数,设置每个报文域信息;(2)根据每个报文域信息随机产生各个报文域数据;(3)利用所述报文域数据生成激励报文。
2.如权利要求1所述的激励报文实现方法,其特征在于,步骤(1)设置的报文域信息包括报文域长度。
3.如权利要求1或2所述的激励报文实现方法,其特征在于,所述步骤(1)之前还包括,设置报文域类型集,确定所述报文域类型集的每种类型对应的随机数据范围。
4.如权利要求3所述的激励报文实现方法,其特征在于步骤(1)还包括通过选择所述报文域类型集的其中一种类型来设置所述报文域信息中的报文域类型。
5.如权利要求4所述的激励报文实现方法,其特征在于步骤(2)进一步包括根据所述各个报文域类型对应的随机数据范围产生个数与所述报文域类型对应的随机数据,形成报文域数据。
6.如权利要求1所述的激励报文实现方法,其特征在于,步骤(1)中的所述报文域信息包括所述报文域在所述激励报文中的位置信息。
7.如权利要求6所述的激励报文实现方法,其特征在于,步骤(3)中报文域数据是通过其对应的位置信息生成激励报文。
8.一种激励报文实现装置,其特征在于,包括报文域单元用于设置组成报文的各个报文域信息;报文生成单元连接所述报文域单元,用于根据所述各个报文域信息产生报文域数据并将所有产生的报文域数据生成激励报文。
9.如权利要求8所述的激励报文实现装置,其特征在于,所述报文域单元包括输入子单元,以接受用户输入各个报文域信息,以及存储子单元,以保存所述报文域信息。
10.如权利要求8或9所述的激励报文实现装置,其特征在于,所述报文生成单元包括随机数产生器和控制单元,其中,所述随机数产生器用于产生随机数以获得报文域数据,所述控制单元用于控制所述随机数产生器产生报文域数据和将所述报文域数据生成激励报文。
11.如权利要求10所述的激励报文实现装置,其特征在于,所述控制单元具体包含报文域控制子单元和激励报文控制子单元,所述报文域控制子单元用于将获得的报文域信息发送至随机数产生单元以获得报文域数据;所述激励报文控制子单元用于将所述报文域数据形成激励报文。
12.一种数字电路逻辑仿真的测试方法,其特征在于,包括(1)确定组成激励报文的报文域个数,设置每个报文域信息;(2)根据所述报文域信息随机产生各个报文域数据;(3)利用所述报文域数据生成激励报文;(4)将所述激励报文发送至数字电路逻辑仿真;(5)所述数字电路逻辑仿真执行所述激励报文,获得执行结果;(6)比较所述执行结果与执行所述激励报文的报文标准,获得测试结果。
13.如权利要求12所述的激励报文实现方法,其特征在于,步骤(1)设置的报文域信息包括报文域长度。
14.如权利要求12或13所述的激励报文实现方法,其特征在于,所述步骤(1)之前还包括,设置报文域类型集,确定所述报文域类型集的每种类型对应的随机数据范围。
15.如权利要求14所述的激励报文实现方法,其特征在于步骤(1)还包括通过选择所述报文域类型集的其中一种类型来设置所述报文域信息中的报文域类型。
16.如权利要求14所述的激励报文实现方法,其特征在于步骤(2)进一步包括根据所述各个报文域类型对应的随机数据范围产生个数与所述报文域类型对应的随机数据,形成报文域数据。
全文摘要
本发明提供了一种激励报文实现方法和装置以及数字电路逻辑仿真的测试方法,该实现方法包括(1)确定组成激励报文的报文域个数,设置每个报文域信息;(2)根据每个报文域信息随机产生各个报文域数据;(3)利用所述报文域数据生成激励报文。本发明随机产生每个报文域数据代替人工输入每个报文域数据的步骤,提高了效率,并且,通过自定义报文域信息达到构造任意类型报文的效果,将该激励报文实现方法用于数据字电路逻辑仿真的测试过程,达到降低测试成本和提高测试质量的效果。
文档编号H04L12/26GK1691611SQ20041003663
公开日2005年11月2日 申请日期2004年4月23日 优先权日2004年4月23日
发明者王进成, 易敏, 程智辉 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1