CN101695002B - 一种基于理德-所罗门码的编码电路 - Google Patents
一种基于理德-所罗门码的编码电路 Download PDFInfo
- Publication number
- CN101695002B CN101695002B CN 200910035754 CN200910035754A CN101695002B CN 101695002 B CN101695002 B CN 101695002B CN 200910035754 CN200910035754 CN 200910035754 CN 200910035754 A CN200910035754 A CN 200910035754A CN 101695002 B CN101695002 B CN 101695002B
- Authority
- CN
- China
- Prior art keywords
- gate
- output
- input
- addend
- coding circuit
- 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
Landscapes
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本发明涉及一种基于理德-所罗门码的编码电路,通过在乘法器、加法器、寄存器的输入端增加选通器切换编/解码工作模式,从而复用编/解码工作时的乘法器、加法器和寄存器,显著地节约了硬件逻辑资源。
Description
技术领域
本发明涉及一种编码电路,具体涉及一种基于理德-所罗门码的编码电路,属于数据存储领域。
背景技术
基于符号编码和纠错的理德-所罗门码(Reed-Solomon,简写“RS”),可以纠正数据中多个随机错。设基于理德-所罗门码的ECC控制器可纠错符号个数为t,在RS(n,k)***中,n表示原始数据和ECC码的总符号数,k表示原始数据包含的符号数。生成多项式为:g(x)=(x-α0)(x-α1)(x-α2)(x-α3)……(x-α2t-2)(x-α2t-1)=x2t+g2t-1x2t-1+g2t-2x2t-2+g2t-3x2t-3+...+g3x3+g2x2+g1x+g0,在编码中,编码信息m(x)移位后对g(x)求余得到的余式r(x)即为该信息的ECC码:
r(x)=x2tm(x)/g(x)
编码后的信息为n(x)={m(x),r(x)};
由附图1、2可知,在解码中,接收到的信息为n*(x),n*(x)对g(x)求余得到的余式S(x)即为伴随式,当没有错误符号时,n*(x)=n(x),解码信息n*(x)对g(x)求余得到的余式为0;当接收到的信息存在错误符号时,n*(x)≠n(x),解码信息n*(x)对g(x)求余得到的余式不为0,即伴随式S(x)≠0。如果解码信息n*(x)可以被生成多项式g(x)整除,就一定可以被组成g(x)的各个因子(x-αi)整除,这里i=0......2t-1。所以可以通过n*(x)对(x-αi)求余的方法在2t个除法运算后得到2t个伴随式系数s0~s2t-1。
在已知伴随式系数的前提下,可以得到伴随式S(x)=s2t-1x2t-1+s2t-2x2t-2+s2t-3x2t-3+...+s3x3+s2x2+s1x+s0,根据伴随式S(x)计算错误位置多项式L(x)和错误值多项式W(x),根据错误位置多项式L(x)和错误值多项式W(x),计算出错误符号位置和用于对错误符号进行纠错运算的纠错码。
现有技术中,编码电路,用于对原始数据进行编码生成ECC码部分的电路结构如附图1所示,xi为输入的编码符号,当所有的k个编码符号全部输入完成后,第一个寄存器至第2t个寄存器存储的e0~e2t-1即为2t个ECC码符号,g0~g2t-1为生成多项式g(x)的系数。完成k个符号的信息的编码需要2t个寄存器,2t个乘法器和2t个加法器。
用于对接收到的信息进行解码生成伴随式S(x)的电路结构如附图2所示,xi为输入的解码符号,当n个解码符号全部输入后,图中s0~s2t-1即为生成的伴随式系数。a0~a2t-1对应GF域中α0~α2t-1的值。由附图2可知,完成n个符号的信息的解码需要2t个寄存器,2t个乘法器和2t个加法器。
因此,要完成RS编码器和伴随式的求解需要4t个加法器,4t个乘法器和4t个寄存器,这样的电路结构在硬件上复杂,成本较高,尤其在纠错的数目特别多时,逻辑器件成倍的增加,不利于器件的小型化。
发明内容
本发明解决的技术问题是克服现有技术硬件上复杂,成本较高的问题,提供一种结构简单、芯片面积小,从而降低了成本的编码电路。
为达到上述目的,本发明采用的技术方案是:一种基于理德-所罗门码的编码电路,该编码电路可纠错符号个数为t个,该编码电路由第一编码电路单元、第二编码电路单元、......、第n编码电路单元、......至第2t编码电路单元组成,其中n、t均为正整数,且1<n≤2t,所述2t个编码电路单元依次串联构成具有2t级的编码电路。
所述第一编码电路单元主要由第一加法器、第一乘法器、第一寄存器、用于选择常数值的第一常数选通器和用于选择寄存器输出值的第一加数1选通器组成,其中,所述第一加法器包括两个输入端和一个输出端,第一乘法器包括两个输入端和一个输出端,第一常数选通器包括两个输入端和一个输出端,第一加数1选通器包括两个输入端和一个输出端;所述第一加法器的两个输入端一个用于接收编码数据或解码数据,另一个连接到第一加数1选通器的输出端,第一加法器的输出端与第一乘法器的一个输入端连接,第一乘法器的另一个输入端连接到第一常数选通器的输出端,第一常数选通器的两个输入端一个用于输入编码模式的常数,另一个用于输入解码模式的常数,第一乘法器的输出端连接到第一寄存器的输入端,第一寄存器的输出端与第一加数1选通器的一个输入端连接,第一加数1选通器的另一个输入端接收第2t编码电路单元的输出。
所述第二编码电路单元至第2t编码电路单元的电路结构相同,均用第n编码电路单元来表示。
所述第n编码电路单元主要由第n加法器、第n乘法器、第n寄存器、第n寄存器选通器、第n常数选通器、第n乘数选通器、第n加数1选通器和第n加数2选通器组成,其中,所述第n加法器包括两个输入端和一个输出端,第n乘法器包括两个输入端和一个输出端,第n寄存器选通器包括两个输入端和一个输出端,第n常数选通器包括两个输入端和一个输出端,第n乘数选通器包括两个输入端和一个输出端,第n加数1选通器包括两个输入端和一个输出端,第n加数2选通器包括两个输入端和一个输出端;所述第n加法器的两个输入端一个连接到第n加数1选通器的输出端,另一个连接到第n加数2选通器的输出端,第n加法器的输出端与第n寄存器选通器的一个输入端和第n乘数选通器的一个输入端连接,第n乘数选通器的另一个输入端与上一级编码电路单元中第n-1加法器的输出端连接;所述第n乘法器的两个输入端一个连接到第n常数选通器的输出端,另一个连接到用于选择伴随式系数的第n乘数选通器的输出端,第n乘法器的输出端与第n寄存器选通器的另一个输入端和第n加数2选通器的一个输入端连接,第n加数2选通器的另一个输入端接收编码数据或解码数据;所述第n寄存器的输入端与第n寄存器选通器的输出端连接,第n寄存器的输出端与第n加数1选通器的一个输入端和下一级编码电路单元中第n+1加数1选通器的一个输入端连接,第n加数1选通器的另一个输入端与上一级编码电路单元中第n-1寄存器的输出端连接;第n常数选通器的两个输入端一个用于输入编码模式的常数,另一个用于输入解码模式的常数。
本发明工作原理是:通过在乘法器、加法器、寄存器的输入端增加选通器切换编/解码工作模式,复用编/解码工作时的乘法器、加法器和寄存器,从而显著的节约了硬件逻辑资源。
由于上述技术方案运用,本发明与现有技术相比在编码和解码处理时复用了寄存器、乘法器和加法器单元,显著的节约了硬件逻辑资源,例如在0.18μm工艺下,纠错个数t=3时,本发明的编码电路在实现编码和伴随式计算的前提下,芯片面积减少了大约45%。
附图说明
附图1为现有技术编码电路图;
附图2为现有技术解码电路图;
附图3为本发明编码电路结构图。
具体实施方式
下面结合附图及实施例对本发明作进一步描述:
实施例:一种基于理德-所罗门码的编码电路
如附图3所示,该编码电路可纠错符号个数为t个,其特征在于:该编码电路由第一编码电路单元、第二编码电路单元、......、第n编码电路单元、......至第2t编码电路单元组成,其中n、t均为正整数,且1<n≤2t,所述2t个编码电路单元依次串联构成具有2t级的编码电路。
所述第一编码电路单元,第一加法器1、第一乘法器1、第一寄存器1、用于选择常数值的第一常数选通器1和用于选择寄存器输出值的第一加数1选通器1组成,其中,所述第一加法器1包括两个输入端和一个输出端,第一乘法器1包括两个输入端和一个输出端,第一常数选通器1包括两个输入端和一个输出端,第一加数1选通器包括两个输入端和一个输出端;所述第一加法器1的两个输入端一个用于接收编码数据或解码数据,另一个连接到第一加数1选通器1的输出端,第一加法器1的输出端与第一乘法器1的一个输入端连接,第一乘法器1的另一个输入端连接到第一常数选通器1的输出端,第一常数选通器1的两个输入端一个用于输入编码模式的常数,另一个用于输入解码模式的常数,第一乘法器1的输出端连接到第一寄存器1的输入端,第一寄存器1的输出端与第一加数1选通器1的一个输入端连接,第一加数1选通器1的另一个输入端接收第2t编码电路单元2t的输出;
所述第二编码电路单元至第2t编码电路单元的电路结构相同,均用第二编码电路单元来表示;
所述第二编码电路单元主要由第二加法器2、第二乘法器2、第二寄存器2、第二寄存器选通器2、第二常数选通器2、第二乘数选通器2、第二加数1选通器2和第二加数2选通器2组成,其中,所述第二加法器2包括两个输入端和一个输出端,第二乘法器2包括两个输入端和一个输出端,第二寄存器选通器2包括两个输入端和一个输出端,第二常数选通器2包括两个输入端和一个输出端,第二乘数选通器2包括两个输入端和一个输出端,第二加数1选通器2包括两个输入端和一个输出端,第二加数2选通器2包括两个输入端和一个输出端;所述第二加法器2的两个输入端一个连接到第二加数1选通器2的输出端,另一个连接到第二加数2选通器2的输出端,第二加法器2的输出端与第二寄存器选通器2的一个输入端和第二乘数选通器2的一个输入端连接,第二乘数选通器2的另一个输入端与上一级编码电路单元中第1加法器1的输出端连接;所述第二乘法器2的两个输入端一个连接到第二常数选通器2的输出端,另一个连接到用于选择伴随式系数的第二乘数选通器2的输出端,第二乘法器2的输出端与第二寄存器选通器2的另一个输入端和第二加数2选通器2的一个输入端连接,第二加数2选通器2的另一个输入端接收编码数据或解码数据;所述第二寄存器2的输入端与第二寄存器选通器2的输出端连接,第二寄存器2的输出端与第二加数1选通器2的一个输入端和下一级编码电路单元中第三加数1选通器3的一个输入端连接,第二加数1选通器2的另一个输入端与上一级编码电路单元中第一寄存器1的输出端连接;第二常数选通器2的两个输入端一个用于输入编码模式的常数,另一个用于输入解码模式的常数。
该编码电路的选通器按其功能又分为5类:常数选通器、乘数选通器、加数1选通器、加数2选通器和寄存器选通器。常数选通器用来选择输入到乘法器的常数值,其中g0~g2t-1为生成多项式g(x)的系数,g(x)=(x-α0)(x-α1)(x-α2)(x-α3)……(x-α2t-2)(x-α2t-1)=x2t+g2t-1x2t-1+g2t-2x2t-2+g2t-3x2t-3+...+g3x3+g2x2+g1x+g0;a0~a2t-1对应GF域中α0~α2t-1的值,工作在编码状态时,常数选通器输出g0~g2t-1;工作在解码状态时,常数选通器输出a0~a2t-1;输入乘法器的另一个值是通过乘数选通器实现的,编码状态时,乘数选通器输出s0,s0为输入符号xi与加数1选通器1的输出数据经过加法器1运算后输出的值;解码状态时,乘数选通器输出s0~s2t-1,s0~s2t-1为加法器1~加法器2t的输出数据,所以在第一级运算中,省略了乘数选通器,因为无论当前是编码还是解码状态,该乘数选通器都输出s0;加数1选通器用来选择加法器的第一个加数,编码状态时,输出前一级寄存器的值,解码状态时,输出本级寄存器的值;加数2选通器用来选择加法器的第二个加数,针对第一级运算而言,无论当前是编码还是解码状态,加数2选通器都输出当前的输入符号xi,所以可以在第一级运算中省略掉加数2选通器,对其它级运算而言,当工作在编码状态时,加数2选通器输出本级乘法器的输出值;当工作在解码状态时,加数2选通器输出当前的输入符号xi;寄存器选通器用来选择各级寄存器的输入数据,针对第一级运算而言,无论当前是编码还是解码状态,寄存器选通器都输出本级乘法器的输出数据,所以可以在第一级运算中省略掉寄存器选通器,对其它级运算而言,当工作在编码状态时,寄存器选通器输出本级加法器的输出值;当工作在解码状态时,寄存器选通器输出本级乘法器的输出值。
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。
Claims (1)
1.一种基于理德-所罗门码的编码电路,该编码电路可纠错符号个数为t个,其特征在于:该编码电路由第一编码电路单元、第二编码电路单元、......、第n编码电路单元、......至第2t编码电路单元组成,其中n、t均为正整数,且1<n<2t,所述2t个编码电路单元依次串联构成具有2t级的编码电路;
所述第一编码电路单元主要由第一加法器、第一乘法器、第一寄存器、用于选择常数值的第一常数选通器和用于选择寄存器输出值的第一加数1选通器组成,其中,所述第一加法器包括两个输入端和一个输出端,第一乘法器包括两个输入端和一个输出端,第一常数选通器包括两个输入端和一个输出端,第一加数1选通器包括两个输入端和一个输出端;所述第一加法器的两个输入端一个用于接收编码数据或解码数据,另一个连接到第一加数1选通器的输出端,第一加法器的输出端与第一乘法器的一个输入端连接,第一乘法器的另一个输入端连接到第一常数选通器的输出端,第一常数选通器的两个输入端一个用于输入编码模式的常数,另一个用于输入解码模式的常数,第一乘法器的输出端连接到第一寄存器的输入端,第一寄存器的输出端与第一加数1选通器的一个输入端连接,第一加数1选通器的另一个输入端接收第2t编码电路单元的输出;
所述第二编码电路单元至第2t编码电路单元的电路结构相同,均用第n编码电路单元来表示;
所述第n编码电路单元主要由第n加法器、第n乘法器、第n寄存器、第n寄存器选通器、第n常数选通器、第n乘数选通器、第n加数1选通器和第n加数2选通器组成,其中,所述第n加法器包括两个输入端和一个输出端,第n乘法器包括两个输入端和一个输出端,第n寄存器选通器包括两个输入端和一个输出端,第n常数选通器包括两个输入端和一个输出端,第n乘数选通器包括两个输入端和一个输出端,第n加数1选通器包括两个输入端和一个输出端,第n加数2选通器包括两个输入端和一个输出端;所述第n加法器的两个输入端一个连接到第n加数1选通器的输出端,另一个连接到第n加数2选通器的输出端,第n加法器的输出端与第n寄存器选通器的一个输入端和第n乘数选通器的一个输入端连接,第n乘数选通器的另一个输入端与上一级编码电路单元中第n-1加法器的输出端连接;所述第n乘法器的两个输入端一个连接到第n常数选通器的输出端,另一个连接到用于选择伴随式系数的第n乘数选通器的输出端,第n乘法器的输出端与第n寄存器选通器的另一个输入端和第n加数2选通器的一个输入端连接,第n加数2选通器的另一个输入端接收编码数据或解码数据;所述第n寄存器的输入端与第n寄存器选通器的输出端连接,第n寄存器的输出端与第n加数1选通器的一个输入端和下一级编码电路单元中第n+1加数1选通器的一个输入端连接,第n加数1选通器的另一个输入端与上一级编码电路单元中第n-1寄存器的输出端连接;第n常数选通器的两个输入端一个用于输入编码模式的常数,另一个用于输入解码模式的常数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910035754 CN101695002B (zh) | 2009-10-13 | 2009-10-13 | 一种基于理德-所罗门码的编码电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910035754 CN101695002B (zh) | 2009-10-13 | 2009-10-13 | 一种基于理德-所罗门码的编码电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101695002A CN101695002A (zh) | 2010-04-14 |
CN101695002B true CN101695002B (zh) | 2013-07-10 |
Family
ID=42093949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910035754 Active CN101695002B (zh) | 2009-10-13 | 2009-10-13 | 一种基于理德-所罗门码的编码电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101695002B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102354535A (zh) * | 2011-08-04 | 2012-02-15 | 记忆科技(深圳)有限公司 | 逻辑单元复用*** |
CN108665940B (zh) * | 2018-05-14 | 2020-09-04 | 联芸科技(杭州)有限公司 | Ecc编码电路、解码电路以及存储器控制器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1820418A (zh) * | 2003-07-09 | 2006-08-16 | 汤姆森特许公司 | 里德-所罗门乘积码的错误校正方法 |
CN1849750A (zh) * | 2004-01-15 | 2006-10-18 | 桑德布里奇技术公司 | 里得-所罗门编码和解码方法 |
CN101478314A (zh) * | 2008-01-03 | 2009-07-08 | 中兴通讯股份有限公司 | 一种里德-所罗门编码译码器及其译码的方法 |
-
2009
- 2009-10-13 CN CN 200910035754 patent/CN101695002B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1820418A (zh) * | 2003-07-09 | 2006-08-16 | 汤姆森特许公司 | 里德-所罗门乘积码的错误校正方法 |
CN1849750A (zh) * | 2004-01-15 | 2006-10-18 | 桑德布里奇技术公司 | 里得-所罗门编码和解码方法 |
CN101478314A (zh) * | 2008-01-03 | 2009-07-08 | 中兴通讯股份有限公司 | 一种里德-所罗门编码译码器及其译码的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101695002A (zh) | 2010-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103888148B (zh) | 一种动态阈值比特翻转的ldpc码硬判决译码方法 | |
CN108809506B (zh) | 一种编码方法及装置 | |
EA031465B1 (ru) | Способ обработки сигнала (варианты), модуль перемежения битов и процессор сигналов | |
US20240259035A1 (en) | Rate matching method and apparatus for polar code | |
RU2007105746A (ru) | Устройство и способ кодирования-декодирования блочного кода проверки на честность с низкой плотностью с переменной длиной блока | |
CN102611460A (zh) | Ldpc解码器的有效存储的实现 | |
CN103023518A (zh) | 一种基于并行编码译码的循环汉明码的纠错方法 | |
Freudenberger et al. | Reduced complexity hard‐and soft‐input BCH decoding with applications in concatenated codes | |
CN101695002B (zh) | 一种基于理德-所罗门码的编码电路 | |
CN100589359C (zh) | 一种里德索罗蒙码的译码方法及装置 | |
KR20100008849A (ko) | 통신 시스템에서 순환중복검사 방법 및 장치 | |
US9350390B2 (en) | Encoder, decoder and semiconductor device including the same | |
WO2018149354A1 (zh) | 极化码的编码方法、装置及设备、存储介质 | |
CN101697490B (zh) | 一种应用在基于理德-所罗门码的ecc模块上的解码方法 | |
CN103401566A (zh) | 参数化的bch纠错码的并行编码方法及装置 | |
CN115632662B (zh) | 一种rs译码中的伴随式计算方法、装置、设备及介质 | |
CN111371465B (zh) | Ldpc码字的比特交织方法、***与介质 | |
KR102159242B1 (ko) | 송신 장치 및 그의 신호 처리 방법 | |
CN102801432A (zh) | 一种多进制ldpc的串行fht-bp译码方法及装置 | |
JPH08293802A (ja) | インターリーブ式誤り訂正方法 | |
CN103138769B (zh) | 一种具有不等错误保护的编码方法 | |
CN105577196A (zh) | 基于宽带OFDM电力线通信***的Turbo码数据交织方法和交织器 | |
Qamar et al. | An efficient encoding algorithm for (n, k) binary cyclic codes | |
CN110784287B (zh) | Ldpc码字的交织映射方法及解交织解映射方法 | |
CN105099615B (zh) | Ldpc码字的交织映射方法及解交织解映射方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: Room C2031, Suzhou Pioneer Park, 209 Zhuyuan Road, Suzhou High-tech Zone, Jiangsu Province Patentee after: Suzhou Guoxin Technology Co., Ltd. Address before: Room C2031, Suzhou Pioneer Park, 209 Zhuyuan Road, Suzhou High-tech Zone, Jiangsu Province Patentee before: C*Core Technology (Suzhou) Co., Ltd. |