CN116722954B - 一种编解码验证系统、方法、设备以及存储介质 - Google Patents
一种编解码验证系统、方法、设备以及存储介质 Download PDFInfo
- Publication number
- CN116722954B CN116722954B CN202310990910.8A CN202310990910A CN116722954B CN 116722954 B CN116722954 B CN 116722954B CN 202310990910 A CN202310990910 A CN 202310990910A CN 116722954 B CN116722954 B CN 116722954B
- Authority
- CN
- China
- Prior art keywords
- message
- decoding
- coding
- module
- error
- 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
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000012795 verification Methods 0.000 title abstract description 12
- 238000012937 correction Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 7
- 238000013461 design Methods 0.000 description 15
- 238000003780 insertion Methods 0.000 description 12
- 230000037431 insertion Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/20—Arrangements for detecting or preventing errors in the information received using signal quality detector
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本申请提供了一种编解码验证系统、方法、设备以及存储介质。所述系统包括:编码模块用于对第一数据报文按照编码算法逻辑以及时序进行编码得到第一编码报文;编码参考生成器用于对第一数据报文按照编码算法逻辑进行编码得到第一编码参考报文;编码比较器,用于比较第一编码报文和第一编码参考报文,得到第一比较结果;插错模块用于对第一编码参考报文进行随机插错,得到差错报文;解码模块用于对差错报文按照解码算法逻辑以及时序进行纠正以及解码,得到第一解码报文;解码参考生成器用于对差错报文按照解码算法逻辑进行纠正以及解码,得到第一解码参考报文;解码比较器用于比较第一解码报文和第一解码参考报文,得到第二比较结果。
Description
技术领域
本发明涉及电路设计领域,尤其涉及一种编解码验证系统、方法、设备以及存储介质。
背景技术
在数据实际的传输过程中,由于链路长度,传输质量等问题的存在可能会导致数据发生错误。如果每次都对出错的数据进行重传,则带宽开销太大。此时,数据前向纠错(Forward Error Correction,FEC)技术应运而生。通过编码模块在数据后面附加上若干位的编码计算出的校验码,接收方的解码模块就可以对通过解码对数据进行纠错,从而大大减少了链路上的开销。
如何对编码模块以及解码模块的正确性进行验证,是本领域的技术难题。
发明内容
本发明实施例提供了一种编解码验证系统、方法、设备以及存储介质,能够同时对编码模块的编码算法逻辑和时序进行验证,对解码模块的解码算法的逻辑和时序进行验证。
第一方面,提供了一种编解码验证系统,包括:
编码模块,采用第一有时序逻辑模型,用于接收第一数据报文,对所述第一数据报文按照编码算法逻辑以及时序进行编码得到第一编码报文;
编码参考生成器,采用第一无时序逻辑模型,用于接收所述第一数据报文,对所述第一数据报文按照编码算法逻辑进行编码得到第一编码参考报文;
编码比较器,用于比较所述第一编码报文和所述第一编码参考报文,得到第一比较结果;
插错模块,用于对所述第一编码参考报文进行随机插错,得到差错报文;
解码模块,采用第二有时序逻辑模型,用于接收所述差错报文,对所述差错报文按照解码算法逻辑以及时序进行纠正以及解码,得到第一解码报文;
解码参考生成器,采用第二无时序逻辑模型,用于接收所述差错报文,对所述差错报文按照解码算法逻辑进行纠正以及解码,得到第一解码参考报文;
解码比较器,用于比较所述第一解码报文和所述第一解码参考报文,得到第二比较结果;
在所述第一比较结果为所述第一编码报文和所述第一编码参考报文相同的情况下,所述编码模块的编码算法逻辑以及时序确定均是正确的;
在所述第一比较结果为所述第一编码报文和所述第一编码参考报文相同,且,所述第二比较结果为所述第一解码报文和所述第一解码参考报文相同的情况下,所述解码模块的解码算法逻辑以及时序确定均是正确的。
在一些可能的设计中,在所述第一比较结果为所述第一编码报文和所述第一编码参考报文不相同的情况下,所述编码模块的编码算法逻辑以及时序中的至少一个出现错误。
在一些可能的设计中,在所述第一比较结果为所述第一编码报文和所述第一编码参考报文相同,所述第二比较结果为所述第一解码报文和所述第一解码参考报文不相同的情况下,所述解码模块的解码算法逻辑以及时序中的至少一个出现错误。
在一些可能的设计中,所述差错报文中插入的插错字节的个数不大于解码算法的最大纠错个数。
在一些可能的设计中,所述第一编码报文和所述第一编码参考报文均包括多个块,每个块均包括数据段以及校验位段,所述编码比较器将所述第一编码报文和所述第一编码参考报文进行比较时,是将所述第一编码报文中的每个块和所述第一编码参考报文中的每个块进行逐块比较。
在一些可能的设计中,所述解码比较器将所述第一解码报文和所述第一解码参考报文进行比较时,是将整个第一解码报文和整个第一解码参考报文进行比较。
在一些可能的设计中,所述第一解码报文和所述第一解码参考报文中均不包括校验位段。
第二方面,提供了一种编解码验证方法,包括:
通过编码模块接收第一数据报文,对所述第一数据报文按照编码算法逻辑以及时序进行编码得到第一编码报文,其中,所述编码模块采用第一有时序逻辑模型;
通过编码参考生成器接收所述第一数据报文,对所述第一数据报文按照编码算法逻辑进行编码得到第一编码参考报文,其中,所述编码参考生成器采用第一无时序逻辑模型;
通过编码比较器比较所述第一编码报文和所述第一编码参考报文,得到第一比较结果;
通过插错模块对所述第一编码参考报文进行随机插错,得到差错报文;
通过解码模块接收所述差错报文,对所述差错报文按照解码算法逻辑以及时序进行纠正以及解码,得到第一解码报文,其中,所述解码模块采用第二有时序逻辑模型;
通过解码参考生成器接收所述差错报文,对所述差错报文按照解码算法逻辑进行纠正以及解码,得到第一解码参考报文,其中,所述解码参考生成器采用第二无时序逻辑模型;
通过解码比较器比较所述第一解码报文和所述第一解码参考报文,得到第二比较结果;
在所述第一比较结果为所述第一编码报文和所述第一编码参考报文相同的情况下,所述编码模块的编码算法逻辑以及时序确定均是正确的;
在所述第一比较结果为所述第一编码报文和所述第一编码参考报文相同,且,所述第二比较结果为所述第一解码报文和所述第一解码参考报文相同的情况下,所述解码模块的解码算法逻辑以及时序确定均是正确的。
第三方面,提供了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据第二方面所述的方法。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机设备上运行时使得所述计算机设备执行根据第二方面所述的方法。
附图说明
为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
图1是本申请提供的一种编解码验证系统的结构示意图;
图2是本申请提供的一种编解码验证方法的流程示意图;
图3是本申请实施例提供的一种计算设备的结构示意图。
具体实施方式
下面结合本发明实施例中的附图对本发明实施例进行描述。本发明的实施方式部分使用的术语仅用于对本发明的具体实施例进行解释,而非旨在限定本发明。
为了提高编码和解码的效率,需要将编码模块和解码模块做成成熟的且功能独立的设计模块(IP)。该设计模块可以采用现场可编程门阵列(Field-Programmable GateArray,FPGA)技术,也可以采用专用集成电路(Application Specific IntegratedCircuit,ASIC)技术等等。该设计模块可以只包括编码模块,可以只包括解码模块,也可以同时包括编码模块以及解码模块。由于以往的编码模块和解码模块可以采用面向对象的语言进行编写,所以,只要编码模块的编码算法逻辑和解码模块的解码算法逻辑是正确的,这个编码模块和解码模块就可以认为是正确的,但是,当要将编码模块和解码模块写入设计模块时,除了要保证编码模块的编码算法逻辑和解码模块的解码算法逻辑是正确的,还要保证编码模块的时序和解码模块的时序都是正确的。在一具体的实施例中,编码模块和解码模块均是采用寄存器传输语言(Register Transfer Language,RTL)代码撰写的,RTL代码通常的仿真工具vcs+verdi。但是,这个仿真工具目前尚未有提供对编码模块以及解码模块的验证功能。
参见图1,图1是本申请提供的一种编解码验证系统的结构示意图。如图1所示,本申请的编解码验证系统,包括:报文生成模块110、编码模块120、编码参考生成器130、编码比较器140、插错模块150、解码模块160、解码参考生成器170、解码比较器180。
报文生成模块110用于生成第一数据报文。第一数据报文可以是任意的报文类型,例如,以太数据包格式。第一数据报文需支持各种的报文长度,如果第一数据报文为以太数据包,则一般至少需要14字节,但是这里为了支持所有的长度,需要额外增加一种碎包模式,支持发送最小长度为1字节的数据。
编码模块120用于接收第一数据报文,对第一数据报文按照编码算法逻辑以及时序进行编码得到第一编码报文。编码模块120采用第一有时序模型。这样,编码模块执行编码算法时,除了要依照编码算法逻辑执行,还需要按照时序进行,这样的编码模块才可以烧入设计模块中。在一具体的实施例中,编码模块120采用的是RTL代码进行编写的。编码模块120中采用的编码算法可以是FEC算法,例如,RS编码算法等等。这里,RS编码算法可以采用不同的多项式,从而对不同长度的字节进行编码。例如,RS(255,239)可以每239字节产生16字节的校验位,因此,需要将第一数据报文中的数据按照239字节拆分成块(block),对于最后一个小于239字节块,则按照一个块进行处理。
编码参考生成器130用于接收第一数据报文,对第一数据报文按照编码算法逻辑进行编码得到第一编码参考报文。编码参考生成器130采用第一无时序模型,这样,编码参考生成器130执行编码算法时,只需要考虑编码算法逻辑,不需要考虑时序,所以,编码参考生成器130的可靠性远比编码模块120高。在一具体的实施例中,编码参考生成器130采用的是面向对象的语言进行编写的。编码参考生成器130采用的编码算法应和编码模块120采用的编码算法是一样的。例如,当编码模块120采用的编码算法为RS编码算法,则编码参考生成器130采用的编码算法也为RS编码算法。而且,编码模块120的编码算法采用的多项式和编码参考生成器130采用的编码算法采用的多项式也应该是一样的。而且,当编码模块120的编码算法以每239字节产生16字节的校验位,编码参考生成器130的编码算法也是以每239字节产生16字节的校验位。
编码比较器140用于比较第一编码报文和第一编码参考报文,得到第一比较结果。在进行比较时,可以将第一编码报文和第一编码参考报文逐块进行比较,就能够确定具体是哪个块出现了故障,从而快速定位故障点。在第一比较结果为第一编码报文和第一编码参考报文相同的情况下,编码模块120的编码算法逻辑以及时序确定均是正确的。在第一比较结果为第一编码报文和第一编码参考报文不相同的情况下,编码模块120的编码算法逻辑以及时序中的至少一个出现错误。
插错模块150用于对第一编码参考报文进行随机插错,得到差错报文。为了方便进行验证,可以在根据第一比较结果确定第一编码模块编码算法逻辑以及时序确定均是正确的情况下,才将第一编码参考报文输入插错模块。因为编码比较器140采用的是无时序模型,所以,编码比较器140输出的第一编码参考报文准确性会比较高,所以,选择第一编码参考报文进行插错,而不是选择编码模块120输出的第一编码报文来进行插错。在进行插错时,插错模块的位置以及个数都是随机的。也就是说,进行插错的位置完全是随机的,插错字节个数也是随机的,但是,插错字节的个数不大于解码算法的最大纠错个数。具体的操作为对于每一个块都先随机确定插错个数(RS(255,239)的最大纠错个数为8,因此,插错个数为0-8之间的一个随机数),然后,随机出每一个错误的插错位置,在对应位置处用一个随机数字替换原始数据,从而达到随机插错的目的。插错完成后,就可以得到差错报文。
解码模块160用于接收差错报文,对差错报文按照解码算法逻辑以及时序进行纠正以及解码,得到第一解码报文。解码模块160采用第二有时序模型。这样,解码模块160执行解码算法时,除了要依照解码算法逻辑执行,还需要按照时序进行,这样的解码模块160才可以烧入设计模块中。在一具体的实施例中,解码模块160采用的是RTL代码进行编写的。解码模块160中采用的解码算法可以是FEC算法,例如,RS解码算法等等。在解码时,可以利用每个块携带的16字节冗余码并根据berlkamp-messey算法计算错误位置多项式系数,根据chien search算法计算错误位置,根据forney算法计算错误值从而将插入错误后的差错报文进行纠错还原,得到原始无错误的数据。在解码完成之后,就可以得到第一解码报文。
解码参考生成器170用于接收差错报文,对差错报文按照解码算法逻辑进行纠正以及解码,得到第一解码参考报文。解码参考生成器170采用第二无时序模型,这样,解码参考生成器170执行解码算法时,只需要考虑解码算法逻辑,不需要考虑时序,所以,解码参考生成器170的可靠性远比解码模块160高。在一具体的实施例中,解码参考生成器170采用的是面向对象的语言进行编写的。解码参考生成器170采用的解码算法应和解码模块160采用的解码算法是一样的。例如,当解码模块160采用的解码算法为RS解码算法,则解码参考生成器170采用的解码算法也为RS解码算法。而且,解码模块160的解码算法采用的多项式和解码模块160采用的解码算法采用的多项式也应该是一样的。当解码模块160的解码算法是针对239字节数据加16字节的校验位总共255字节的数据进行解码时,解码参考生成器170同样针对239字节数据加16字节的校验位总共255字节的数据进行解码。
解码比较器180用于比较第一解码报文和第一解码参考报文,得到第二比较结果。在进行比较时,可以将第一解码报文和第一解码参考报文逐块进行比较,就能够确定具体是哪个块出现了故障,从而快速定位故障点,也可以将整个第一解码报文和整个第一解码参考报文进行比较。在此时,校验位已经不是必要的了。因此,可以将校验位去掉,此时,第一解码报文和整个第一解码参考报文均不包括校验位段。在第一比较结果为第一编码报文和第一编码参考报文相同,且,第二比较结果为所述第一解码报文和第一解码参考报文相同的情况下,解码模块的解码算法逻辑以及时序确定均是正确的。在第一比较结果为第一编码报文和第一编码参考报文相同,第二比较结果为第一解码报文和第一解码参考报文不相同的情况下,解码模块的解码算法逻辑以及时序中的至少一个出现错误。
参见图2,图2是本申请提供的一种编解码验证方法的流程示意图。如图2所示,本申请的编解码验证方法,包括:
S101:通过编码模块接收第一数据报文,对第一数据报文按照编码算法逻辑以及时序进行编码得到第一编码报文。
在一些可能的实施例中,编码模块采用第一有时序逻辑模型。这样,编码模块执行编码算法时,除了要依照编码算法逻辑执行,还需要按照时序进行,这样的编码模块才可以烧入设计模块中。在一具体的实施例中,编码模块120采用的是RTL代码进行编写的。编码模块120中采用的编码算法可以是FEC算法,例如,RS编码算法等等。这里,RS编码算法可以采用不同的多项式,从而对不同长度的字节进行编码。例如,RS(255,239)可以每239字节产生16字节的校验位,因此,需要将第一数据报文中的数据按照239字节拆分成块(block),对于最后一个小于239字节块,则按照一个块进行处理。
S102:通过编码参考生成器接收第一数据报文,对第一数据报文按照编码算法逻辑进行编码得到第一编码参考报文。
在一些可能的实施例中,编码参考生成器采用第一无时序模型,这样,编码参考生成器执行编码算法时,只需要考虑编码算法逻辑,不需要考虑时序,所以,编码参考生成器的可靠性远比编码模块高。在一具体的实施例中,编码参考生成器采用的是面向对象的语言进行编写的。编码参考生成器采用的编码算法应和编码模块采用的编码算法是一样的。例如,当编码模块采用的编码算法为RS编码算法,则编码参考生成器采用的编码算法也为RS编码算法。而且,编码模块的编码算法采用的多项式和编码参考生成器采用的编码算法采用的多项式也应该是一样的。而且,当编码模块的编码算法以每239字节产生16字节的校验位,编码参考生成器的编码算法也是以每239字节产生16字节的校验位。
S103:通过编码比较器比较第一编码报文和第一编码参考报文,得到第一比较结果。
在一些可能的实施例中,在进行比较时,可以将第一编码报文和第一编码参考报文逐块进行比较,就能够确定具体是哪个块出现了故障,从而快速定位故障点。在第一比较结果为第一编码报文和第一编码参考报文相同的情况下,编码模块的编码算法逻辑以及时序确定均是正确的。在第一比较结果为第一编码报文和第一编码参考报文不相同的情况下,编码模块的编码算法逻辑以及时序中的至少一个出现错误。
S104:通过插错模块对第一编码参考报文进行随机插错,得到差错报文。
在一些可能的实施例中,为了方便进行验证,可以在根据第一比较结果确定第一编码模块编码算法逻辑以及时序确定均是正确的情况下,才将第一编码参考报文输入插错模块。因为编码比较器采用的是无时序模型,所以,编码比较器输出的第一编码参考报文准确性会比较高,所以,选择第一编码参考报文进行插错,而不是选择编码模块输出的第一编码报文来进行插错。在进行插错时,插错模块的位置以及个数都是随机的。也就是说,进行插错的位置完全是随机的,插错字节个数也是随机的,但是,插错字节的个数不大于解码算法的最大纠错个数。具体的操作为对于每一个块都先随机确定插错个数(RS(255,239)的最大纠错个数为8,因此,插错个数为0-8之间的一个随机数),然后,随机出每一个错误的插错位置,在对应位置处用一个随机数字替换原始数据,从而达到随机插错的目的。插错完成后,就可以得到差错报文。
S105:通过解码模块接收差错报文,对差错报文按照解码算法逻辑以及时序进行纠正以及解码,得到第一解码报文。
在一些可能的实施例中,解码模块采用第二有时序模型。这样,解码模块执行解码算法时,除了要依照解码算法逻辑执行,还需要按照时序进行,这样的解码模块才可以烧入设计模块中。在一具体的实施例中,解码模块采用的是RTL代码进行编写的。解码模块中采用的解码算法可以是FEC算法,例如,RS解码算法等等。在解码时,可以利用每个块携带的16字节冗余码并根据berlkamp-messey算法计算错误位置多项式系数,根据chien search算法计算错误位置,根据forney算法计算错误值从而将插入错误后的差错报文进行纠错还原,得到原始无错误的数据。在解码完成之后,就可以得到第一解码报文。
S106:通过解码参考生成器接收差错报文,对差错报文按照解码算法逻辑进行纠正以及解码,得到第一解码参考报文。
在一些可能的实施例中,解码参考生成器采用第二无时序模型,这样,解码参考生成器执行解码算法时,只需要考虑解码算法逻辑,不需要考虑时序,所以,解码参考生成器的可靠性远比解码模块高。在一具体的实施例中,解码参考生成器采用的是面向对象的语言进行编写的。解码参考生成器采用的解码算法应和解码模块采用的解码算法是一样的。例如,当解码模块采用的解码算法为RS解码算法,则解码参考生成器采用的解码算法也为RS解码算法。而且,解码模块的解码算法采用的多项式和解码模块采用的解码算法采用的多项式也应该是一样的。当解码模块的解码算法是针对239字节数据加16字节的校验位总共255字节的数据进行解码时,解码参考生成器同样针对239字节数据加16字节的校验位总共255字节的数据进行解码。
S107:通过解码比较器比较第一解码报文和第一解码参考报文,得到第二比较结果。
在一些可能的实施例中,在进行比较时,可以将第一解码报文和第一解码参考报文逐块进行比较,就能够确定具体是哪个块出现了故障,从而快速定位故障点,也可以将整个第一解码报文和整个第一解码参考报文进行比较。在此时,校验位已经不是必要的了。因此,可以将校验位去掉,此时,第一解码报文和整个第一解码参考报文均不包括校验位段。在第一比较结果为第一编码报文和第一编码参考报文相同,且,第二比较结果为所述第一解码报文和第一解码参考报文相同的情况下,解码模块的解码算法逻辑以及时序确定均是正确的。在第一比较结果为第一编码报文和第一编码参考报文相同,第二比较结果为第一解码报文和第一解码参考报文不相同的情况下,解码模块的解码算法逻辑以及时序中的至少一个出现错误。
参见图3,图3是本申请实施例提供的一种计算设备的结构示意图,该计算设备400包括:一个或者多个处理器410、通信接口420以及存储器430。所述处理器410、通信接口420
以及存储器430通过总线440相互连接。可选地,该计算设备400还可以包括输入/输出接口450,输入/输出接口450连接有输入/输出设备,用于接收用户设置的参数等。该计算设备400能够用于实现上述的本申请实施例中设备实施例或者系统实施例的部分或者全部功能;处理器410还能够用于实现上述的本申请实施例中方法实施例的部分或者全部操作步骤。例如,该计算设备400执行各种操作的具体实现可参照上述实施例中的具体细节,如处理器410用于执行上述方法实施例中部分或者全部步骤或者上述方法实施例中的部分或者全部操作。再例如,本申请实施例中,计算设备400可用于实现上述装置实施例中一个或者多个部件的部分或者全部功能,此外通信接口420具体可用于为了实现这些装置、部件的功能所必须的通讯功能等,以及处理器410具体可用于为了实现这些装置、部件的功能所必须的处理功能等。
应当理解的是,图3的计算设备400可以包括一个或者多个处理器410,并且多个处理器410可以按照并行化连接方式、串行化连接方式、串并行连接方式或者任意连接方式来协同提供处理能力,或者多个处理器410可以构成处理器序列或者处理器阵列,或者多个处理器410之间可以分成主处理器和辅助处理器,或者多个处理器410之间可以具有不同的架构如采用异构计算架构。另外,图3所示的计算设备400,相关的结构性描述及功能性描述是示例性且非限制性的。在一些示例性实施例中,计算设备400可以包括比图3所示的更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者具有不同的部件布置。
处理器410可以有多种具体实现形式,例如处理器410可以包括中央处理器(central processingunit,CPU)、图形处理器(graphic processing unit,GPU)、神经网络处理器(neural-networkprocessing unit,NPU)、张量处理器(tensor processing unit,TPU)或数据处理器(data processing unit,DPU)等一种或多种的组合,本申请实施例不做具体限定。处理器410还可以是单核处理器或多核处理器。处理器410可以由CPU和硬件芯片的组合。上述硬件芯片可以是专用集成电路(application-specificintegrated circuit,ASIC),可编程逻辑器件(programmable logicdevice,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。处理器410也可以单独采用内置处理逻辑的逻辑器件来实现,例如FPGA或数字信号处理器(digital signal processor,DSP)等。通信接口420可以为有线接口或无线接口,用于与其他模块或设备进行通信,有线接口可以是以太接口、局域互联网络(localinterconnect network,LIN)等,无线接口可以是蜂窝网络接口或使用无线局域网接口等。
存储器430可以是非易失性存储器,例如,只读存储器(read-onlymemory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electricallyEPROM,EEPROM)或闪存。存储器430也可以是易失性存储器,易失性存储器可以是随机存取存储器(randomaccess memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(doubledatarate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。存储器430也可用于存储程序代码和数据,以便于处理器410调用存储器430中存储的程序代码执行上述方法实施例中的部分或者全部操作步骤,或者执行上述设备实施例中的相应功能。此外,计算设备400可能包含相比于图3展示的更多或者更少的组件,或者有不同的组件配置方式。
总线440可以是快捷外设部件互连标准(peripheral component interconnectexpress,PCIe)总线,或扩展工业标准结构(extended industry standard architecture,EISA)总线、统一总线(unified bus,Ubus或UB)、计算机快速链接(compute express link,CXL)、缓存一致互联协议(cache coherentinterconnect for accelerators,CCIX)等。总线440可以分为地址总线、数据总线、控制总线等。总线440除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例还提供一种系统,该系统包括多个计算设备,每个计算设备的结构可以参照上述的计算设备的结构。该系统可实现的功能或者操作可以参照上述方法实施例中的具体实现步骤和/或上述装置实施例中所描述的具体功能,在此不再赘述。本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当所述计算机指令在计算机设备(如一个或者多个处理器)上运行时可以实现上述方法实施例中的方法步骤。所述计算机可读存储介质的处理器在执行上述方法步骤的具体实现可参照上述方法实施例中所描述的具体操作和/或上述装置实施例中所描述的具体功能,在此不再赘述。本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的指令,当所述指令在计算机设备上运行时使得所述计算机设备执行上述方法实施例中的方法步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者任意组合来实现。当使用软件实现时,可以全部或者部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令,在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或其他可编程装置。所述计算机指令可存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网络站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、微波等)方式向另一个网络站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质,也可以是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带等)、光介质(例如DVD等)、或者半导体介质(例如固态硬盘)等等。
在上述实施例中,对各个实施例的描述各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
Claims (10)
1.一种编解码验证系统,其特征在于,包括:
编码模块,采用第一有时序逻辑模型,用于接收第一数据报文,对所述第一数据报文按照编码算法逻辑以及时序进行编码得到第一编码报文;
编码参考生成器,采用第一无时序逻辑模型,用于接收所述第一数据报文,对所述第一数据报文按照编码算法逻辑进行编码得到第一编码参考报文;
编码比较器,用于比较所述第一编码报文和所述第一编码参考报文,得到第一比较结果;
插错模块,用于对所述第一编码参考报文进行随机插错,得到差错报文;
解码模块,采用第二有时序逻辑模型,用于接收所述差错报文,对所述差错报文按照解码算法逻辑以及时序进行纠正以及解码,得到第一解码报文;
解码参考生成器,采用第二无时序逻辑模型,用于接收所述差错报文,对所述差错报文按照解码算法逻辑进行纠正以及解码,得到第一解码参考报文;
解码比较器,用于比较所述第一解码报文和所述第一解码参考报文,得到第二比较结果;
在所述第一比较结果为所述第一编码报文和所述第一编码参考报文相同的情况下,所述编码模块的编码算法逻辑以及时序确定均是正确的;
在所述第一比较结果为所述第一编码报文和所述第一编码参考报文相同,且,所述第二比较结果为所述第一解码报文和所述第一解码参考报文相同的情况下,所述解码模块的解码算法逻辑以及时序确定均是正确的。
2.根据权利要求1所述的系统,其特征在于,在所述第一比较结果为所述第一编码报文和所述第一编码参考报文不相同的情况下,所述编码模块的编码算法逻辑以及时序中的至少一个出现错误。
3.根据权利要求1所述的系统,其特征在于,在所述第一比较结果为所述第一编码报文和所述第一编码参考报文相同,所述第二比较结果为所述第一解码报文和所述第一解码参考报文不相同的情况下,所述解码模块的解码算法逻辑以及时序中的至少一个出现错误。
4.根据权利要求1所述的系统,其特征在于,所述差错报文中插入的插错字节的个数不大于解码算法的最大纠错个数。
5.根据权利要求1至4任一项所述的系统,其特征在于,所述第一编码报文和所述第一编码参考报文均包括多个块,每个块均包括数据段以及校验位段,所述编码比较器将所述第一编码报文和所述第一编码参考报文进行比较时,是将所述第一编码报文中的每个块和所述第一编码参考报文中的每个块进行逐块比较。
6.根据权利要求1至4任一项所述的系统,其特征在于,所述解码比较器将所述第一解码报文和所述第一解码参考报文进行比较时,是将整个第一解码报文和整个第一解码参考报文进行比较。
7.根据权利要求6所述的系统,其特征在于,所述第一解码报文和所述第一解码参考报文中均不包括校验位段。
8.一种编解码验证方法,其特征在于,包括:
通过编码模块接收第一数据报文,对所述第一数据报文按照编码算法逻辑以及时序进行编码得到第一编码报文,其中,所述编码模块采用第一有时序逻辑模型;
通过编码参考生成器接收所述第一数据报文,对所述第一数据报文按照编码算法逻辑进行编码得到第一编码参考报文,其中,所述编码参考生成器采用第一无时序逻辑模型;
通过编码比较器比较所述第一编码报文和所述第一编码参考报文,得到第一比较结果;
通过插错模块对所述第一编码参考报文进行随机插错,得到差错报文;
通过解码模块接收所述差错报文,对所述差错报文按照解码算法逻辑以及时序进行纠正以及解码,得到第一解码报文,其中,所述解码模块采用第二有时序逻辑模型;
通过解码参考生成器接收所述差错报文,对所述差错报文按照解码算法逻辑进行纠正以及解码,得到第一解码参考报文,其中,所述解码参考生成器采用第二无时序逻辑模型;
通过解码比较器比较所述第一解码报文和所述第一解码参考报文,得到第二比较结果;
在所述第一比较结果为所述第一编码报文和所述第一编码参考报文相同的情况下,所述编码模块的编码算法逻辑以及时序确定均是正确的;
在所述第一比较结果为所述第一编码报文和所述第一编码参考报文相同,且,所述第二比较结果为所述第一解码报文和所述第一解码参考报文相同的情况下,所述解码模块的解码算法逻辑以及时序确定均是正确的。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据权利要求8所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机设备上运行时使得所述计算机设备执行根据权利要求8所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310990910.8A CN116722954B (zh) | 2023-08-08 | 2023-08-08 | 一种编解码验证系统、方法、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310990910.8A CN116722954B (zh) | 2023-08-08 | 2023-08-08 | 一种编解码验证系统、方法、设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116722954A CN116722954A (zh) | 2023-09-08 |
CN116722954B true CN116722954B (zh) | 2023-10-20 |
Family
ID=87873777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310990910.8A Active CN116722954B (zh) | 2023-08-08 | 2023-08-08 | 一种编解码验证系统、方法、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116722954B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1138396A (zh) * | 1994-09-14 | 1996-12-18 | 艾利森公司 | 用于译码器最优化的方法和装置 |
CN101667887A (zh) * | 2009-09-02 | 2010-03-10 | 中兴通讯股份有限公司 | 编码方法及其装置、解码方法及其装置 |
CN114499767A (zh) * | 2022-04-14 | 2022-05-13 | 苏州联讯仪器有限公司 | 一种数据传输系统及其rs编码装置和方法 |
CN116527062A (zh) * | 2023-04-06 | 2023-08-01 | 开源网安物联网技术(武汉)有限公司 | 一种验证rs编解码电路功能的测试装置和方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7167531B2 (en) * | 2001-09-17 | 2007-01-23 | Digeo, Inc. | System and method for shared decoding using a data replay scheme |
US11770138B2 (en) * | 2020-04-08 | 2023-09-26 | Intel Corporation | Encoder and decoder of forward error correction (FEC) codec |
-
2023
- 2023-08-08 CN CN202310990910.8A patent/CN116722954B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1138396A (zh) * | 1994-09-14 | 1996-12-18 | 艾利森公司 | 用于译码器最优化的方法和装置 |
CN101667887A (zh) * | 2009-09-02 | 2010-03-10 | 中兴通讯股份有限公司 | 编码方法及其装置、解码方法及其装置 |
CN114499767A (zh) * | 2022-04-14 | 2022-05-13 | 苏州联讯仪器有限公司 | 一种数据传输系统及其rs编码装置和方法 |
CN116527062A (zh) * | 2023-04-06 | 2023-08-01 | 开源网安物联网技术(武汉)有限公司 | 一种验证rs编解码电路功能的测试装置和方法 |
Non-Patent Citations (1)
Title |
---|
802.16e标准中FEC编码技术研究;杨天扬;许卫东;黄建华;;铁路计算机应用(08);第50-54页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116722954A (zh) | 2023-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20150222292A1 (en) | Multi-bit error correction method and apparatus based on a bch code and memory system | |
WO2017194013A1 (zh) | 纠错编码方法及装置 | |
WO2018014529A1 (zh) | 一种编码方法、相关设备及系统 | |
CN108282265B (zh) | 纠错编码方法、装置、设备及计算机可读存储介质 | |
WO2023116245A1 (zh) | 发送方法、接收方法、装置、系统、设备及存储介质 | |
CN111143107A (zh) | 一种fpga单粒子反转校验电路和方法 | |
CN112702065B (zh) | Fpga码流数据校验方法及装置 | |
CN113489570B (zh) | 一种PCIe链路的数据传输方法、装置及设备 | |
US11184034B2 (en) | Method and device for decoding staircase code, and storage medium | |
US20240184665A1 (en) | Data processing method and apparatus | |
CN110896309B (zh) | Turbo乘积码的译码方法、装置、译码器及计算机存储介质 | |
CN116722954B (zh) | 一种编解码验证系统、方法、设备以及存储介质 | |
US7266760B1 (en) | Method and apparatus for calculating cyclic redundancy checks for variable length packets | |
WO2022199529A1 (zh) | 一种数据编码处理方法、装置、存储介质及电子装置 | |
CN110570171A (zh) | 交易池节点同步方法、电子设备和计算机可读存储介质 | |
CN113821370B (zh) | 一种用于数据传输错误校验的高速crc产生方法和装置 | |
CN111130695B (zh) | 通过冗余码字计算canopen协议crc的方法 | |
CN109213722B (zh) | 一种基于fpga的内存控制方法、装置、设备及介质 | |
US6941503B1 (en) | Method and apparatus for retaining error-control code protection across block-size discontinuities | |
US20240364455A1 (en) | Sending method, receiving method, apparatus, system, device, and storage medium | |
CN118467237B (zh) | 基于ldpc和ecc技术的固态硬盘纠错稳定方法、设备及介质 | |
WO2021061058A1 (en) | Noise and cyclic redundancy check aided list decoding of error correcting codes | |
CN110830166A (zh) | 联合检测译码方法、装置、计算机设备及存储介质 | |
CN116820832B (zh) | 一种用于高速数据传输的错误校验方法、介质及装置 | |
BR122020003959A2 (pt) | Método e aparelho de codificação |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |