CN112468161B - 一种rs高速编码电路 - Google Patents
一种rs高速编码电路 Download PDFInfo
- Publication number
- CN112468161B CN112468161B CN202011386791.8A CN202011386791A CN112468161B CN 112468161 B CN112468161 B CN 112468161B CN 202011386791 A CN202011386791 A CN 202011386791A CN 112468161 B CN112468161 B CN 112468161B
- Authority
- CN
- China
- Prior art keywords
- data
- coding
- module
- galois field
- calculation
- 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
- 238000012545 processing Methods 0.000 claims abstract description 14
- 238000004364 calculation method Methods 0.000 claims description 79
- 238000006243 chemical reaction Methods 0.000 claims description 22
- 238000004891 communication Methods 0.000 claims description 9
- 239000011159 matrix material Substances 0.000 claims description 8
- 238000013461 design Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 6
- 238000000034 method Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 239000013307 optical fiber Substances 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000010453 quartz Substances 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
为解决现有技术应用RS编码时编码效率低的技术问题,本发明提供了一种RS高速编码电路,包括输入仲裁模块、第一编码电路、第二编码电路、输出仲裁模块;第一编码电路、第二编码电路结构相同,二者之间通过输入仲裁模块和输出仲裁模块按照节拍、相互配合切换进行数据处理,实现RS编码。本发明对输入数据作并行化处理,将输入数据划分成并行的预定数目路数据,提高了电路编码效率;利用乒乓电路设计思想,提高了编码硬件电路时序;采用定乘数的伽罗华域乘法器,将伽罗华域乘法运算中输入数据符号与固定乘数的乘法形式,转换为输入数据符号自身进行不同位比特异或的形式,从而求积,该乘法器的使用节省了逻辑资源,提高了电路的最大工作频率。
Description
技术领域
本发明涉及光通信领域,具体涉及一种RS高速编码电路。
背景技术
随着高速光纤通信领域的迅猛发展,传输过程中产生的误码率也在增加,因此,人们一直致力于传输的稳定性以及高速性的研究。在数据传输的稳定性上面,通常采用FEC(Forword Error Correction,前向纠错编码)技术来提高传输的可靠性。
RS(Reed-Solomon)码是前向纠错码FEC的码类中非常重要的线性分组码。线性分组码由于编译码相对简单、译码延时固定、编解码结构相对稳定性能强等特点,不仅可以纠正随机差错,而且对突发错误的纠错能力也很强,最适用于光纤通信系统中。
现有技术应用RS编码时,通常采用串行编码的方法,其编码流程如图1所示,闭合开关K1,将K个信息符号dk-1,......d1、d0串行移入RS编码电路中,同时送入通信信道。一旦所有的信息符号全部移入RS编码电路中,经过运算存入n-k个寄存器D中的n-k个符号就构成了校验数据;闭合开关K2,以关闭反馈连接;顺序移出n-k个校验符号p0、p1,......pn-k-1到通信信道中。这n-k个校验符号p0、p1,......pn-k-1与之前的K个信息符号dk-1,......d1、d0共同构成了一个完整的码字。利用图1所示串行编码流程,每个时钟只能处理一个码字,编码效率低并且数据的吞吐率也低,不利于高速传输系统的实现。
发明内容
为解决现有技术应用RS编码时编码效率低的技术问题,本发明提供了一种RS高速编码电路。
本发明的技术方案是:
一种RS高速编码电路,其特殊之处在于:
包括输入仲裁模块、第一编码电路、第二编码电路、输出仲裁模块;第一编码电路、第二编码电路结构相同,二者之间通过输入仲裁模块和输出仲裁模块按照节拍、相互配合切换进行数据处理,实现RS编码;
假定输入RS高速编码电路的K个信息符号中每个符号的位宽为f,则输入RS高速编码电路的信码的总位宽为K·f;
输入仲裁模块将第一组K·f位数据分配到第一输入缓冲模块Fifo_in_1中,将第二组K·f位数据分配到第二输入缓冲模块Fifo_in_2中,将第三组K·f位数据分配到第一输入缓冲模块Fifo_in_1中,将第四组K·f位数据分配到第二输入缓冲模块Fifo_in_2中,如此交替分配,实现第一输入缓冲模块Fifo_in_1与第二输入缓冲模块Fifo_in_2的切换,进而将缓存的数据没有停顿的送往后续模块中进行数据编码处理;
第一编码电路包括第一输入缓存模块Fifo_in_1、第一位宽转换模块、第一编码计算模块Rs Encode_1和第一输出缓存模块Fifo_out_1;第一输入缓存模块Fifo_in_1将缓存的数据分别传输给第一位宽转换模块和第一输出缓存模块Fifo_out_1中;第一位宽转换模块用于将输入的每组数据进行数据并行化处理,转换为p路并行数据并送入第一编码计算模块Rs Encode_1中,且p路并行数据中的每一路数据大小均为symbol_size位,symbol_size为系统使用码字的符号位大小,其数值等于信息符号的位宽f;第一编码计算模块Rs_encode_1用于在每一个时钟周期内,对接收到的p路并行数据进行编码计算,每一路的待编码数据经过个时钟周期计算完成,最终生成(n-k)·f比特的RS校验码,并将其转换为个s比特的RS校验码送入第一输出缓存模块Fifo_out_1中;s为通信信道的数据位宽;
第一输出缓存模块Fifo_out_1将其存储的输入数据与其对应的RS校验码,在输出仲裁模块的控制下,将输入数据与校验码输出。
进一步地,第一编码计算模块Rs Encode_1包括计算模块一、计算模块二、具有计数功能的选择器和数据位宽转换模块Rs Tranform_66;
当选择器的计数值小于等于m时,采用计算模块一对p路并行数据进行编码计算,当选择器的计数值大于m时,采用计算模块二对p路并行数据进行编码计算;k为信码符号个数;/>表示/>的整数部分;
数据位宽转换模块Rs Tranform_66用于将计算模块二的输出数据,转换为个s比特的RS校验码,并送入第一输出缓存模块Fifo_out_1中。
进一步地,计算模块一包括p×(n-k)个第一伽罗华域乘法器、1个第一寄存器和1个第一加法器;
p×(n-k)个第一伽罗华域乘法器接收p路并行数据i_datain_0、i_datain_1,…,i_datain_p-1;
第1组的n-k个第一伽罗华域乘法器将p路并行数据中的第1路数据i_datain_0与Fp-1以及G相乘,并将相乘结果送入第一加法器;第2组的n-k个第一伽罗华域乘法器将p路并行数据中的第2路数据i_datain_1与Fp-2以及G相乘,并将相乘结果送入第一加法器;依次类推;第p组的n-k个第一伽罗华域乘法器用于将p路并行数据中的第p路数据i_datain_p与G相乘,并将相乘结果送入第一加法器;
第一伽罗华域乘法器用于将第一寄存器中的数值x(n)与Fp相乘,并将相乘结果送入第一加法器;x(n)的初始值为0;第一加法器将p×(n-k)个第一伽罗华域乘法器输出的相乘结果以及x(n)与Fp的相乘结果相加,将相加结果送入第一寄存器,用该相加结果更新第一寄存器中的x(n);
每进行一次并行p路数据的编码计算,即从编码计算开始计算的时刻起,选择器的计数值随时钟周期的更新而加1;
所述F为RS编码的生成多项式系数与常量组成的方阵;
所述G为RS编码的生成多项式系数组成的矩阵。
进一步地,计算模块二包括(n-k)个第二伽罗华域乘法器、1个第二寄存器和1个第二加法器;
第二伽罗华域乘法器用于将p路并行数据中的第一路数据i_datain_0作为last_datain与G相乘,并将相乘结果送入第二加法器;
第二伽罗华域乘法器还用于将第二寄存器中的数值x(n)与F相乘,并将相乘结果送入第二加法器;
第二加法器将第二伽罗华域乘法器输出的相乘结果以及x(n)与F的相乘相加,并将相加结果送入数据位宽转换模块Rs Tranform_66。
进一步地,第一伽罗华域乘法器与第二伽罗华域乘法器均为定乘数的伽罗华域乘法器。
与现有技术相比,本发明的优点是:
1.本发明对输入数据作并行化处理,将输入数据划分成并行的预定数目路数据,提高了电路编码效率。
2.本发明利用乒乓电路设计思想,提高编码硬件电路时序,使该电路最终工作频率可达到390.625Mhz。
3.采用定乘数的伽罗华域乘法器,将伽罗华域乘法运算中输入数据符号与固定乘数的乘法形式,转换为输入数据符号自身进行不同位比特异或的形式,从而求积,该乘法器的使用节省了逻辑资源,提高了电路的最大工作频率。
附图说明
图1为现有的RS串行编码电路示意图。
图2为通用型的RS高速编码电路结构图。
图3为本发明RS高速编码电路实施例的RS并行编码数学原理图。
图4为本发明RS高速编码电路实施例的电路图。
图5为图4中编码计算模块的电路图(以六路并行为例)。
图6为本发明具体实例的仿真结果对比图。
图7为本发明实例电路综合的时钟频率结果图。
具体实施方式
以下结合附图和实例对本发明作详细说明。
图2为通用的编码电路结构图。数据经过预处理模块,输出为编码计算模块所能处理的数据量,经过编码计算模块计算出RS校验码,然后输出给编码数据处理模块,最终由编码数据处理模块输出RS校验码。
图3为本发明所依据的RS并行编码数学原理图,图中第一个公式表示RS编码计算基于的数学原理。其中,g0、g1,...,gn-k-1表示该RS编码的生成多项式系数,x0(n)、x1(n),...,xn-k-1(n)表示每次编码计算中的状态变量,m(n)表示n时刻的输入数据。将RS编码的生成多项式系数组成的矩阵记为G,RS编码的生成多项式系数与常量组成的方阵记为F,则图中第一个公式可以简记为图中第二个公式。利用迭代计算的方法对多路并行RS编码算法进行设计,根据需求,设计出多倍并行RS编码计算算法,编码计算公式如图2中第三个公式。
如图4所示,本发明所提供的RS高速编码电路,包括输入仲裁模块、第一编码电路、第二编码电路、输出仲裁模块;第一编码电路、第二编码电路结构相同,二者之间通过输入仲裁模块和输出仲裁模块按照节拍、相互配合切换进行数据处理,实现RS编码。
第一编码电路包括第一输入缓存模块Fifo_in_1、第一位宽转换模块、第一编码计算模块Rs Encode_1和第一输出缓存模块Fifo_out_1。
第二编码电路包括第二输入缓存模块Fifo_in_2、第二位宽转换模块、第二编码计算模块Rs Encode_2和第二输出缓存模块Fifo_out_2。
假定输入RS高速编码电路的K个信息符号中每个符号的位宽为f,通信信道的数据位宽为s,则输入RS高速编码电路的信码的总位宽为K·f;
输入仲裁模块将第一组K·f位数据分配到第一输入缓冲模块Fifo_in_1中,将第二组K·f位数据分配到第二输入缓冲模块Fifo_in_2中,将第三组K·f位数据分配到第一输入缓冲模块Fifo_in_1中,将第四组K·f位数据分配到第二输入缓冲模块Fifo_in_2中,如此交替分配,实现第一输入缓冲模块Fifo_in_1与第二输入缓冲模块Fifo_in_2的切换,进而将缓存的数据没有停顿的送往后续模块中进行数据编码处理。
第一编码电路与第二编码电路的结构、原理完全相同,以下仅以第一编码电路为例进行详细说明。
第一编码电路的第一输入缓存模块Fifo_in_1将缓存的数据分别传输给第一位宽转换模块和第一输出缓存模块Fifo_out_1中。第一位宽转换模块用于将输入的每组数据进行数据并行化处理,转换为p路并行数据并送入第一编码计算模块Rs Encode_1中,且p路并行数据中的每一路数据大小均为symbol_size位,symbol_size为系统使用码字的符号位大小,其数值等于信息符号的位宽f。第一输出缓存模块Fifo_out_1暂时存储一组输入数据。
第一编码计算模块Rs_encode_1用于在每一个时钟周期内,对接收到的p路并行数据进行编码计算,每一路的待编码数据经过个时钟周期计算完成,最终生成(n-k)·f比特的RS校验码。由于生成的RS校验码数据为(n-k)个f比特的数据,因此,利用第一编码计算模块Rs_encode_1中的数据位宽转换模块Rs Tranform_66,将(n-k)个f比特的数据转换为个s比特的校验码数据。
如图5所示,第一编码计算模块Rs Encode_1包括计算模块一、计算模块二、具有计数功能的选择器和数据位宽转换模块Rs Tranform_66;当选择器的计数值小于等于m时,采用计算模块一对p路并行数据进行编码计算,当选择器的计数值大于m时,采用计算模块二对p路并行数据进行编码计算;k为信码符号个数;/>表示/>的整数部分。
计算模块一包括p×(n-k)个第一伽罗华域乘法器、1个第一寄存器和1个第一加法器;计算模块二包括(n-k)个第二伽罗华域乘法器、1个第二寄存器和1个第二加法器;
第一伽罗华域乘法器与第二伽罗华域乘法器均为定乘数的伽罗华域乘法器。
该乘法器的工作原理是:
将采用的伽罗华域记为GF(2θ),其本原多项式P(x)=xθ+xα+...+1,该域上元素的多项式表示形式为f(α)=aθ-1αθ-1+aθ-2αθ-2+...+a3α3+a2α2+a1α+a0,其中aθ-1,aθ-2,...,a3,a2,a1,a0均为自然数0或1,该域上的元素对应的二进制数表示形式为aθ-1aθ-2...a3a2a1a0,位宽为θ比特,θ的值即为上述K个信息符号中每个符号的位宽f。将该域上已知的乘数表示为f1(α)=bθ-1αθ-1+bθ-2αθ-2+...+b3α3+b2α2+b1α+b0,其对应的二进制数为bθ-1bθ-2...b3b2b1b0,由于乘数已知,因此bθ-1、bθ-2...b3、b2、b1、b0均可求出。将固定乘数f1(α)与任意元素f(α)相乘,利用伽罗华域乘法运算法则,得出其积f1(α)f(α)的表达式:
f(α)f1(α)=(aθ-1bθ-1)α2(θ-1)+(aθ-1bθ-2+aθ-2bθ-1)α2θ-3+...+(a1b0+a0b1)α+a0b0 (1)
由于式(1)中bθ-1,bθ-2,...,b1,b0均为已知,因此,式(1)中每项的系数均由非固定乘数f(α)每项的系数决定。又根据其本原多项式P(x)=xθ+xα+...+1,可得αθ=αα+...+1式(2),并且在伽罗华域中αθ+1=αθ·α,将该式与式(1)、
(2)结合,可以消掉式(1)中幂次数大于θ的项,得出其对应θ位二进制数的积的多项式表达式:
f(α)f1(α)=gθ-1(a)αθ-1+gθ-2(a)αθ-2+...+g1(a)α1+g0(a)α0,
其中,
由于bθ-1,bθ-2,...,b1,b0均为已知,因此式(4)中均可计算出,其积对应的θ位二进制数表示形式为gθ-1(a)gθ-2(a)...g1(a)g0(a),因此,由式(4)可知,可以将固定乘数的伽罗华域乘法运算形式转换为输入数据自身不同比特位异或的形式。
第一编码计算模块Rs Encode_1的工作过程和原理是:
步骤1:计算模块一的p×(n-k)个第一伽罗华域乘法器接收p路并行数据i_datain_0、i_datain_1,…,i_datain_p-1;
步骤2:第1组的n-k个第一伽罗华域乘法器将p路并行数据中的第1路数据i_datain_0与Fp-1以及G相乘,并将相乘结果送入第一加法器;第2组的n-k个第一伽罗华域乘法器将p路并行数据中的第2路数据i_datain_1与Fp-2以及G相乘,并将相乘结果送入第一加法器;第3组的n-k个第一伽罗华域乘法器将p路并行数据中的第3路数据i_datain_2与Fp-3以及G相乘,并将相乘结果送入第一加法器;依次类推;第p组的n-k个第一伽罗华域乘法器用于将p路并行数据中的第p路数据i_datain_p与G相乘,并将相乘结果送入第一加法器;
步骤3:第一伽罗华域乘法器将第一寄存器中的数值x(n)与Fp相乘,并将相乘结果送入第一加法器;x(n)的初始值为0;
步骤4:第一加法器将p×(n-k)个第一伽罗华域乘法器输出的相乘结果以及x(n)与Fp的相乘结果相加,将相加结果送入第一寄存器,用该相加结果更新第一寄存器中的x(n),此时对p路数据的第1次编码计算完成;
步骤5:每进行一次并行p路数据的编码计算,即从编码计算开始计算的时刻起,选择器的计数值随时钟周期的更新而加1,判断选择器的计数值是否大于m,若否,则返回步骤1进行下一次编码计算;若是,则计算模块一停止计算,并将当前第一寄存器内更新后的x(n)送入计算模块二的第二寄存器;
步骤6:第二伽罗华域乘法器将p路并行数据中的第一路数据i_datain_0作为last_datain与G相乘,并将相乘结果送入第二加法器;
步骤7:第二伽罗华域乘法器将第二寄存器中的数值x(n)与F相乘,并将相乘结果送入第二加法器;
步骤8:第二加法器将第二伽罗华域乘法器输出的相乘结果以及x(n)与F的相乘相加,并将相加结果送入数据位宽转换模块Rs Tranform_66;
步骤9:数据位宽转换模块Rs Tranform_66用于将计算模块二的输出数据,转换为个s比特的RS校验码,并送入第一输出缓存模块Fifo_out_1中。
步骤10:第一输出缓存模块Fifo_out_1中存储着输入数据与其对应的RS校验码,在输出仲裁模块的控制下,将数据与校验码输出编码器。
上述步骤中:
F为RS编码的生成多项式系数与常量组成的方阵;
G为RS编码的生成多项式系数组成的矩阵。
实施例:
本实例基于IEEE802.3协议,采用RS(1023,847)码组。根据相关技术需求,本实例的时序约束最高可以达到390.625MHZ。每组预定数目编码数据单元持续158个时钟周期,其中,有效数据持续130个时钟周期,空闲字符持续28个时钟周期,数据位宽为66比特。
图4为本实施例的RS并行编码数学原理图,,利用迭代计算的方法对多路并行RS编码算法进行设计,根据需求,设计出6倍并行RS编码计算算法,编码计算公式如图2中第三个公式。
图5为本实施例RS并行编码电路的结构框图。该电路具有乒乓结构。位宽为66比特的输入数据首先经过输入仲裁单元,在写时钟域下,等时选择数据写入第一输入缓存模块Fifo_in1或第二输入缓存模块Fifo_in2。在读时钟域下进行编码计算,按节拍与写操作相互配合从第一输入缓存模块Fifo_in1或第二输入缓存模块Fifo_in2中读出数据,既实现高速数据流的无缝衔接与处理,又实现了数据的跨时钟域传输。
第一位宽转换模块和第二位宽转换模块将输入的有效数据首先进行比特重排,然后进行6路并行化处理,之后,需要对每组待编码数据单元进行补零操作;比特重排的具体方法是:在130个时钟周期内,有效数据位宽为66比特,先将66比特的最低同步数据位去掉,然后将130个时钟周期的65比特数据拼接在一起;补零操作的具体方法是:在拼接好的数据前面添加20比特的全0数据,使其构成编码所需8470比特有效数据载荷。
第一编码计算模块Rs Encode_1和第二编码计算模块Rs Encode_2对6路输入数据进行并行化编码计算,每一个时钟周期中将并行60比特数据进行编码计算,每组待编码数据单元经过142个时钟周期计算完成,生成1760比特的RS校验码。
第一编码计算模块Rs Encode_1和第二编码计算模块Rs Encode_2生成每组RS校验码之前,还包括:每组待编码数据单元在前141个计算时钟周期中,采用并行6倍编码计算方式在计算模块一中进行计算;在进行142个计算时钟周期之后,由选择器切换数据通路,数据输入计算模块二进行并行1倍编码计算方式,该并行编码计算方式根据信息码比特数8470比特与计算过程中采用的6倍并行计算方式计算得来。
上述定乘数的伽罗华域乘法器在本实施例中的具体应用为:
RS(1023,847)编码器基于的伽罗华域是GF(210),采用的本原多项式为式p(x)=x10+x3+1(5),该域中元素的多项式表示形式为f(α)=a9α9+a8α8+a7α7+a6α6+a5α5+a4α4+a3α3+a2α2+a1α+a0(6),给定乘数的多项式表示形式为f1(α)=b9α9+b8α8+b7α7+b6α6+b5α5+b4α4+b3α3+b2α2+b1α+b0,求得其积的多项式表示形式为:
f(α)f1(α)=g9(a)α9+g8(a)α8+g7(a)α7+...+g2(a)α2+g1(a)α1+g0(a)
其中,gi(a)=ci9a9+c8 ia8+...c1 ia1+ci 0a0,i∈[0,9]
因此,两乘数的积的二进制表示形式为g9(a)g8(a)g7(a)...g2(a)g1(a)g0(a),则该乘法器的积的每一位均可由输入数据的不同比特位异或得出。
图6为实例的仿真结果对比图。将同一编码数据首先用软件Matlab计算其对应的RS编码,其校验码字见图6下部;然后将同一编码数据用电路进行仿真,得出其校验码字的计算结果如图6上部(部分结果),由图中校验码字起始部分开始比对,可见,RS(1023,847)编码器的逻辑功能是正确的。
图7为本实例的电路综合的时钟频率结果图。可见,选用英特尔stratix10芯片,并基于Quartus Prime Pro18.1逻辑综合工具进行综合,电路的最大时钟频率大于390.625Mhz,在数据接口宽度为66比特的情况下,达到25G/bits的数据吞吐率。
Claims (5)
1.一种RS高速编码电路,其特征在于:
包括输入仲裁模块、第一编码电路、第二编码电路、输出仲裁模块;第一编码电路、第二编码电路结构相同,二者之间通过输入仲裁模块和输出仲裁模块按照节拍、相互配合切换进行数据处理,实现RS编码;
假定输入RS高速编码电路的K个信息符号中每个符号的位宽为f,则输入RS高速编码电路的信码的总位宽为K·f;
输入仲裁模块将第一组K·f位数据分配到第一输入缓冲模块Fifo_in_1中,将第二组K·f位数据分配到第二输入缓冲模块Fifo_in_2中,将第三组K·f位数据分配到第一输入缓冲模块Fifo_in_1中,将第四组K·f位数据分配到第二输入缓冲模块Fifo_in_2中,如此交替分配,实现第一输入缓冲模块Fifo_in_1与第二输入缓冲模块Fifo_in_2的切换,进而将缓存的数据没有停顿的送往后续模块中进行数据编码处理;
第一编码电路包括第一输入缓存模块Fifo_in_1、第一位宽转换模块、第一编码计算模块Rs Encode_1和第一输出缓存模块Fifo_out_1;第一输入缓存模块Fifo_in_1将缓存的数据分别传输给第一位宽转换模块和第一输出缓存模块Fifo_out_1中;第一位宽转换模块用于将输入的每组数据进行数据并行化处理,转换为p路并行数据并送入第一编码计算模块Rs Encode_1中,且p路并行数据中的每一路数据大小均为symbol_size位,symbol_size为系统使用码字的符号位大小,其数值等于信息符号的位宽f;第一编码计算模块Rs_encode_1用于在每一个时钟周期内,对接收到的p路并行数据进行编码计算,每一路的待编码数据经过个时钟周期计算完成,最终生成(n-k)·f比特的RS校验码,并将其转换为/>个s比特的RS校验码送入第一输出缓存模块Fifo_out_1中;s为通信信道的数据位宽;
第一输出缓存模块Fifo_out_1将其存储的输入数据与其对应的RS校验码,在输出仲裁模块的控制下,将输入数据与校验码输出。
2.根据权利要求1所述的RS高速编码电路,其特征在于:
第一编码计算模块Rs Encode_1包括计算模块一、计算模块二、具有计数功能的选择器和数据位宽转换模块Rs Tranform_66;
当选择器的计数值小于等于m时,采用计算模块一对p路并行数据进行编码计算,当选择器的计数值大于m时,采用计算模块二对p路并行数据进行编码计算;k为信码符号个数;/>表示/>的整数部分;
数据位宽转换模块Rs Tranform_66用于将计算模块二的输出数据,转换为个s比特的RS校验码,并送入第一输出缓存模块Fifo_out_1中。
3.根据权利要求2所述的RS高速编码电路,其特征在于:
计算模块一包括p×(n-k)个第一伽罗华域乘法器、1个第一寄存器和1个第一加法器;
p×(n-k)个第一伽罗华域乘法器接收p路并行数据i_datain_0、i_datain_1,…,i_datain_p-1;
第1组的n-k个第一伽罗华域乘法器将p路并行数据中的第1路数据i_datain_0与Fp-1以及G相乘,并将相乘结果送入第一加法器;第2组的n-k个第一伽罗华域乘法器将p路并行数据中的第2路数据i_datain_1与Fp-2以及G相乘,并将相乘结果送入第一加法器;依次类推;第p组的n-k个第一伽罗华域乘法器用于将p路并行数据中的第p路数据i_datain_p与G相乘,并将相乘结果送入第一加法器;
第一伽罗华域乘法器用于将第一寄存器中的数值x(n)与Fp相乘,并将相乘结果送入第一加法器;x(n)的初始值为0;第一加法器将p×(n-k)个第一伽罗华域乘法器输出的相乘结果以及x(n)与Fp的相乘结果相加,将相加结果送入第一寄存器,用该相加结果更新第一寄存器中的x(n);
每进行一次并行p路数据的编码计算,即从编码计算开始计算的时刻起,选择器的计数值随时钟周期的更新而加1;
所述F为RS编码的生成多项式系数与常量组成的方阵;
所述G为RS编码的生成多项式系数组成的矩阵。
4.根据权利要求3所述的RS高速编码电路,其特征在于:
计算模块二包括(n-k)个第二伽罗华域乘法器、1个第二寄存器和1个第二加法器;
第二伽罗华域乘法器用于将p路并行数据中的第一路数据i_datain_0作为last_datain与G相乘,并将相乘结果送入第二加法器;
第二伽罗华域乘法器还用于将第二寄存器中的数值x(n)与F相乘,并将相乘结果送入第二加法器;
第二加法器将第二伽罗华域乘法器输出的相乘结果以及x(n)与F的相乘相加,并将相加结果送入数据位宽转换模块Rs Tranform_66。
5.根据权利要求3或4所述的RS高速编码电路,其特征在于:
第一伽罗华域乘法器与第二伽罗华域乘法器均为定乘数的伽罗华域乘法器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011386791.8A CN112468161B (zh) | 2020-12-01 | 2020-12-01 | 一种rs高速编码电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011386791.8A CN112468161B (zh) | 2020-12-01 | 2020-12-01 | 一种rs高速编码电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112468161A CN112468161A (zh) | 2021-03-09 |
CN112468161B true CN112468161B (zh) | 2023-09-22 |
Family
ID=74805220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011386791.8A Active CN112468161B (zh) | 2020-12-01 | 2020-12-01 | 一种rs高速编码电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112468161B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114157396A (zh) * | 2021-12-03 | 2022-03-08 | 江西洪都航空工业集团有限责任公司 | 一种rs编码器及rs编解码方法 |
CN114499767B (zh) * | 2022-04-14 | 2022-08-05 | 苏州联讯仪器有限公司 | 一种数据传输系统及其rs编码装置和方法 |
CN117254823B (zh) * | 2023-11-20 | 2024-03-15 | 苏州联讯仪器股份有限公司 | 一种并行rs编码方法、装置、系统及计算机存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5768296A (en) * | 1994-07-01 | 1998-06-16 | Quantum Corporation | ECC system supporting different-length Reed-Solomon codes whose generator polynomials have common roots |
JP2000124813A (ja) * | 1998-10-20 | 2000-04-28 | Texas Instr Japan Ltd | リードソロモン符号化装置およびその方法とリードソロモン復号装置およびその方法 |
CN104601179A (zh) * | 2014-12-12 | 2015-05-06 | 北京麓柏科技有限公司 | 一种存储系统纠删码编码、解码电路及编解码电路 |
CN109035233A (zh) * | 2018-07-24 | 2018-12-18 | 西安邮电大学 | 视觉注意力网络及工件表面缺陷检测方法 |
CN110380738A (zh) * | 2019-07-19 | 2019-10-25 | 广东省新一代通信与网络创新研究院 | 参数软件可配置的rs编码器ip核电路结构及其编码方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030192007A1 (en) * | 2001-04-19 | 2003-10-09 | Miller David H. | Code-programmable field-programmable architecturally-systolic Reed-Solomon BCH error correction decoder integrated circuit and error correction decoding method |
US10572189B2 (en) * | 2016-11-04 | 2020-02-25 | Sandisk Technologies Llc | Method and decoder to adjust an error locator polynomial based on an error parity |
-
2020
- 2020-12-01 CN CN202011386791.8A patent/CN112468161B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5768296A (en) * | 1994-07-01 | 1998-06-16 | Quantum Corporation | ECC system supporting different-length Reed-Solomon codes whose generator polynomials have common roots |
JP2000124813A (ja) * | 1998-10-20 | 2000-04-28 | Texas Instr Japan Ltd | リードソロモン符号化装置およびその方法とリードソロモン復号装置およびその方法 |
CN104601179A (zh) * | 2014-12-12 | 2015-05-06 | 北京麓柏科技有限公司 | 一种存储系统纠删码编码、解码电路及编解码电路 |
CN109035233A (zh) * | 2018-07-24 | 2018-12-18 | 西安邮电大学 | 视觉注意力网络及工件表面缺陷检测方法 |
CN110380738A (zh) * | 2019-07-19 | 2019-10-25 | 广东省新一代通信与网络创新研究院 | 参数软件可配置的rs编码器ip核电路结构及其编码方法 |
Non-Patent Citations (2)
Title |
---|
RS编码算法的优化与FPGA实现;李锦明;刘梦欣;成乃朋;;电子技术应用(第02期);全文 * |
基于重归一化的CABAC算法改进;商世广;桂新翔;;信息技术(第09期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112468161A (zh) | 2021-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112468161B (zh) | 一种rs高速编码电路 | |
JP5329239B2 (ja) | 通信システムのための多体ベース符号の生成器および復号化器 | |
US7219293B2 (en) | High performance CRC calculation method and system with a matrix transformation strategy | |
US5440570A (en) | Real-time binary BCH decoder | |
US20100017676A1 (en) | Decoding of linear codes with parity check matrix | |
JP4124893B2 (ja) | インターレーサ、符号化装置、置換方法、符号化方法、復号化装置およびその方法、これらを使ったシステム | |
TW297190B (zh) | ||
US8700971B2 (en) | Parallel residue arithmetic operation unit and parallel residue arithmetic operating method | |
WO2007132656A1 (ja) | 誤り訂正符号化方法及び装置 | |
Wachter-Zeh et al. | Decoding interleaved Reed–Solomon codes beyond their joint error-correcting capability | |
CN101834615B (zh) | 里德-索罗蒙编码器实现方法 | |
CN112468160B (zh) | 一种基于钱搜索算法和福尼算法的并行电路 | |
Zhang et al. | Fast factorization architecture in soft-decision Reed-Solomon decoding | |
US7694207B1 (en) | Method of decoding signals having binary BCH codes | |
JP2694792B2 (ja) | 誤り位置多項式演算回路 | |
CN117014017A (zh) | 一种基于高位宽数据计算多项式除法余数的crc计算方法 | |
KR100874484B1 (ko) | 준순환 저밀도 패리티 검사 부호화 방법 및 장치 | |
CN100417031C (zh) | 宽带无线接入系统中里德索洛门卷积级联码的实现方法 | |
US20050066257A1 (en) | Parallelized CRC calculation method and system | |
Zhang et al. | Generalized backward interpolation for algebraic soft-decision decoding of Reed-Solomon codes | |
CN101741397A (zh) | Rs译码装置及其使用的关键多项式求解装置 | |
Zhang et al. | Low-complexity transformed encoder architectures for quasi-cyclic nonbinary LDPC codes over subfields | |
US9032277B1 (en) | Parallel low and asymmetric rate Reed Solomon coding | |
CN117254823B (zh) | 一种并行rs编码方法、装置、系统及计算机存储介质 | |
CN114726383B (zh) | 一种基于crc-16的高吞吐量并行循环冗余校验的方法 |
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 |