伪随机数产生装置及利用其实现的测试系统的制作方法

文档序号:7596505阅读:250来源:国知局
专利名称:伪随机数产生装置及利用其实现的测试系统的制作方法
技术领域
本发明涉及电子或通信领域的测试技术,具体涉及一种伪随机数产生装置及利用其实现的测试系统。
背景技术
目前,随着电子及通信技术的发展,出现了各种各样的通信设备,为了确保先进复杂的通信网以及网内各种设备的正常运行,需要测试的参数越来越多。在性能测试中,理想的测试环境应在每个细节上完全模仿运行环境,但由于受到容量及规模的限制,这样的测试环境是不实际的。因此,通常采用图1所示的测试环境测试终端负责控制测试系统执行测试操作;由测试系统产生激励数据并发送至被测系统;被测系统接收并将处理结果返回给测试系统;再由测试系统检查被测对象的输出是否正确并输出测试结果。
在测试应用时,经常需要测试系统能够产生一定范围内不同随机长度的数据流来来模拟真实应用环境中的复杂情况,测量被测系统的处理能力,发现被测系统内部结构是否能够处理不同长度的包长。通常采用一种伪随机序列来尽最大可能模拟实际用户数据流的情况,以便准确地反映被测系统对不同包长度数据流的处理能力。一般由可编程逻辑器件产生这种伪随机序列,其实现简单、快捷,由此产生的伪随机序列是一个没有大小范围限制的整数序列。PRBS(伪随机比特序列)的计算方法是任意选取一个整数x0作为种子,计算PRBS多项式xi+1=xi23+xi18+1,得到一个PRBS的伪随机序列(x1,x2,……,xn)。但在系统性能测试时,经常需要一个指定范围内的随机数序列,这时就不能直接利用PRBS序列,需要对PRBS序列做相应的处理后才能使用,通常利用除法运算来完成。具体处理过程如下首先由硬件FPGA(现场可编程逻辑器件)产生PRBS随机序列数,然后再由硬件FPGA对产生的随机序列数做除法运算,对指定的随机范围取余数,该余数加上指定范围的最小值即是需要的指定范围内的随机数。硬件FPGA中的实现逻辑如下任意选取一个十进制数x0作为种子,计算PRBS多项式xi+1=xi23+xi18+1得到一个伪随机数序列(x1,x2,……,xn)。假设需要产生的随机数是Ri∈[Rmin,Rmax],则随机范围Rint=Rmax-Rmin。
计算处理流程如图2所示第(1)步首先由软件提供随机数种子x0、最小值Rmin、随机范围Rint,这三个参数由软件计算后存放到逻辑内部寄存器以供逻辑运算使用。
第(2)步由硬件逻辑根据随机种子计算PRBS序列xi,第(3)步由硬件逻辑除法模块取xi对Rint取余数得到R,第(4)步最后逻辑输出R和Rint相加后的和即为产生的第i个伪随机数Ri。
利用可编程逻辑器件产生指定范围内随机序列时对处理时间和逻辑资源消耗会受到一定的限制。如果利用硬件FPGA按照上述方式产生指定范围内的随机数序列时,需要利用硬件逻辑实现取余数的除法运算。这不仅会消耗大量的逻辑资源,而且实现逻辑复杂,运算所需时间长;同时由于除数与被除数的不确定,导致具体所需要的时间长短(时钟周期数)不确定。
由于存在上述问题,使得测试系统产生不同长度数据流的时间无法准确控制,影响了测试质量和效果。

发明内容
本发明的目的是提供一种伪随机数产生装置,以解决现有技术中需要由硬件产生指定范围随机数时所需时间长、占用大量逻辑资源的问题。
本发明的另一目的在于提供一种利用所述伪随机数产生装置实现的测试系统,以解决现有技术中存在的测试质量不佳的问题。
为此,本发明提供如下技术方案一种伪随机数产生装置,包括用于输入随机数取值范围的输入端口和输出端口,以及种子选择器,用于选择随机序列的种子;伪随机序列生成装置,与所述种子选择器相连,用于根据所述选择的随机种子生成任意长度的伪随机序列;定位装置,与所述输入端口相连,用于根据所述随机数取值范围定位所述任意长度的伪随机序列的有效位数;范围调整装置,用于根据所述随机数取值范围调整所述定位装置输出的有效位数范围内的伪随机序列大小,以获取所述取值范围内的伪随机数,并将所述伪随机数分别发送至所述输出端口及所述种子选择器。
所述定位装置包括有效位数获取装置,用于根据所述随机数取值范围获取随机范围有效位数最大值;与逻辑装置,用于对所述伪随机序列生成装置生成的任意长度的伪随机序列及所述获取的随机范围有效位数最大值进行“与”逻辑运算,生成有效位数的伪随机序列。
所述范围调整装置包括比较器,对所述定位装置的输出结果与所述随机数取值范围的大小进行比较;缩小装置,用于根据所述有效位数的伪随机序列的数值大于所述设定的随机范围的数值的比较结果将所述有效位数的伪随机序列的数值减去第一预定值;扩大装置,用于根据所述有效位数的伪随机序列的数值小于所述设定的随机范围的数值的比较结果以及所述缩小装置的输出结果,将所述有效位数的伪随机序列的数值加上第二预定值。
所述缩小装置具体为减法器,分别连接到所述比较器和所述扩大装置,用于将所述有效位数的伪随机序列的数值减去一个所述随机范围的数值。
所述缩小装置还可具体为移位器,分别连接到所述比较器和所述与逻辑装置,用于对所述有效位数的伪随机序列的数值进行右移,以缩小所述有效位数的伪随机序列的数值。
所述随机范围有效位数最大值由指数函数Rint max=2k-1定义,其中,K=[(log2Rint)+0.5],]]>Rint为所述设定的随机范围。
一种利用所述伪随机数产生装置实现的测试系统,包括被测对象及分别与所述被测对象连接的激励生成装置和结果分析装置,其中,所述激励生成装置包括激励配置模块,用于配置激励报文的属性参数,所述属性参数包括随机种子、激励报文长度范围;样本设置模块,用于提供激励报文的结构模式;所述的伪随机数产生装置,用于产生所述激励报文长度范围内的随机数;测试用例生成模块,用于根据所述激励报文的结构模式将所述范围内的伪随机数生成测试用例,并将所述测试用例发送到所述被测对象。
所述的伪随机数产生装置具体包括伪随机序列生成装置,用于根据所述随机种子生成任意长度的伪随机序列;
定位装置,用于根据所述激励报文长度范围定位所述任意长度的伪随机序列的有效位数;范围调整装置,用于根据所述激励报文长度范围调整所述定位装置输出的有效位数范围内的伪随机序列大小,以获取所述范围内的伪随机数。
所述定位装置包括有效位数获取装置,用于根据所述随机数取值范围获取随机范围有效位数最大值;与逻辑装置,用于对所述伪随机序列生成装置生成的任意长度的伪随机序列及所述获取的随机范围有效位数最大值进行“与”逻辑运算,生成有效位数的伪随机序列。
所述范围调整装置包括比较器,用于比较所述定位装置的输出结果与所述随机数取值范围的大小;缩小装置,用于根据所述有效位数的伪随机序列的数值大于所述设定的随机范围的数值的比较结果将所述有效位数的伪随机序列的数值减去第一预定值;扩大装置,用于根据所述有效位数的伪随机序列的数值小于所述设定的随机范围的数值的比较结果以及所述缩小装置的输出结果,将所述有效位数的伪随机序列的数值加上第二预定值。
由以上本发明提供的技术方案可以看出,利用本发明装置可以简单、快速地产生指定范围内的随机数,避免了现有技术中由于需要进行除法运算使得时间长短不确定,从而使时钟周期无法严格确定的缺点,以及硬件实现时所需时间长、消耗逻辑资源较多的问题。将本发明装置应用在测试系统中,能够快速产生大量测试所需的不同长度的报文,能确切模拟现实数据流情况,更能准确反映被测对象对不同包长度的数据流的处理能力。


图1是现有技术中测试系统结构示意图;图2是现有技术中产生固定范围内伪随机数的流程图;图3是本发明伪随机数产生装置结构示意图;图4是本发明装置的第一实施例结构示意图;图5是本发明装置的第二实施例结构示意图;图6是本发明装置产生伪随机数的过程示意图;图7是本发明测试系统的结构示意图;图8是本发明测试系统明中的随机数生成装置详细结构示意图。
具体实施例方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明作进一步的详细说明。
参照图3,图3是本发明伪随机数产生装置结构示意图,该装置包括输入随机数取值范围的输入端口300和输出端口306;用于选择随机序列种子的种子选择器301及与其相连伪随机序列生成装置302,该伪随机序列生成装置用于根据所述选择的随机种子生成任意长度的伪随机序列;此外,还包括定位装置304和范围调整装置305,分别用于对伪随机序列生成装置302生成的任意长度的伪随机序列进行最大位数定位及大小调整,以输出符合要求的固定范围的伪随机数。其中,定位装置304与输入端口300相连,用于根据随机数取值范围定位任意长度的伪随机序列的有效位数;范围调整装置305,用于根据随机数取值范围调整所述定位装置输出的有效位数范围内的伪随机序列大小,以获取取值范围内的伪随机数,并将该伪随机数分别发送至输出端口306及种子选择器301。种子选择器从该伪机序列中任选出一个作为伪随机序列的种子。
参照图4所示的本发明装置的第一实施例定位装置包括有效位数获取装置341和与逻辑装置342。其中,有效位数获取装置341用于根据随机数取值范围获取随机范围有效位数最大值,假设随机数取值范围为Ri∈[Rmin,Rmax],Rmin是设定的随机数最小值,Rmax是设定的随机数最大值。该随机范围有效位数最大值可以由指数函数Rint max=2k-1来定义,其中,K=[(log2Rint)+0.5],]]>Rint为设定的随机范围。与逻辑装置342通过对伪随机序列生成装置302生成的任意长度的伪随机序列及有效位数获取装置341获取的随机范围有效位数最大值进行“与”逻辑运算,生成有效位数范围内的伪随机序列。
范围调整装置包括比较器351、扩大装置352和减法器41。通过比较器比较定位装置的输出结果与随机数取值范围Rint的大小,当定位装置输出的伪随机数大于随机数取值范围Rint时,首先将该伪随机数通过减法器减去一定的值(第一预定值),比如可以减去一个Rint值,然后再将输出送入扩大装置,由扩大装置将该值加上一预定的值(第二预定值),则该值自然落在设定的随机数取值范围Ri∈[Rmin,Rmax]内。
当定位装置输出的伪随机数小于随机数取值范围Rint时,将该伪随机数直接通过扩大装置加上一定的值(第二预定值),比如可以加上一个Rmin值,该值自然落在设定的随机数取值范围Ri∈[Rmin,Rmax]内。
参照图5所示的本发明装置的第二实施例范围调整装置包括比较器351、扩大装置352和移位器51。通过比较器比较定位装置的输出结果与随机数取值范围Rint的大小,当定位装置输出的伪随机数大于随机数取值范围Rint时,首先将该伪随机数通过移位器将该值右移一位,然后再将输出送入与逻辑装置,与随机范围有效位数最大值Rint max进行与逻辑运算;然后,再将结果送入比较器351。
当定位装置输出的伪随机数小于随机数取值范围Rint时,将该伪随机数通过扩大装置加上一定的值(第二预定值),比如可以加上一个Rmin值,该值自然落在设定的随机数取值范围Ri∈[Rmin,Rmax]内。
为了使本技术领域人员更好地理解本发明,下面将结合图6详细说明本发明装置的工作过程本技术领域人员知道,任何随机序列都需要先选定一个种子,首先,由种子选择器选定随机序列的种子x0,然后按照选定的种子由伪随机序列生成装置生成任意长度的伪随机序列,例如,可以通过硬件逻辑产生多项式xi+1=xi23+xi18+1定义的伪随机序列(x1,x2,……,xn)。
同时,由输入端口输入随机数范围参数。假设需要产生的随机数Ri∈[Rmin,Rmax],则随机范围Rint=Rmax-Rmin,其中,Rmin是设定的随机数最小值,Rmax是设定的随机数最大值。
由有效位数获取装置根据随机数取值范围获取随机范围有效位数最大值Rint max=2k-1,其中,K=[(log2Rint)+0.5].]]>例如Rint=100(二进制为01010100),有效位数为7(bit0开始到二进制值为1的最高位bit6),则最大值Rint max=127(二进制为01111111)。
考虑到利用硬件进行乘、除法运算会占用大量的硬件资源,因此,也可以由软件来完成随机范围有效位数最大值生成装置的功能,计算出随机范围有效位数最大值供与逻辑装置使用。
然后,由与逻辑装置对伪随机序列生成装置生成的任意长度的伪随机序列及有效位数获取装置获取的随机范围有效位数最大值进行“与”逻辑运算,生成有效位数的伪随机序列。
对于上述生成的有效位数的伪随机序列,经过比较器,依次比较该序列中的伪随机数与输入端口输入的随机范围Rint的大小。
当该序列中的伪随机数大于随机范围Rint时,将该伪随机数及随机范围Rint送到缩小装置,由缩小装置将该伪随机数减去一个随机范围Rint,然后将该缩小范围后的伪随机数送入扩大装置,由扩大装置根据输入端口输入的随机范围最小值Rmin将该伪随机数加上一个随机范围最小值Rmin,于是得到设定范围内的伪随机数。
当该序列中的伪随机数小于随机范围Rint时,直接将该伪随机数送入扩大装置,由扩大装置根据输入端口输入的随机范围最小值Rmin将该伪随机数加上一个随机范围最小值Rmin,于是得到设定范围内的伪随机数。
本发明装置生成设定范围内的伪随机数的过程可用图6来表示(1)种子选择器选定随机序列的种子x0;(2)由伪随机序列生成装置生成任意长度的伪随机序列xi;同时,(3)由输入端口输入随机数范围参数Rint、Rmin、Rmax;(4)由有效位数获取装置根据随机数取值范围获取随机范围有效位数最大值Rint max;然后,(5)由与逻辑装置对xi和Rint max进行“与”逻辑运算;(6)由比较器比较“与”逻辑运算结果与Rint的大小;
(7)当“与”逻辑运算结果小于Rint时,由扩大装置将该伪随机数加上一个随机范围最小值Rmin,得到设定范围内的伪随机数;(8)当“与”逻辑运算结果大于Rint时,由缩小装置将该伪随机数减去一个随机范围Rint,然后进到(7)。
本发明的随机数发生装置与现有的随机数发生装置相比,当用硬件FPGA实现时,占用逻辑资源少,实现简单,产生速度快。
在逻辑测试中,通常对被测对象采用逻辑仿真的测试方式,即由激励生成装置生成测试所需的激励,通常为固定范围的数据流,由连续的、预定格式且随机长度的数据报文组成,将所述激励发送到被测对象,经过被测对象处理并将处理结构发送至结果分析装置进行结果分析。
为此,本发明测试系统的结构如图7所示该系统包括激励生成装置71、被测对象72和结果分析装置73。其中,激励生成装置71包括激励配置模块711,用于配置激励报文的属性参数,所述属性参数包括随机种子、激励报文长度范围;样本设置模块712,用于提供激励报文的结构模式;随机数生成装置713,用于产生激励报文长度范围内的随机数;测试用例生成模块714,用于根据激励报文的结构模式将所述范围内的伪随机数生成测试用例,并将该测试用例发送到被测对象,以获得测试结果。
随机数生成装置713是前面所述的本发明中产生固定范围内伪随机数的装置在本发明测试系统中的实际应用。其结构可参照图8具体包括伪随机序列生成装置801,用于根据激励配置模块配置的随机种子生成任意长度的伪随机序列;
定位装置802,用于根据激励配置模块配置的激励报文长度范围定位所述任意长度的伪随机序列的有效位数;范围调整装置803,用于根据激励报文长度范围调整定位装置输出的有效位数范围内的伪随机序列大小,以获取设定范围内的伪随机数。
其中,定位装置可通过如下结构来实现有效位数获取装置,用于根据随机数取值范围获取随机范围有效位数最大值;与逻辑装置,用于对伪随机序列生成装置生成的任意长度的伪随机序列及获取的随机范围有效位数最大值进行“与”逻辑运算,生成有效位数的伪随机序列。
当然,该定位装置现有技术中还有其他多种实现方式,这里不再赘述。
范围调整装置可通过比较器、缩小装置和扩大装置来实现通过比较器比较定位装置的输出结果与随机数取值范围的大小;通过缩小装置缩小大于随机数取值范围的随机数,使之满足范围要求;同样,通过扩大装置扩大小于随机数取值范围的随机数,使之满足范围要求。
对于缩小和扩大一个随机数的实现,在现有技术中有各种各样的实现方法,可以根据实际需要进行选择。
利用本发明系统,可以产生任意模式的激励,将所述激励发送到被测对象,经过被测对象处理并将处理结构发送至结果分析装置进行结果分析。
例如通过激励生成装置产生如下表1所示的以太网数据报文表1

由激励配置模块配置激励报文的长度范围;样本设置模块设定表1所示的激励报文的结构模式;然后,由随机数生成装置产生激励报文长度范围内的随机数;测试用例生成模块根据设定的激励报文的结构模式将范围内的伪随机数生成测试用例添加报头,根据随机数的大小填充数据净荷的数量等。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
权利要求
1.一种伪随机数产生装置,包括用于输入随机数取值范围的输入端口和输出端口,其特征在于,还包括种子选择器,用于选择随机序列的种子;伪随机序列生成装置,与所述种子选择器相连,用于根据所述选择的随机种子生成任意长度的伪随机序列;定位装置,与所述输入端口相连,用于根据所述随机数取值范围定位所述任意长度的伪随机序列的有效位数;范围调整装置,用于根据所述随机数取值范围调整所述定位装置输出的有效位数范围内的伪随机序列大小,以获取所述取值范围内的伪随机数,并将所述伪随机数分别发送至所述输出端口及所述种子选择器。
2.根据权利要求1所述的伪随机数产生装置,其特征在于,所述定位装置包括有效位数获取装置,用于根据所述随机数取值范围获取随机范围有效位数最大值;与逻辑装置,用于对所述伪随机序列生成装置生成的任意长度的伪随机序列及所述获取的随机范围有效位数最大值进行“与”逻辑运算,生成有效位数的伪随机序列。
3.根据权利要求2所述的伪随机数产生装置,其特征在于,所述范围调整装置包括比较器,对所述定位装置的输出结果与所述随机数取值范围的大小进行比较;缩小装置,用于根据所述有效位数的伪随机序列的数值大于所述设定的随机范围的数值的比较结果将所述有效位数的伪随机序列的数值减去第一预定值;扩大装置,用于根据所述有效位数的伪随机序列的数值小于所述设定的随机范围的数值的比较结果以及所述缩小装置的输出结果,将所述有效位数的伪随机序列的数值加上第二预定值。
4.根据权利要求3所述的伪随机数产生装置,其特征在于,所述缩小装置具体为减法器,分别连接到所述比较器和所述扩大装置,用于将所述有效位数的伪随机序列的数值减去一个所述随机范围的数值。
5.根据权利要求3所述的伪随机数产生装置,其特征在于,所述缩小装置还可具体为移位器,分别连接到所述比较器和所述与逻辑装置,用于对所述有效位数的伪随机序列的数值进行右移,以缩小所述有效位数的伪随机序列的数值。
6.如权利要求3所述的伪随机数产生装置,其特征在于,所述随机范围有效位数最大值由指数函数Rint max=2k-1定义,其中,K=[(log2Rint)+0.5],]]>Rint为所述设定的随机范围。
7.一种利用权利要求1所述伪随机数产生装置实现的测试系统,包括被测对象及分别与所述被测对象连接的激励生成装置和结果分析装置,其特征在于,所述激励生成装置包括激励配置模块,用于配置激励报文的属性参数,所述属性参数包括随机种子、激励报文长度范围;样本设置模块,用于提供激励报文的结构模式;所述的伪随机数产生装置,用于产生所述激励报文长度范围内的随机数;测试用例生成模块,用于根据所述激励报文的结构模式将所述范围内的伪随机数生成测试用例,并将所述测试用例发送到所述被测对象。
8.根据权利要求7所述的测试系统,其特征在于,所述的伪随机数产生装置具体包括伪随机序列生成装置,用于根据所述随机种子生成任意长度的伪随机序列;定位装置,用于根据所述激励报文长度范围定位所述任意长度的伪随机序列的有效位数;范围调整装置,用于根据所述激励报文长度范围调整所述定位装置输出的有效位数范围内的伪随机序列大小,以获取所述范围内的伪随机数。
9.根据权利要求8所述的测试系统,其特征在于,所述定位装置包括有效位数获取装置,用于根据所述随机数取值范围获取随机范围有效位数最大值;与逻辑装置,用于对所述伪随机序列生成装置生成的任意长度的伪随机序列及所述获取的随机范围有效位数最大值进行“与”逻辑运算,生成有效位数的伪随机序列。
10.根据权利要求8所述的测试系统,其特征在于,所述范围调整装置包括比较器,用于比较所述定位装置的输出结果与所述随机数取值范围的大小;缩小装置,用于根据所述有效位数的伪随机序列的数值大于所述设定的随机范围的数值的比较结果将所述有效位数的伪随机序列的数值减去第一预定值;扩大装置,用于根据所述有效位数的伪随机序列的数值小于所述设定的随机范围的数值的比较结果以及所述缩小装置的输出结果,将所述有效位数的伪随机序列的数值加上第二预定值。
全文摘要
本发明公开了一种伪随机数产生装置及利用其实现的测试系统,该装置包括用于输入随机数取值范围的输入端口和输出端口,种子选择器,用于产生任意长度的伪随机序列的伪随机序列生成装置,用于确定随机序列有效位的定位装置,用于调整随机序列数值大小的范围调整装置。利用本发明装置实现的测试系统,可以简单、快速地产生大量测试所需的不同长度的报文,使系统能准确模拟现实数据流情况,提高测试效果。
文档编号H04L12/26GK1725714SQ20041007082
公开日2006年1月25日 申请日期2004年7月20日 优先权日2004年7月20日
发明者黄春明, 王洪英, 周志兵, 杨样 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1