CN100384116C - 一种高速译码芯片 - Google Patents

一种高速译码芯片 Download PDF

Info

Publication number
CN100384116C
CN100384116C CNB2005100597140A CN200510059714A CN100384116C CN 100384116 C CN100384116 C CN 100384116C CN B2005100597140 A CNB2005100597140 A CN B2005100597140A CN 200510059714 A CN200510059714 A CN 200510059714A CN 100384116 C CN100384116 C CN 100384116C
Authority
CN
China
Prior art keywords
xor
circuit
tab
data
dab
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.)
Expired - Fee Related
Application number
CNB2005100597140A
Other languages
English (en)
Other versions
CN1841982A (zh
Inventor
陈晓敏
张玉良
石俊峰
孙辉先
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Space Science Center of CAS
Original Assignee
National Space Science Center of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National Space Science Center of CAS filed Critical National Space Science Center of CAS
Priority to CNB2005100597140A priority Critical patent/CN100384116C/zh
Publication of CN1841982A publication Critical patent/CN1841982A/zh
Application granted granted Critical
Publication of CN100384116C publication Critical patent/CN100384116C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明涉及一种符合CCSDS标准的RS码译码芯片。该译码芯片包括解交错电路、数据输入电路、计算校验子电路、求解关键方程电路、钱搜索电路、获取错误值电路、纠正错误电路和延时电路;求解关键方程电路根据所获得的校验子和RiBM算法来求取译码过程所需要的错误位置多项式和错误值多项式;获取错误值电路根据变形的Forney算法求取输入数据所发生错误的错误值并输出;本发明的各部分运算电路采用有限域中进行的基本运算电路,包括有限域中加法运算的电路、有限域中乘法运算的电路和有限域中除法运算的电路。本发明提供的RS码译码芯片数据通过率高、纠正突发错误能力强,可满足深空探测的要求。

Description

一种高速译码芯片
技术领域
本发明涉及一种译码芯片,特别是涉及一种符合CCSDS(ConsultativeCommittee for Space Data Systems,简称CCSDS)标准、用于深空探测中的高速RS(Reed-Solomon简称RS)码译码芯片。
背景技术
CCSDS标准定义了在深空探测中对空间遥测和工程数据进行保护的信道编码。该标准定义了在深空探测中常用的(255,223)RS码的域生成多项式和码生成多项式。在深空探测中,往往需要传输大量珍贵的遥测数据和工程数据,或者需要实时地传送清晰的动态图像数据。使用符合CCSDS标准的RS纠错码技术,可以确保所传送数据的可靠性。但是,由于RS码自身的特点,其译码方法本身比较复杂,译码方法的工程实现也比较困难,致使工程成本较高,且难以达到理想的译码速度。所以,一种RS码的译码器能否工程实现以及工程实现的代价和效果,往往成为该RS码译码器是否实用的决定因素,使得RS码译码器的工程实现成为工程技术人员研究和实践的焦点。
目前,Xilinx公司和法国MATRA MARCONI公司可以生产满足CCSDS标准的(255,223)RS码的硬件译码芯片。但是,在译码的过程中,Xilinx公司的译码芯片的两个输入码块之间的时间间隔不少于405个时钟周期。法国MATRA MARCONI公司生产的译码芯片的最大数据通过率也不超过100Mbits/s。所以,减少输入码块之间的间隔时钟周期和提高译码芯片的数据通过率是译码芯片工程实现的迫切要求。
发明内容
本发明的目的是提供一种符合CCSDS标准的高速RS码译码芯片,该芯片能够对按照CCSDS标准关于遥测信道编码中的RS码的建议来编码的数据进行准确的高速译码,利用该译码芯片可以实时地获得满足要求的传输数据。
为了达到上述目的,本发明采取的技术方案如下:
本发明的译码芯片,如图1所示,包括数据输入电路1、计算校验子电路2、求解关键方程电路3、钱搜索电路4、获取错误值电路5、纠正错误电路7顺序串连连接,译码后的数据由所述纠正错误电路7输出;
所述数据输入电路1用于控制数据的输入,其输出为两路数据,一路是经过二元域表示到复合域表示的域变换进入计算校验子电路2的数据,另一路数据直接进入延时电路8进行缓存后输出给纠正错误电路7;
所述计算校验子电路2,用于计算输入数据的校验子;
所述求解关键方程电路3用于根据所获得的校验子和RiBM(Reformulatedinversionless Berlekamp-Massey,简称RiBM)算法来求取译码过程所需要的错误位置多项式和错误值多项式;
所述钱搜索电路4用于求解错误位置多项式的根和在相应根下错误值多项式的值,同时对输出结果进行复合域表示到二元域表示的变换;
所述获取错误值电路5用于根据变形的Forney算法求取输入数据所发生错误的错误值并输出;
所述纠正错误电路7用于通过缓存于延时电路(8)中的数据与所述获取错误值电路5输出的错误值之间的异或运算来输出被译码数据的正确结果和该译码数据的错误情况;
所述延时电路8用于把输入数据缓存于实现芯片中,待获取错误值电路5中的错误值计算完成后,把数据输入到纠正错误电路7中;
所述二元域表示到复合域表示的域变换是指把GF(28)域元素变换成用GF(24)域元素表示的复数形式,进而GF(28)域的乘法运算可以转化为GF(24)域的乘法运算,用于整个译码芯片译码速度的提高和资源使用的优化;
在上述的技术方案中,各部分运算电路采用有限域中进行的基本运算电路,包括有限域中加法运算的电路、有限域中乘法运算的电路和有限域中除法运算的电路;
所述的有限域中加法运算的电路设计是指:需要相加的两个码符号在同位上进行异或;
所述的有限域中乘法运算的电路设计是指:设A,B是GF(28)域中的元素,用GF(24)中的元素表示为a(x)=a03+xa47,b(x)=b03+xb47,所以 a ( x ) ⊗ b ( x ) = a ( x ) b ( x ) mod P(x)=[a03b03+w14a47b47]+x[(a03+a47)(b03+b47)+a03b47],其中P(x)=x2+x+w14,a03、a47、b03、b47以及w14均为GF(24)中的元素,同时GF(24)的域生成多项式为G(x)=x4+x+1,w为G(x)的本原元。
设已经经过复合域变换需要进行乘法运算的码符号为a=(a7,a6,a5,a4,a3,a2,a1,a0),其中a7,a6,a5,a4对应a(x)中的a47,a3,a2,a1,a0对应a(x)中的a03,b=(b7,b6,b5,b4,b3,b2,b1,b0),其中b7,b6,b5,b4对应b(x)中的b47,b3,b2,b1,b0对应b(x)中的b03,经过乘法运算后的结果为c=(c7,c6,c5,c4,c3,c2,c1,c0),同时在电路设计中需要的8个过渡参数,它们分别为ta=(ta3,ta2,ta1,ta0),tb=(tb3,tb2,tb1,tb0),tab=(tab6,tab5,tab4,tab3,tab2,tab1,tab0),t00=(t006,t005,t004,t003,t002,t001,t000),t11=(t116,t115,t114,t113,t112,t111,t110),dab=(dab3,dab2,dab1,dab0),d00=(d003,d002,d001,d000),d11=(d113,d112,d111,d110)。所以,a、b和c之间的关系为:c=a×b,其具体的计算算式如下:
ta3=a7 xor a3;ta2=a6 xor a2;ta1=a5 xor a1;ta0=a4 xor a0
tb3=b7 xor b3;tb2=b6 xor b2;tb1=b5 xor b1;tb0=b4 xor b0
tab6=ta3 xor tb3
tab5=(ta3 xor tb2)and(ta2 xor tb3);
tab1=(ta3 xor tb1)and(ta2 xor tb2)and(ta1 xor tb3);
tab3=(ta3 xor tb0)and(ta2 xor tb1)and(ta1 xor tb2)and(ta0 xor tb3);
tab2=(ta2 xor tb0)and(ta1 xor tb1)and(ta0 xor tb2);
tab1=(ta1 xor tb0)and(ta0 xor tb1);
tab0=ta0 xor tb0
t006=a3 xor b3
t005=(a3 xor b2)and(a2 xor b3);
t004=(a3 xor b1)and(a2 xor b2)and(a1 xor b3);
t003=(a3 xor b0)and(a2 xor b1)and(a1 xor b2)and(a0 xor b3);
t002=(a2 xor b0)and(a1 xor b1)and(a0 xor b2);
t001=(a1 xor b0)and(a0 xor b1);
t000=a0 xor b0
t116=a7 xor b7
t115=(a7 xor b6)and(a6 xor b7);
t114=(a7 xor b5)and(a6 xor b6)and(a5 xor b7);
t113=(a7 xor b4)and(a6 xor b5)and(a5 xor b6)and(a4 xor b7);
t112=(a6 xor b4)and(a5 xor b5)and(a4 xor b6);
t111=(a5 xor b4)and(a4 xor b5);
t110=a4 xor b4
dab3=tab3 xor tab6
dab2=tab2 xor tab5 xor tab6
dab1=tab1 xor tab4 xor tab5
dab0=tab0 xor tab1
d003=t003 xor t006
d003=t002 xor t005 xor t006
d001=t001 xor t004 xor t005
d000=t000 xor t004
d113=t113 xor t116
d112=t112 xor t115 xor t116
d111=t111 xor t114 xor t115
d110=t110 xor t114
c7=dab3 xor d003
c6=dab2 xor d002
c5=dab1 xor d001
c4=dab0 xor d000
c3=d003 xor d110
c2=d002 xor d113
c1=d001 xor d112
c0=d000 xor d110 xor d111
其中,符号xor使用异或门完成,符号and使用与门完成。
所述的有限域中除法运算的电路按照如下过程运算:先判断输入的码符号中是否存在为零的情况;如果不存在有零的情况,则先对需要相除的两个码符号从标准基的表示形式转化为幂指数的表示形式,然后对所得到的表示形式进行模255的减法运算,最后把模255的减法运算得到的结果转化为标准基的表示形式作为除法运算得到的商;如果存在有零的情况,则输出得到的商为0。
基于上述技术方案,如图8所示,本发明还可以包括一解交错电路6与数据输入电路1连接,RS码数据首先经过解交错电路6后输入到数据输入电路1,用于纠正突发性错误。
与现有技术相比,本发明具有以下优越性:
1、译码芯片的数据通过率高,如用Xilinx公司的xcv600e-6hq240c型号的FPGA作为实现芯片,其数据通过率超过400Mbit/s,资源使用不超过18万系统门。
2、整个译码过程在一片FPGA芯片中实现,工作性能稳定可靠,同时能够容易移植。
3、针对不同的实际应用需求,可以在保持外部接口不变的情况下灵活地修改内部电路设计,以便于和不同的设备进行衔接。
4、不但可以纠正随机错误,而且具有很强的纠正突发错误的功能。
附图说明
图1是本发明实施例1的电路结构框图;
图2是图1中数据输入电路的原理图;
图3是图1中计算校验子电路的原理图;
图4是图1中求解关键方程电路的原理图;
图5是图1中钱搜索电路的原理图;
图6是图1中获取错误值电路的原理图;
图7是图1中纠正错误电路的原理图;
图8是本发明实施例2的电路结构框图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细描述:
实施例1
实施例所采用的各项参数如下:
m=8,表示一个RS码的码符号所需要的比特数;
E=16,表示一个RS码的码块能够纠正错误码符号的个数;
其中,m和E互为独立参数。
N=2m-1=255,表示每个RS码的码块的码符号数;
2E=32,表示每个RS码的码块中校验位的码符号数;
k=n-2E=223,表示每个RS码的码块中信息位的码符号数;
F(X)=X8+X7+X2+X+1,表示RS码的码符号在GF(28)中定义的域生成多项式;
g ( x ) = Π j = 112 143 ( x - α 11 j ) , 表示RS码的码生成多项式。其中,α表示F(X)的本原元。
在阐述本发明的过程中所使用的预设符号如下:
C(x)=C354x254+C253x253+…+C1x+C0为经过相应编码后的数据;
R(x)=R254x254+R253x253+…+R1x+R0为经过传输后输入译码芯片的输入数据;
E(x)=E251x254+E253x253+…+E1x+E0为经过译码后用于纠正输入数据R(x)的错误图样。显然,当错误图样E(x)中不为零的系数的个数小于或等于16的情况下,C(x)、R(x)和E(x)满足以下关系:C(x)=R(x)+E(x),其中,符号+表示输入数据R(x)与其相应的错误图样E(x)的同次幂系数的异或。
该实施例的具体工作流程如下:
1、数据输入电路1接收数据,并把输入数据存放于数据缓存电路中;同时该电路对输入数据进行从二元域表示到复合域表示的域变换,也就是把GF(28)域元素变换成用GF(24)域元素表示的复数形式,于是GF(28)域的乘法运算可以转化为GF(24)域的乘法运算,使整个译码芯片能在速度和使用资源方面得到优化。设输入数据用二元域表示的码符号为c=(c7,c6,c5,c4,c3,c2,c1,c0),经过域变换后用复合域表示的码符号为a=(a7,a6,a5,a4,a3,a2,a1,a0),那么,a与c之间的关系如下:
a7=c1+c2+c3+c4+c5+c6+c7
a6=c2+c3+c4+c7
a5=c3+c4+c6+c7
a4=c1+c2+c6+c7
a3=c1+c3
a2=c2+c3
a1=c1+c2+c6
a0=c0+c2+c3+c4+c7
如图2所示数据输入电路1的原理图,图中从二元域表示到复合域表示的域变换模块的实现如上述算式表示。该域变换后的码符号a输入到计算校验子电路2,即图3中的码符号R′255-j;输入数据的码符号c输入到延时电路8后输出给纠正错误电路7,即图7中的码符号Ri
2、计算校验子电路2中的译码器采用Horner算法获得接收数据的检验子。即,计算32个检验子Si,其中i=0,1,...,31:
T j i = T j - 1 i α 11 × 112 + 11 × i + R 255 - j ′ S i = T 255 i
其中,j=1,2,...,255;T′0=0;R′i表示码符号c经过步骤1的域变换后的码符号,即步骤1中的码符号a。
该部分电路的原理图如图3所示,图中的符号
Figure C20051005971400122
表示下文将要描述的有限域的加法运算,符号
Figure C20051005971400123
表示下文将要描述的有限域的乘法运算。计算校验子电路2的输出Si(i=0,1,...,31)作为求解关键方程电路3的输入。
3、求解关键方城电路3采用RiBM算法来求解关键方程。即,计算 λ = λ i ( 32 ) = δ ~ 16 + i ( 32 ) , ω j ( h ) = ω j ( h ) ( 32 ) = δ ~ j ( 32 ) , 其中i=0,1,...,16,j=0,1,...,15:
δ ~ i ( r + 1 ) = γ ( r ) · δ ~ i + 1 ( r ) - δ ~ 0 ( r ) · θ ~ i ( r ) , (其中i=0,1,...,48)    (※)
如果 δ ~ 0 ( r ) ≠ 0 并且k(r)≥0,
则, θ ~ i ( r + 1 ) = δ ~ i + 1 ( r ) , (其中i=0,1,...,48)
γ ( r + 1 ) = δ ~ 0 ( r )
k(r+1)=-k(r)-1
否则, θ ~ i ( r + 1 ) = θ ~ i ( r ) , (其中i=0,1,..,48)
γ(r+1)=γ(r)
k(r+1)=k(r)+1
其中,r=0,1,...31; δ ~ 49 ( r ) = 0 ; δ ~ 48 ( 0 ) = θ ~ 48 ( 0 ) = 1 ; δ ~ i ( 0 ) = θ ~ i ( 0 ) = 0 , i=32,33,...47; δ ~ i ( 0 ) = θ ~ i ( 0 ) = S i , i=0,1,..31;k(0)=0(k(r)为实数);γ(0)=1。
求解关键方程电路3的原理如图4所示,图中的第一控制模块9实现对条件 δ ~ 0 ( r ) ≠ 0 并且k(r)≥0的判断,确定k(r+1)和γ(r+1)的赋值,同时发出
Figure C20051005971400132
赋值的数据选择信号。图中的PE1模块(i=0…48)实现
Figure C20051005971400133
的赋值,然后根据公式(※)更新
Figure C20051005971400134
的赋值并将其输出。公式(※)中的加法运算和乘法运算是指下文将要描述的有限域中的加法运算和乘法运算。求解关键方程电路3的输出λi和ωj (h)(i=0,1,..,16;j=0,1,...,15)作为钱搜索电路4的输入。
4、钱搜索电路4确定错误位置多项式的根zl,然后借用zl求取与错误值有关的两个参数βl和γl。令 Λ ( z ) = Σ i = 0 16 λ i z l (其中,当i≤e时,λi≠0;当e<i≤16时,λi=0); z Λ ′ ( z ) = Σ i = 1 8 λ 2 i - 1 z 2 i - 1 , Ω ( h ) ( z ) = Σ i = 0 15 ω i ( h ) z i (其中,当i≤e时,λi≠0;当e+1≤i≤16时,λi=0;当i≤e-1时,ωi (h)≠0;当e≤i≤15时,ωi (h)=0);e表示码块中码符号错误发生的总数,e=0时表示该码块没有发生错误:
如果Λ(α-1)=0,
β l = z l 144 Ω ( h ) ( z l ) , γ l = z l Λ ′ ( z l )
否则βl=0,γl=1
同时,进行从复合域表示到二元域表示的域变换,即,设需要进行域变换的用复合域表示码符号为a=(a7,a6,a5,a4,a3,a2,a1,a0),经过域变换后用二元域表示的码符号为c=(c7,c6,c5,c4,c3,c2,c1,c0),那么,a与c之间的关系如下:
c7=a1+a4
c6=a1+a2+a3
c5=a2+a3+a5+a7
c4=a1+a2+a4+a6
c3=a1+a3+a5+a6
c2=a1+a2+a3+a5+a6
c1=a1+a5+a6
c0 =a0+a6
钱搜索电路4的原理如图5所示,图中的符号
Figure C20051005971400141
表示下文将要描述的有限域的加法运算,符号
Figure C20051005971400142
表示下文将要描述的有限域的乘法运算。图5中的第二控制模块10用于判断条件Λ(α-j)=0是否成立;输出参数确定模块11根据第二控制模块10输出的条件判断信号来输出相应的βl和γl。从复合域表示到二元域表示的域变换模块的实现如上述算式表示。钱搜索电路4的输出β′l和γ′l作为获取错误值电路5的输入。
5、获取错误值电路5使用Forney算法的变形来求取l位置上的错误值,即,计算e个错误值El
E l = z 144 Ω ( h ) ( z ) z Λ ′ ( z ) = β l ′ γ l ′
如果所在位置l没有发生错误时,则El=0。获取错误值电路5的原理如图6所示。图中前变换β′l=α′→i、γ′l=α′→j和后变换El=αk或El=0均由FPGA芯片中的块RAM存取变换参数来实现;获取错误值电路5的输出El作为纠正错误电路7的输入。
6、纠正错误电路7进行纠正输入数据的错误,即C(x)=R(x)+E(x),其中Ei≠0,i=jl;Ei=0,i≠jl;l≤e。纠正错误电路7的原理如图7所示。
在上述译码工作过程中,延时电路8使用同步FIFO的形式来实现。
在上述译码工作过程中,使用了二元域表示到复合域表示的域变换和复合域表示到二元域表示的域变换。其中,在复合域表示中,采用了G((24)2)的表示方式。它们之间的关系如下:先由F1(x)=x4+x+1生成一个有限域G(24),然后由F1(x)的本原元w和F2(x)=x2+x+w14在G(24)的基础上共同生成有限域G((24)2),最后通过变换建立了由F1(x)与F2(x)共同所生成的G((24)2)与由F(X)所生成的G(28)之间的关系,即,设a(x)=a0+xa1为G((24)2)中的元素,那么a0和a1为G(24)中的元素,其中a0=(a03,a02,a01,a00),a1=(a13,a12,a11,a10),这等价于a=(a7,a6,a5,a4,a3,a2,a1,a0),此时a13=a7,a12=a6,a11=a5,a10=a4,a03=a3,a02=a2,a01=a1,a00=a0;c(x)=c7x7+c6x6+c5x5+c4x4+c3x3+c2x2+c1x1+c0为G(28)的元素,这等价于c=(c7,c6,c5,c4,c3,c2,c1,c0),则a(x)与c(x)之间的关系如下:
c=P×a;
a=Q×c;
其中:
P = 0 0 0 1 0 0 1 0 0 0 0 0 1 1 1 0 1 0 1 0 1 1 0 0 0 1 0 1 0 1 1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 1 1 0 0 1 1 0 0 0 1 0 0 1 0 0 0 0 0 1 Q = 1 1 1 1 1 1 1 0 1 0 0 1 1 1 0 0 1 1 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 1 0 1 0 0 1 1 1 0 1
同时,P与Q满足:QP mod 2=PQ mod 2=I。符号×表示变换矩阵P(Q)中的元素与a(c)中的对应元素进行与门的运算。所述mod 2表示模2,即:2n mod 2=0,(2n+1)mod 2=1。所述I为单位矩阵,即:
I = 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1
在上述实施例中,三种有限域中运算电路的设计如下:
有限域中加法运算的电路设计:设需要进行加法运算的码符号为a=(a7,a6,a5,a4,a3,a2,a1,a0)和b=(b7,b6,b5,b4,b3,b2,b1,b0),经过加法运算后的结果为c=(c7,c6,c5,c4,c3,c2,c1,c0)。所以,a、b和c之间的关系为:c=a+b,其具体的计算算式如下:
c7=a7 xor b7,c6=a6 xor b6,c5=a5 xor b5,c4=a4 xor b4
c3=a3 xor b3,c2=a2 xor b2,c1=a1 xor b1,c0=a0 xor b0
其中,符号xor使用异或门完成。
有限域中乘法运算的电路设计:设A,B是GF(28)域中的元素,用GF(24)中的元素表示为a(x)=a03+xa47,b(x)=b03+xb47,所以 a ( x ) ⊗ b ( x ) = a ( x ) b ( x ) mod P ( x ) = [ a 03 b 03 + w 14 a 47 b 47 ] + x [ ( a 03 + a 47 ) ( b 03 + b 47 ) + a 03 b 47 ] , 其中P(x)=x2+x+w14,a03、a47、b03、b47以及w14均为GF(24)中的元素,同时GF(24)的域生成多项式为G(x)=x4+x+1,w为G(x)的本原元。
设已经经过复合域变换需要进行乘法运算的码符号为a=(a7,a6,a5,a4,a3,a2,a1,a0),其中a7,a6,a5,a4对应a(x)中的a47,a3,a2,a1,a0对应a(x)中的a03,b=(b7,b6,b5,b4,b3,b2,b1,b0),其中b7,b6,b5,b4对应b(x)中的b47,b3,b2,b1,b0对应b(x)中的b03,经过乘法运算后的结果为c=(c7,c6,c5,c4,c3,c2,c1,c0),同时在电路设计中需要的8个过渡参数,它们分别为ta=(ta3,ta2,ta1,ta0),tb=(tb3,tb2,tb1,tb0),tab=(tab6,tab5,tab4,tab3,tab2,tab1,tab0),t00=(t006,t005,t004, t003,t002,t001,t000),t11=(t116,t115,t114,t113,t112,t111,t110),dab=(dab3,dab2,dab1,dab0),d00=(d003,d002,d001,d000),d11=(d113,d112,d111,d110)。所以,a、b和c之间的关系为:c=a×b,其具体的计算算式如下:
ta3=a7 xor a3;ta2=a6 xor a2;ta1=a5 xor a1;ta0=a4 xor a0
tb3=b7 xor b3;tb2=b6 xor b2;tb1=b5 xor b1;tb0=b4 xor b0
tab6=ta3 xor tb3
tab5=(ta3 xor tb2)and(ta2 xor tb3);
tab4=(ta3 xor tb1)and(ta2 xor tb2)and(ta1 xor tb3);
tab3=(ta3 xor tb0)and(ta2 xor tb1)and(ta1 xor tb2)and(ta0 xor tb3);
tab2=(ta2 xor tb0)and(ta1 xor tb1)and(ta0 xor tb2);
tab1=(ta1 xor tb0)and(ta0 xor tb1);
tab0=ta0 xor tb0
t006=a3 xor b3
t005=(a3 xor b2)and(a2 xor b3);
t004=(a3 xor b1)and(a2 xor b2)and(a1 xor b3);
t003=(a3 xor b0)and(a2 xor b1)and(a1 xor b2)and(a0 xor b3);
t002=(a2 xor b0)and(a1 xor b1)and(a0 xor b2);
t001=(a1 xor b0)and(a0 xor b1);
t000=a0 xor b0
t116=a7 xor b7
t115=(a7 xor b6)and(a6 xor b7);
t114=(a7 xor b5)and(a6 xor b6)and(a5 xor b7);
t113=(a7 xor b4)and(a6 xor b5)and(a5 xor b6)and(a4 xor b7);
t112=(a6 xor b4)and(a5 xor b5)and(a4 xor b6);
t111=(a5 xor b4)and(a4 xor b5);
t110=a4 xor b4
dab2=tab2 xor tab6
dab3=tab2 xor tab5 xor tab6
dab1=tab1 xor tab4 xor tab5
dab0=tab0 xor tab4
d003=t003 xor t006
d002=t003 xor t005 xor t006
d001=t001 xor t004 xor t005
d000=t000 xor t004
d113=t113 xor t116
d112=t112 xor t115 xor t116
d111=t111 xor t114 xor t115
d110=t110 xor t114
c7=dab3 xor d003
c6=dab2 xor d002
c5=dab1 xor d001
c1=dab0 xor d000
c3=d003 xor d110
c2=d002 xor d113
c1=d001 xor d112
c0=d000 xor d110 xor d111
其中,符号xor使用异或门完成,符号and使用与门完成。
有限域中除法运算的电路设计:先判断输入的符号中是否存在为零的情况,然后根据具体的情况来进行处理;如果不存在有零的情况,则先对需要相除的两个码符号从标准基的表示形式转化为幂指数的表示形式,然后对所得到的表示形式进行模255的减法运算,最后把模255的减法运算得到的结果转化为标准基的表示形式作为除法运算得到的商;如果存在有零的情况,则输出得到的商为0。虽然图6是实现获取错误值电路的原理图,但是它同样是实现本发明中所设计的除法电路的电路原理图。所以,除法运算电路的原理如图6所示。
实施例2
如图8所示,在实施例1的基础上,还包括一解交错电路6与数据输入电路1连接,用于纠正突发性错误。RS码数据首先输入到解交错电路6进行解交错,然后将处理后的数据输入到数据输入电路1,继而进行如实施例1所述的译码过程。

Claims (7)

1.一种高速译码芯片,包括:一数据输入电路(1)、一计算校验子电路(2)、一求解关键方程电路(3)、一钱搜索电路(4)、一获取错误值电路(5)、一纠正错误电路(7)顺序串连连接;译码后的数据由所述纠正错误电路(7)输出;其特征在于,
所述数据输入电路(1)用于控制数据的输入,其输出为两路数据,一路是经过二元域表示到复合域表示的域变换进入计算校验子电路(2)的数据,另一路数据直接进入一延时电路(8)进行缓存后输出给纠正错误电路(7);
所述计算校验子电路(2),用于计算输入数据的校验子;
所述求解关键方程电路(3)用于根据所获得的校验子来求取译码过程所需要的错误位置多项式和错误值多项式;
所述钱搜索电路(4),用于求解错误位置多项式的根和在相应根下错误值多项式的值,同时对输出结果进行复合域表示到二元域表示的变换;
所述获取错误值电路(5)用于根据变形的Forney算法求取输入数据所发生错误的错误值并输出;
所述纠正错误电路(7)用于通过缓存于延时电路(8)中的数据与所述获取错误值电路5输出的错误值之间的异或运算来输出被译码数据的正确结果和该译码数据的错误情况;
所述延时电路(8)用于把输入数据缓存于实现芯片中,待获取错误值电路(5)中的错误值计算完成后,把数据输入到纠正错误电路(7)中。
2.根据权利要求1所述的高速译码芯片,其特征在于,所述求解关键方程电路(3)采用RiBM算法来求取译码过程所需要的错误位置多项式和错误值多项式。
3.根据权利要求1所述的高速译码芯片,其特征在于,所述计算校验子电路(2)、求解关键方程电路(3)、钱搜索电路(4)均采用有限域中进行的基本运算电路,包括有限域中加法运算的电路、有限域中乘法运算的电路和有限域中除法运算的电路;所述的有限域中加法运算的电路设计是指需要相加的两个码符号在同位上进行异或。
4.根据权利要求3所述的高速译码芯片,其特征在于,所述的有限域中乘法运算的电路设计是:设A,B是GF(28)域中的元素,用GF(24)中的元素表示为a(x)=a03+xa47,b(x)=b03+xb47,所以a(x)b(x)=a(x)b(x)mod P(x)=[a03b03+w14a47b47]+x[(a03+a47)(b03+b47)+a03b47],其中P(x)=x2+x+w14,a03、a47、b03、b47以及w14均为GF(24)中的元素,同时GF(24)的域生成多项式为G(x)=x4+x+1,w为G(x)的本原元;
设已经经过复合域变换需要进行乘法运算的码符号为a=(a7,a6,a5,a4,a3,a2,a1,a0),其中a7,a6,a5,a4对应a(x)中的a47,a3,a2,a1,a0对应a(x)中的a03,b=(b7,b6,b5,b4,b3,b2,b1,b0),其中b7,b6,b5,b4对应b(x)中的b47,b3,b2,b1,b0对应b(x)中的b03,经过乘法运算后的结果为c=(c7,c6,c5,c4,c3,c2,c1,c0),同时在电路设计中需要的8个过渡参数,它们分别为ta=(ta3,ta2,ta1,ta0),tb=(tb3,tb2,tb1,tb0),tab=(tab6,tab5,tab4,tab3,tab2,tab1,tab0),t00=(t006,t005,t004,t003,t002,t001,t000),t11=(t116,t115,t114,t113,t112,t111,t110),dab=(dab3,dab2,dab1,dab0),d00=(d003,d002,d001,d000),d11=(d113,d112,d111,d110);所以,a、b和c之间的关系为:c=a×b,其具体的计算算式如下:
ta3=a7xor a3;ta2=a6xor a2;ta1=a5xor a1;ta0=a4xor a0
tb3=b7xor b3;tb2=b6xor b2;tb1=b5xor b1;tb0=b4xor b0
tab6=ta3xor tb3
tab5=(ta3xor tb2)and(ta2xor tb3);
tab4=(ta3xor tb1)and(ta2xor tb2)and(ta1xor tb3);
tab3=(ta3xor tb0)and(ta2xor tb1)and(ta1xor tb2)and(ta0xor tb3);
tab2=(ta2xor tb0)and (ta1xor tb1)and(ta0xor tb2);
tab1=(ta1xor tb0)and(ta0xor tb1);
tab0=ta0xor tb0
t006=a3xor b3
t005=(a3xor b2)and(a2xor b3);
t004=(a3xor b1)and(a2xor b2)and(a1xor b3);
t003=(a3xor b0)and(a2xor b1)and(a1xor b2)and(a0xor b3);
t002=(a2xor b0)and(a1xor b1)and(a0xor b2);
t001=(a1xor b0)and(a0xor b1);
t000=a0xor b0
t116=a7xor b7
t115=(a7xor b6)and(a6xor b7);
t114=(a7xor b5)and(a6xor b6)and(a5xor b7);
t113=(a7xor b4)and(a6xor b5)and(a5xor b6)and(a4xor b7);
t112=(a6xor b4)and(a5xor b5)and(a4xor b6);
t111=(a5xor b4)and(a4xor b5);
t110=a4xor b4
dab3=tab3xor tab6
dab2=tab2xor tab5xor tab6
dab1=tab1xor tab4xor tab5
dab0=tab0xor tab4
d003=t003xor t006
d002=t002xor t005xor t006
d001=t001xor t004xor t005
d000=t000xor t004
d113=t113xor t116
d112=t112xor t115xor t116
d111=t111xor t114xor t115
d110=t110xor t114
c7=dab3xor d003
c6=dab2xor d002
c5=dab1xor d001
c4=dab0xor d000
c3=d003xor d110
c2=d002xor d113
c1=d001xor d112
c0=d000xor d110xor d111
其中,符号xor使用异或门完成,符号and使用与门完成。
5.根据权利要求3所述的高速译码芯片,其特征在于,所述的有限域中除法运算的电路按照如下过程运算:先判断输入的码符号中是否存在为零的情况;如果不存在有零的情况,则先对需要相除的两个码符号从标准基的表示形式转化为幂指数的表示形式,然后对所得到的表示形式进行模255的减法运算,最后把模255的减法运算得到的结果转化为标准基的表示形式作为除法运算得到的商;如果存在有零的情况,则输出得到的商为0。
6.根据权利要求1、2、3、4或5中任一项所述的高速译码芯片,其特征在于,还包括一解交错电路(6)与数据输入电路(1)连接,码符号数据首先经过解交错电路(6)后输入到数据输入电路(1),用于纠正突发性错误。
7.根据权利要求1所述的高速译码芯片,其特征在于,所述二元域表示到复合域表示的域变换是指把GF(28)域元素变换成用GF(24)域元素表示的复数形式,进而GF(28)域的乘法运算转化为GF(24)域的乘法运算。
CNB2005100597140A 2005-03-31 2005-03-31 一种高速译码芯片 Expired - Fee Related CN100384116C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100597140A CN100384116C (zh) 2005-03-31 2005-03-31 一种高速译码芯片

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100597140A CN100384116C (zh) 2005-03-31 2005-03-31 一种高速译码芯片

Publications (2)

Publication Number Publication Date
CN1841982A CN1841982A (zh) 2006-10-04
CN100384116C true CN100384116C (zh) 2008-04-23

Family

ID=37030841

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100597140A Expired - Fee Related CN100384116C (zh) 2005-03-31 2005-03-31 一种高速译码芯片

Country Status (1)

Country Link
CN (1) CN100384116C (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102075200B (zh) * 2010-12-31 2013-07-24 北京遥测技术研究所 一种紧凑的高信息率rs译码装置
CN104378121A (zh) * 2013-08-13 2015-02-25 北京兆易创新科技股份有限公司 一种译码方法及译码装置
CN104579367B (zh) * 2014-12-11 2018-01-19 北京时代民芯科技有限公司 一种信道纠错码rs码迭代译码解关键方程方法
CN108683476B (zh) * 2018-04-04 2021-03-26 天津大学 一种降低计算复杂度和硬件成本的硬判决译码方法
CN108768407A (zh) * 2018-04-23 2018-11-06 天津大学 一种低硬件成本、高吞吐率的硬判决译码器架构
CN109358836B (zh) * 2018-10-22 2022-11-11 深圳职业技术学院 一种基于表结构的复合域除法装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6122766A (en) * 1996-10-25 2000-09-19 Matsushita Electric Industrial Co., Ltd. Reed-Solomon decoder having a three-stage pipeline structure
US6378104B1 (en) * 1996-10-30 2002-04-23 Texas Instruments Incorporated Reed-solomon coding device and method thereof
US6581180B1 (en) * 2000-03-17 2003-06-17 Maxtor Corporation System and method for performing a Chien search using multiple Galois field elements
CN1439197A (zh) * 2000-03-27 2003-08-27 松下电器产业株式会社 解码装置以及解码方法
CN1144374C (zh) * 1998-12-11 2004-03-31 松下电器产业株式会社 里德-索洛蒙解码装置及其控制方法
JP2004165867A (ja) * 2002-11-12 2004-06-10 Sony Corp データ処理装置および方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6122766A (en) * 1996-10-25 2000-09-19 Matsushita Electric Industrial Co., Ltd. Reed-Solomon decoder having a three-stage pipeline structure
US6378104B1 (en) * 1996-10-30 2002-04-23 Texas Instruments Incorporated Reed-solomon coding device and method thereof
CN1144374C (zh) * 1998-12-11 2004-03-31 松下电器产业株式会社 里德-索洛蒙解码装置及其控制方法
US6581180B1 (en) * 2000-03-17 2003-06-17 Maxtor Corporation System and method for performing a Chien search using multiple Galois field elements
CN1439197A (zh) * 2000-03-27 2003-08-27 松下电器产业株式会社 解码装置以及解码方法
JP2004165867A (ja) * 2002-11-12 2004-06-10 Sony Corp データ処理装置および方法

Also Published As

Publication number Publication date
CN1841982A (zh) 2006-10-04

Similar Documents

Publication Publication Date Title
CN100384116C (zh) 一种高速译码芯片
CN101388674B (zh) 一种译码的方法、译码器以及Turbo码译码器
CN1193294C (zh) 一种多通道多位并行计算crc码的方法
CN107346977A (zh) 使用共模抑制和sso恢复的功率和引脚高效的芯片到芯片通信
US20120102382A1 (en) Method and Device for Fast Cyclic Redundancy Check Coding
CN103369326B (zh) 适于高性能视频编码标准hevc的变换编码器
CN103731239A (zh) 一种适用于向量处理器的通用crc并行计算部件及方法
CN102970049B (zh) 基于钱搜索算法和福尼算法的并行电路及rs译码电路
CN102201883B (zh) 一种rs码编码参数的盲识别方法
CN103679008A (zh) 一种高效的安全芯片功耗攻击测试方法
CN101834615B (zh) 里德-索罗蒙编码器实现方法
CN107231213A (zh) Crc‑32算法在usb3.0数据包中的实现方法
CN103269255B (zh) 一种并行crc电路的生成方法和装置
CN103401566A (zh) 参数化的bch纠错码的并行编码方法及装置
CN104750086A (zh) 故障和状态的估计方法及装置
CN101662292B (zh) 一种交织器的确定方法及装置
CN104143992B (zh) 一种基于比特填充的ldpc编码方法
CN101431339B (zh) 基于fpga的rs编码装置及编码方法
CN103152059A (zh) Ccsds系统rs编码中常系数矩阵的生成装置和方法
CN115882876A (zh) 一种数据编码校验方法、系统、设备、介质及电路
CN204347817U (zh) 集成crc校验电路的伪随机数发生器
CN102801501B (zh) 一种bch缩短码的编码参数的识别方法
CN103023512B (zh) Atsc系统rs编码中常系数矩阵的生成装置和方法
CN100432922C (zh) 在有限域中实现平方运算的方法和装置
CN103092816A (zh) 一种并行rs编码中常系数矩阵的生成装置和方法

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080423

Termination date: 20160331

CF01 Termination of patent right due to non-payment of annual fee