CN112054942B - 一种用于高位宽成帧误码测试的任意长度随机数据包生成方法 - Google Patents
一种用于高位宽成帧误码测试的任意长度随机数据包生成方法 Download PDFInfo
- Publication number
- CN112054942B CN112054942B CN202010964665.XA CN202010964665A CN112054942B CN 112054942 B CN112054942 B CN 112054942B CN 202010964665 A CN202010964665 A CN 202010964665A CN 112054942 B CN112054942 B CN 112054942B
- Authority
- CN
- China
- Prior art keywords
- data
- length
- random number
- number seed
- bit width
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0847—Transmission error
Landscapes
- Engineering & Computer Science (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本发明涉及用于误码测试的随机数据包的生成方法。一种用于高位宽成帧误码测试的任意长度随机数据包生成方法,包括:采用第一PRBS图形发生器产生固定长度的数据A;数据A生成后,在其末端取长度n比特的随机数种子i,代入第二PRBS图形发生器,每个时钟产生等同于位宽长度的数据B,到达指定的帧长度后,截取数据部分最后n比特数据作为随机数种子i+1,之后的数据用帧尾和无效数据替换,一个完整的数据包生成结束;下一帧将随机数种子i+1代入第一PRBS图形发生器的生成多项式,重复前两步;以此循环,持续产生任意长度的随机数据包。本发明通过两个PRBS图形发生器交替生成数据,每个发生器生成数据后,将随机数种子送入另一个发生器,可以保证图形的连续性。
Description
技术领域
本发明属于网络测试技术领域,涉及用于误码测试的随机数据包的生成方法。
背景技术
随着大数据、云计算和物联网走向规模应用,数据流量急剧增长,数据传输速率不断提升,数据位宽也逐渐提高。在100Gbps以太网中,普遍采用512比特位宽进行数据包传输。同时,网络协议技术近年来发展迅猛,协议种类越来越丰富,对于网络测试领域提出了严苛的挑战。
在使用高速网络测试和分析设备进行误码测试时,需要根据测试需求将PRBS图形封装成不同类型的协议格式进行传输,并且各帧数据包中载荷部分要求解包后还原为连续的PRBS图形。如图1所示,每个时钟内生成等长的PRBS图形(这个长度一般等于位宽),灰色部分表示实际发送的数据,无效数据用来使数据包长度为位宽的整数倍,便于发送控制。
而普通的随机数据包的生成和发送方式如图2所示,接收端解包后,数据部分是断续的PRBS图形。
目前用于误码测试的数据数据包通常采用移位方式生成。对于图1中的PRBS图形,使用移位进行协议封装的过程如图3所示。PRBS发送器每时钟产生等同于位宽长度的数据写入缓存器,在发送数据包时从缓存器中读取数据。这种方法的缺点是每个数据包都需要对PRBS图形进行移位判断,移位比特数不仅需要考虑帧头长度,还需要考虑上一帧PRBS图形的截止位置。由于数据包长度是8比特的整数倍,对于32比特位宽,上一帧PRBS图形可能结束在第8比特、16比特、24比特、32比特四种情况,因此下一帧数据移位比特数最多需要判断4次,而512比特位宽时,判断次数最多可达64次。因此随着数据位宽的不断提升,这种方法越来越难以满足要求。由图3也可看出,数据A、B、C并不总是和时钟对齐的,需要进行移位处理,而每段数据移位比特数又不尽相同,使得电路复杂度随位宽提升呈指数型增长。
发明内容
为了克服现有的数据包生成方法中存在的缺点和不足,本发明提供了一种用于高位宽成帧误码测试的任意长度随机数据包生成方法,该方法可实现任意长度的PRBS图形连续生成,并且能够极大简化随机数据包生成电路,电路复杂度受位宽影响极小。
本发明解决其技术问题采用的技术方案是:一种用于高位宽成帧误码测试的任意长度随机数据包生成方法,包括:
(1)采用第一PRBS图形发生器产生固定长度的数据A;
(2)数据A生成后,在其末端取长度n比特的随机数种子i,i为正整数,代入第二PRBS图形发生器,每个时钟产生等同于位宽长度的数据B,并在数据A、B部分的总长度到达用户期望的数据长度时,截取数据部分最后n比特数据作为随机数种子i+1,之后的数据用帧尾和无效数据替换,一个完整的数据包生成结束;
(3)产生下一帧数据包时,将随机数种子i+1代入第一PRBS图形发生器的生成多项式,重复步骤(1)-(2);
(4)以此循环,持续产生任意长度的随机数据包。
作为本发明的一种优选方式,所述的第一帧的数据A由用户定义的初始随机数种子代入第一PRBS图形发生器生成多项式产生。
进一步优选地,若数据A长度不足n比特,则从初始随机数种子+数据A的末端取随机数种子i。
进一步优选地,所述随机数种子的长度n等于PRBS图形阶数。
进一步优选地,帧头+数据A的长度为位宽的整数倍。
进一步优选地,帧头+数据A+数据B+帧尾+无效数据的长度为位宽的整数倍。
本发明的用于高位宽成帧误码测试的任意长度随机数据包生成方法,通过两个PRBS图形发生器交替生成数据,每个发生器生成数据后,将随机数种子送入另一个发生器。随机数种子在形式上只是固定长度的0和1序列,其内容则包含了已发送的最后一段PRBS图形和即将产生的PRBS图形信息,因此可以保证图形的连续性。
本发明通过在PRBS图形的任意位置提取随机数种子,实现了任意长度的PRBS图形生成。每个时钟内生成数据的长度只与协议类型和数据包长度有关,数据内容则取决于上一时钟提取的种子,这样就消除了上一帧PRBS图形的截止位置对下一帧数据包生成的影响,避免了高位宽对电路设计的不利影响。
附图说明
图1为误码测试随机数据包示意图;
图2为普通随机数据包示意图
图3为通过移位实现PRBS图形封装;
图4为PRBS31图形发生器示意图;
图5为随机数种子特性;
图6为本发明实施例中利用两个PRBS图形发生器产生随机数据包原理示意图;
图7为本发明实施例中利用两个PRBS图形发生器产生随机数据包流程示意图。
具体实施方式
下面结合附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
PRBS是Pseudo Random Binary Sequence的缩写,即伪随机二进制序列,通常用于高速信号误码测试过程中随机数据的生成。PRBS图形具有随机特性,但与真正意义的随机码不同的是,其随机特性只在一定周期内体现,即在周期内“0”和“1”随机出现,但各个周期中的码流却是完全相同的,因此称为伪随机序列。PRBS图形的周期长度取决于阶数,常用的阶数有7、9、11、13、23、31,即PRBS7、PRBS9、PRBS11、PRBS13、PRBS23、PRBS31。对于n阶PRBS图形,其周期长度为2n-1。
PRBS图形是通过PRBS图形发生器生成,n阶PRBS图形发生器由n个移位寄存器串联组成,并使用异或门将各级反馈传回输入。如图4为PRBS31图形发生器示意图,通常用生成多项式来表示,即:
G(x)=1+x28+x31
每个移位寄存器的初始值序列称为随机数种子(seed),随机数种子长度为n,取值可以为非全0的任意序列。使用不同的随机数种子生成的PRBS31序列也会随之改变。
随机数种子的最大特点是,它包含了种子自身在PRBS图形中的位置,以及后续生成的所有随机序列两方面的信息。对于某初始PRBS图形,在其m比特处截取随机数种子代入其生成多项式后,生成的PRBS图形与初始PRBS图形第m比特后的序列完全一致。如图5所示,灰色部分完全一致,二者相位相差m比特。
利用上述特性,本实施例通过在前一帧数据尾部提取固定长度的随机数种子,作为下一帧PRBS图形的初始种子,从而保证帧与帧之间数据部分的连续性。具体实现方法如图6和7所示:
一、采用第一PRBS图形发生器产生固定长度的随机数A
该步骤的目的是使帧头+数据A长度是位宽的整数倍,对于同一协议来说,帧头长度一般是固定的,因此数据A的长度是固定的。其中,第一帧的数据A由用户定义的初始随机数种子代入生成多项式产生。
数据A生成后,在末端取长度n的随机数种子1,若数据A长度不足n比特,则从初始随机数种子+数据A的末端取随机数种子1。
二、采用第二PRBS图形发生器产生数据B
第二PRBS图形发生器通过随机数种子1代入生成多项式,每个时钟产生等同于位宽长度的数据B,并在数据A、B部分的总长度到达用户期望的数据长度时,截取数据部分最后n比特数据作为随机数种子2,之后的数据用帧尾和无效数据替换,使帧头+数据A+数据B+帧尾+无效数据的总长度是位宽的整数倍,一个完整的数据包生成结束。
由于数据部分的长度是由用户定义的,因此随机数种子的截取位置也是可以计算出的。随机数种子1和随机数种子2的长度与初始随机数种子长度相同。
生成下一帧数据A时,将使用随机数种子2代入第一PRBS图形发生器生成多项式,以此循环,可以持续产生任意长度的随机数据包。
本实施例中,数据A长度、数据B长度、无效数据长度等控制要素均可通过包含位宽在内的数学函数求得,位宽增加对电路复杂度影响很小,因此相对移位的方法来说,更适用于高位宽成帧误码测试中的任意长度随机数据包生成。
Claims (4)
1.一种用于高位宽成帧误码测试的任意长度随机数据包生成方法,其特征在于,包括:
(1)采用第一PRBS图形发生器产生固定长度的数据A;
(2)数据A生成后,在其末端取长度n比特的随机数种子i,i为正整数,代入第二PRBS图形发生器,每个时钟产生等同于位宽长度的数据B,并在数据A、B部分的总长度到达用户期望的数据长度时,截取数据部分最后n比特数据作为随机数种子i+1,之后的数据用帧尾和无效数据替换,一个完整的数据包生成结束;
(3)产生下一帧数据包时,将随机数种子i+1代入第一PRBS图形发生器的生成多项式,重复步骤(1)-(2);
(4)以此循环,持续产生任意长度的随机数据包;
帧头+数据A的长度为位宽的整数倍;帧头+数据A+数据B+帧尾+无效数据的长度为位宽的整数倍。
2.根据权利要求1所述的用于高位宽成帧误码测试的任意长度随机数据包生成方法,其特征在于,第一帧的数据A由用户定义的初始随机数种子代入第一PRBS图形发生器生成多项式产生。
3.根据权利要求1所述的用于高位宽成帧误码测试的任意长度随机数据包生成方法,其特征在于,若数据A长度不足n比特,则从初始随机数种子+数据A的末端取随机数种子i。
4.根据权利要求1-3任一项所述的用于高位宽成帧误码测试的任意长度随机数据包生成方法,其特征在于,所述随机数种子的长度n等于PRBS图形阶数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010964665.XA CN112054942B (zh) | 2020-09-15 | 2020-09-15 | 一种用于高位宽成帧误码测试的任意长度随机数据包生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010964665.XA CN112054942B (zh) | 2020-09-15 | 2020-09-15 | 一种用于高位宽成帧误码测试的任意长度随机数据包生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112054942A CN112054942A (zh) | 2020-12-08 |
CN112054942B true CN112054942B (zh) | 2021-12-17 |
Family
ID=73610758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010964665.XA Active CN112054942B (zh) | 2020-09-15 | 2020-09-15 | 一种用于高位宽成帧误码测试的任意长度随机数据包生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112054942B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0855642A2 (en) * | 1997-01-16 | 1998-07-29 | Nec Corporation | Pseudorandom number generation circuit and data communication system employing the same |
CN103870238A (zh) * | 2012-12-10 | 2014-06-18 | 北京普源精电科技有限公司 | 基于fpga的伪随机序列发生器及其生成方法 |
CN106339203A (zh) * | 2016-08-10 | 2017-01-18 | 钱庆照 | 一种随机数据生成方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100356735C (zh) * | 2004-07-20 | 2007-12-19 | 华为技术有限公司 | 伪随机数产生装置及利用其实现的测试系统 |
US9747076B1 (en) * | 2014-12-04 | 2017-08-29 | Altera Corporation | Parallel pseudo random bit sequence generation with adjustable width |
CN106201945B (zh) * | 2016-06-28 | 2017-07-11 | 湖南恒茂高科股份有限公司 | 位宽转换装置 |
CN109669669B (zh) * | 2018-12-06 | 2022-06-24 | 镕铭微电子(济南)有限公司 | 误码生成方法及误码生成器 |
-
2020
- 2020-09-15 CN CN202010964665.XA patent/CN112054942B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0855642A2 (en) * | 1997-01-16 | 1998-07-29 | Nec Corporation | Pseudorandom number generation circuit and data communication system employing the same |
CN103870238A (zh) * | 2012-12-10 | 2014-06-18 | 北京普源精电科技有限公司 | 基于fpga的伪随机序列发生器及其生成方法 |
CN106339203A (zh) * | 2016-08-10 | 2017-01-18 | 钱庆照 | 一种随机数据生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112054942A (zh) | 2020-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Emmerich et al. | Moongen: A scriptable high-speed packet generator | |
US3916379A (en) | Error-rate monitoring unit in a communication system | |
CN105264778B (zh) | 一种crc计算方法及装置 | |
CN109815099B (zh) | Jesd204b控制器的fpga验证方法 | |
JP2016136728A (ja) | Pam送信機におけるジッタを測定する方法、送信された信号における歪みを測定する方法、抑制のための歪み測定、pam送信機における偶数−奇数ジッタを測定する方法、クロックランダムジッタおよびクロック確定ジッタを計算する試験装置 | |
CN102123060B (zh) | 一种基于fpga的误码测试方法 | |
CN102143023A (zh) | 一种基于fpga的误码测试系统 | |
WO2013013480A1 (zh) | 伪随机数生成装置和方法 | |
CN115174259B (zh) | 一种基于混沌序列和多进制扩频的安全通信方法 | |
CN112054942B (zh) | 一种用于高位宽成帧误码测试的任意长度随机数据包生成方法 | |
US20070282932A1 (en) | Bus inverting code generating apparatus and method of generating bus inverting code using the same | |
CN101461166A (zh) | 用于动态分组重排序的方法及装置 | |
CN104734900B (zh) | 一种通信协议测试的发送控制方法 | |
CN108833043B (zh) | 基于Polar法改进的AWGN信道实现方法及装置 | |
CN116708258A (zh) | 一种背景流网络拓扑汇聚方法及装置 | |
Yuan et al. | Ultra low-latency MAC/PCS IP for high-speed ethernet | |
US11705986B2 (en) | Hardware based cyclic redundancy check (CRC) re-calculator for timestamped frames over a data bus | |
CN113037390B (zh) | 一种基于fpga的光纤加密方法 | |
CN105721215B (zh) | 一种基于汇聚过程的网络数据流生成方法与装置 | |
CN114884605A (zh) | 基于fpga实现网络节点时间同步的方法 | |
CN103346930A (zh) | 网络性能测试仪的测试流生成方法和组件 | |
JP3002713B2 (ja) | ビット列にセル境界を確立する装置およびcrc計算 | |
Rasmussen et al. | Framed bit error rate testing for 100G Ethernet equipment | |
Chacko et al. | Independent source architecture for developing FPGA-based physical layer security techniques | |
CN118337332A (zh) | 一种高速串行链路信息统计方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 266000 No. 98 Xiangjiang Road, Huangdao District, Qingdao City, Shandong Province Applicant after: CLP kesiyi Technology Co.,Ltd. Address before: 266000 No. 98 Xiangjiang Road, Huangdao District, Qingdao City, Shandong Province Applicant before: CHINA ELECTRONICS TECHNOLOGY INSTRUMENTS Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |