專利名稱::用于里德-索羅門譯碼器的有限域乘法器的制作方法
技術領域:
:本發(fā)明涉及前向糾錯碼的譯碼器,特別涉及在里德-索羅門譯碼期間有限域計算中進行乘法運算的結構。在用數(shù)字技術進行新式的圖像數(shù)據和音頻數(shù)據傳輸中,作為保護傳輸數(shù)據的糾錯碼,已較完善的創(chuàng)建了里德-索羅門編碼技術。已經公開了各種各樣的實施裝置,例如我們的申請EP96301899.2就公開了一種數(shù)字接收機中的里德-索羅門譯碼器的超大規(guī)模集成電路(“VLS1”)。已經把里德-索羅門編碼的新的應用推薦到歐洲電信標準DRAFTprETS300744(1996年5月)中,該標準采用編碼的正交頻分多路復用(“COFDM”)。該標準規(guī)定數(shù)字地面電視的成楨結構、信道編碼和調制。這種編碼應用的開發(fā)是為把數(shù)字地面電視容納在模擬傳輸?shù)默F(xiàn)有的頻譜分配中,并且還提供充分的保護以防止高電平的同信道干擾和相鄰信道干擾。該標準要求一個與內部刪余卷積代碼相聯(lián)結的外部里德-索羅門代碼。根據MPEG2傳輸數(shù)據流格式,該代碼與位狀態(tài)和隔行符號相結合。把RS(204,188,t=8)代碼規(guī)定為外部代碼,它具有一個代碼生成元多項式g(x)=(x+λ0)(x+λ1)(x+λ2)……(x+λ15)(1)其中,λ=02HEX。域生成元多項式是P(x)=x8+x4+x3+x2+1(2)已知的里德-索羅門譯碼器中的有限域乘法器的硬件裝置要求可觀的資源,而且還未能容易地適應于生產環(huán)境中的新工藝和新的應用。本發(fā)明的主要目的是提供一種能在數(shù)字數(shù)據上進行擴展的乘法運算的改進的檢錯糾錯電路和糾錯電路。本發(fā)明的另外的目的是提供一種通過減少硬件資源而用VLSI實施的改進的有限域乘法器。本發(fā)明還有一個另外的目的是提供一種里德-索羅門譯碼器,它能容易地適用于用于電信和類似目的的各種VLSI電路。按照BCH代碼編碼的電磁信號的譯碼器實現(xiàn)本發(fā)明的這些和其他目的,其中該代碼由生成元多項式g(x)規(guī)定,該代碼具有基元α,該譯碼器按照由有限域乘法形成的項xiαj運行。該譯碼器包括形成乘積A*B的有限域乘法電路,其中“*”是有限域乘法運算符。每個有限域乘法電路都有多個乘法器,其中第一乘數(shù)是幅度A,第二乘數(shù)是常數(shù)αk。乘法器最好按線性級鏈相互連接起來,一個乘法器的輸出被連接到另一個乘法器的第1輸入。多個選擇器啟動乘法器的輸出,選擇器具有按照幅度B的表達式設定的選擇線。把最好由XOR門的邏輯網絡實現(xiàn)的加法電路連接到選擇器,以便把所啟動的乘法器的輸出加起來而形成最后的乘積A*B,用加法電路進行加法運算是無需進位的。按照本發(fā)明的一個方案,乘法器由常系數(shù)乘法器構成。按照本發(fā)明的另一個方案,具有按照幅度B的表達式設定的連接到選擇線上的多條線。本發(fā)明提供一種按照BCH代碼編碼的電磁信號的譯碼器,該代碼由生成元多項式g(x)規(guī)定,并具有基元α,該譯碼器是按xiαj項運行類型的譯碼器,其中的改進是一個有限域乘法器具有多個常數(shù)乘法器。每個常數(shù)乘法器的輸入是第一乘數(shù)A,該常系數(shù)乘法器的第二乘數(shù)是常數(shù)αk,其中該常系數(shù)乘法器的輸出連接到下一個系數(shù)乘法器的輸入??刂贫鄠€開關的多條位線附有一個幅度B的二進制表達式,每個開關被連接到相應的一個常系數(shù)乘法器的輸出端。用來進行模2加法運算的加法電路連接到用來求常系數(shù)乘法器的和的開關上,這樣,把求和得到的輸出作為幅度A*B的二進制表達式。本發(fā)明提供一種進行里德-索羅門譯碼的方法,其中α是里德-索羅門代碼中的基元,通過提供一種其中具有里德-索羅門譯碼器的VLSI電路,并用該電路進行有限域乘法運算來執(zhí)行這種方法,以便按如下步驟得到乘積xiαj(1)對每個αn(n是整數(shù))識別具有等于αj的和的線性合成值αn(n是整數(shù));(2)由αn乘以an-k產生每個αn值(其中K是整數(shù));(3)把αn值乘以xi,以產生乘積αnxi;(4)求乘積αnxi的和,以產生xiαj值。為了更好地理解本發(fā)明的這些和其他目的,結合附圖以舉例方法詳細說明本發(fā)明。附圖簡要說明圖1是里德-索羅門譯碼器的功能方框圖;圖2是按照圖1方框圖運行的里德-索羅門譯碼器的另一個方框圖3是概略說明產生有限域中的各項的圖;圖4與圖1說明的譯碼器結合的FIFO的方框圖;圖5表示圖1說明的譯碼器中的用來產生校正子的分支反饋移位寄存器;圖6是現(xiàn)有技術中用于里德-索羅門譯碼器的Berlekamp算法的流程圖;圖7是用來執(zhí)行用于圖1所示的譯碼器的Berlekamp算法的裝置的方框圖;圖8是圖1所示的譯碼器中用來完成Chien檢索的配置的方框圖;圖9是按照本發(fā)明的有限域乘法器的優(yōu)選實例的示意圖;圖10是按照本發(fā)明的有限域乘法器的另一個優(yōu)選實施例的示意圖。圖11是圖9和圖10的實施例中所組成的加法電路的更詳細的示意圖。首先參照圖4和圖2說明里德-索羅門譯碼方法,本發(fā)明能用這種譯碼器和采用有限域算法的其他里德-索羅門譯碼器來實現(xiàn)。一個208字節(jié)的數(shù)據包R(X)2被輸入到FIFO4中,該FIFO4由能存儲448字節(jié)的RAM來實現(xiàn),該FIFO4在譯碼過程中簡單地用作延時,僅有188信息字節(jié)需要存儲起來,因為在計算校正子S(x)6之后就不使用20個奇偶校驗位字節(jié),所以可以把它們廢棄。譯碼器8接收數(shù)據包R(X)2內的去交錯數(shù)據,VALID標識符10表示數(shù)據包R(X)2內的現(xiàn)有字節(jié)是現(xiàn)有數(shù)據包中的有效字節(jié),當有效標識符10指示已經接收到一個數(shù)據包的最后字節(jié)時,同時建立數(shù)據包的末端標識符EOP12。在去交錯器過早地終止數(shù)據包的情況下,就建立有錯符OSI4,這會導致整個譯碼器復位。母線校正(CORRECT)16包含校正數(shù)據,線RS-VAL1D18表示數(shù)據在母線CORRECT16上,這條線僅在數(shù)據字節(jié)在該線上時才建立。線RS-EOP20是指示已經檢測到數(shù)據包的末端的線,建立起線RS-EOP20時,線PACK-ERR22高位,這表示譯碼器8已經不能校正前面釋放的數(shù)據包。線RS-0S24預示在數(shù)據包內已經發(fā)生嚴重的錯誤,該信號經該系統(tǒng)傳播,并表示現(xiàn)有數(shù)據包將不提供任何更有效的數(shù)據。參照圖4,數(shù)據包R(X)2的第1個188字節(jié)出現(xiàn)在FIFO4的線WD26上,并按照計數(shù)器30的狀態(tài)被寫入到RAM28的一個地址中。同樣,從按照計數(shù)34的狀態(tài)選定的地址中把被延時的數(shù)據包R(X)2讀到線RD32上。按照如下方程在校正z計算方塊36(圖1)中計算校正zSj=Σi-0n-1rxiαi(j+m0)----(3)]]>其中Sj是第j個校正z;n是數(shù)據包內的字節(jié)數(shù);mo是任意整數(shù)(等于0);rxi是數(shù)據包中的第i字節(jié);αx是有限域中的第x個α?,F(xiàn)有參照圖1-7,并行運行的一個三單元38,40,41的排組產生校正子(圖5),有限域項αi由一個分支反饋移位寄存器42產生(圖3),該移位寄存器42由具有加法器46的多個觸發(fā)器44構成,加法器46的位置由上述的生成元多項式決定。為方便起見,確定24個校正子,但實際上只有S0-S19由其余的譯碼器8應用。在方框48(圖1)中執(zhí)行的Berlekamp算法是用來導出定位器多項式A(X)50和估算器多項式Ω(X)52的公知的方法,圖6中示出了它的流程圖,并應用如下注意點R1是包含有上述校正子方框的產生的校正子字節(jié)的移位寄存器;R2包含一個定位器多項式Λ(X),其中Λ0=1;R3包含D多項式;R4包含一個估算器多項式Ω(X),其中Ω10=D;R5是A多項式的暫存器;dn是增量;I是R1中的多項式比數(shù);n是計數(shù)值。在STOP54處,I代表由算法所發(fā)現(xiàn)的差錯數(shù),并保留在寄存器56(圖7)內,為了進行算法的連續(xù)漸近計算,在方框58內必須由寄存器R362反復改變寄存器R260的常數(shù)。按照如下公式來計算dn值dn=Σi=010Λn.1Sn-i---(4)]]>圖7所示的裝置中所執(zhí)行的程序不同于圖6所示的算法,不是用寄存器R362改變寄存器R260的常數(shù),也不用寄存器R566改變寄存器R464的常數(shù),而是把一個觸發(fā)器開關用于寄存器包含各自的多項式的存儲器。這樣處理是經濟的,因為不需要暫存器。對譯碼來說,控制方框68是一個5比特狀態(tài)機,從每種狀態(tài)決定(a)下一個狀態(tài);(b)啟動移位寄存器60-70和70的每一個;(c)乘法器對乘法器72,74,76,78進行選擇,以便根據方框58中的R1-R5把輸入選送到寄存器60-66和寄存器70;(d)在每種狀態(tài)有效期間控制時間;(e)必要的話,重新計算變量n和I;(f)維持指示寄存器包含Λ(X)和Ω(X)。Chien檢索方框80(圖1)詳盡地估算每個可能的地址,以便決定它是否是Λ(X)的根。按照如下方程來完成一個地址的估算Λ(α-1)=Σk=010Λkα-k----(5)]]>雖然只有208個地址已經被接收到,但是對始于x=α254的全部255個地址都作檢查,例如Λ(α-254)=Λ(α1)=Λ10(α10)‘+’Λ9(α9)‘+’…‘+’Λ2(α2)‘+’Λ1(α1)‘+’1(6)Λ(α-253)=Λ(α2)=Λ10(α20)‘+’Λ9(α18)‘+’…‘+’Λ2(α4)‘+’Λ1(α2)‘+’1(7)Λ(α-252)=Λ(α3)=Λ10(α30)‘+’Λ9(α27)‘+’…‘+’Λ2(α6)‘+’Λ1(α3)‘+’1,(8)圖8中更加詳細地表示了Chien檢索方框80(圖1),Λ(X)項是用兩個并列單元計算的,具有一對饋送到乘法器88的移位寄存器84,86的上單元82涉及將要討論的系數(shù)α1-α5,其他單元90、92和94以同樣方式運行,圖8中的兩個上單元82,90被用來計算Λ(X)。在每次漸近計算中,乘積要經過一次循環(huán),以使它們經過移位寄存器再回來。這樣,在第6次漸近計算時,就在估算下一個地址,并且移位寄存器的最右側單元包含乘積Λ5(α5)。寫上需要乘積Λ5(α10),并且只有現(xiàn)在必須把第一次漸近計算的乘積乘以α5。為了發(fā)現(xiàn)錯誤地址數(shù),計數(shù)器96在每次Λ(X)=0時遞進一次,要進行兩次檢查,以便決定所接收到的數(shù)據包是否包含了大于10個錯誤字節(jié)的最大值。首先,把計數(shù)器96中的計算值與寄存器56(圖7)中的值相比較,兩個值的差表示數(shù)據包具有多于10個差錯。然后,在Chien檢索中發(fā)現(xiàn)的字節(jié)254-208內的一個錯會使該數(shù)據塊失效,這些是不被接收的字節(jié),但僅僅簡單地用于Chien檢索方框80。用來計算誤差幅度的方程如下E(x)=Ω(α-i)Λ′(α-i)αi----(9)]]>如果那個地址的Λ(X)估算值等于零,該結果就僅僅被加到所接收到的字節(jié)上。用下兩單元92,94來類似于Λ(X)地進行Ω(X)和Λ′(X)的估算,單元94產生Λ′(X),用ROM(未示出)中的查尋表得到倒數(shù)。本領域普通技術人員清楚,在有限域算法中(a*b)=(αa*αb)=αa+b(10)αa+b的實際值由域生成元多項式來決定,例如由方程2給出的域生成元多項式。進一步按照乘法分配律,如果a=b+c(11)那么d.a=d.b+d.c................................(12)可以參照如下方程來理解乘法器的功能a(x)=a7x7+a6x6+a5x5+a4x4+a3x3+a2x2+a1x1+a0(13)b(x)=b7x7+b6x6+b5x5+b4x4+b3x3+b2x2+b1x1+b0(14)那么a(x)*(x)=c(x)(15)其中“*”表示有限域乘法運算符。c’0=a0b0(16)c’1=a0b1+a1b0(17)c’1=a0b2+a1b1+a2b0(18)c’13=a6b7+a7b6(19)c’14=a7b7(20)按照方程(2)中的P(X)c0=c’0+c’8+c’12+c’13+c’14(21)c1=c’1+c’9+c’13+c’14(22)c2+c’2+c’8+c’10+c’12+c’13(23)已經用一個硬件中普通乘法器直接完成上述的乘法,在某些情況下,該普通的乘法器從一個有關的α生成元獲取輸入。但是,普通的乘法器需要集成電路中相當?shù)膮^(qū)域,因為一個乘數(shù)是已知的,所以用多個常數(shù)乘法器來取代該普通乘法器可以節(jié)約主要的空間。在如包括在校正子Sj(方程3)的產生時的乘法運算中,可以用圖9所示的乘法器結構來進行連續(xù)循環(huán)中的乘法運算,以求出典型項rxiα3,rxiα4,rxiα5。在如下的討論中,r是一個簡單常數(shù),不必與數(shù)據的數(shù)據包內的第i字節(jié)相關。為清楚起見,在這個例子中僅表示產生三項,應該理解實際上是可以計算許多項。輸入到乘法器結構98的是第一乘數(shù)rxi100,該乘數(shù)在常數(shù)乘法器102中乘以α乘數(shù)α3104,該乘積rxiα3出現(xiàn)在節(jié)點106處,它成為輸入到下一個常系數(shù)乘法器108的輸入項。在產生節(jié)點110處的乘積時,常系數(shù)乘法器108利用關系αn=α1·αn-1(24)該乘積在乘法器112中相乘,并且用加法器114把乘積加在另一個值上,以便進一步處理。本領域的普通技術人員應清楚該常數(shù)乘法器108可以用很少的三個異或(“XOR”)門來實現(xiàn)。本發(fā)明人發(fā)現(xiàn)運用方程(12)所示的乘法分配率以及α值可以被表示為另一個α值的線性合成,就能實現(xiàn)一個經濟的、構成更方便而且更實用的有限域乘法器。在表1中把幾個有代表性的α值表示為2進位數(shù)。</tables>要注意的是α值可以用模2加法加起來,而無需產生進位位。例如α8=α4+α3+α2+α0(25)通過應用乘法分配率輸入第二乘數(shù)rxi就能得到乘積α8*rxi,其中“*”表示有限域算法中的乘法運算符。rxiα8=rxiα4+rxiα3+rxiα2+rxiα0(26)圖10說明的是有限域乘法器的一個優(yōu)選實施例。用標號116來表示。如圖9所示,以同樣的方式安排一個8個常系數(shù)乘法器118構成的陣列。所表示的是8位數(shù)據通道,但可以按其他母線寬度構成電路,應理解在n=0,α0的特寫情況下對第一常系數(shù)乘法器120的輸入為1,這種情況下可以省略該常系數(shù)乘法器120,常系數(shù)乘法器118的陣列中的其他所有乘法器都乘以αj,在圖9的例子中,j=1。由常系數(shù)乘法器118的陣列得到的乘積從母線122上被傳輸?shù)?個選擇器124構成的排的第1輸入,選擇器124的第2輸入是出現(xiàn)在母線128上的第2乘數(shù)B的各自的位線126,選擇器124可以由多個AND門實現(xiàn),其中每條母線122的位線可以按照各自的位線126共同啟動。在本例中,設定母線128的位0,2,3和4,而母線130上的選擇器124的輸出可以表示為序號{0,0,0,A[4],A[3],A[2],0,A}。在加法器132中把該序列的元素加起來,并把和數(shù)呈現(xiàn)在輸出母線134上。因為不產生進位,所以8個元素的每一個的相加運算可以在由3個異或門XOR138構成的邏輯網絡136中按照模2加法簡單地進行,圖11表示在加法器132中采用的8個同樣的網絡之一,其中把邏輯部分加到每條母線130的至少足夠的位上,其他公知的加法電路也可以適用于加法器132。與按照方程(13)-(20)直接實施乘法相比,在門數(shù)量上,本實施例的原始硬件裝置已經減少了20%,雖然前述實施例討論了有關里德-索里門譯碼,但同樣可應用于其他(N,K)代碼以及“Bose,Ray-Chandhuri,Hocguenghem”(“BCH”)代碼,并能應用于其他進行有限域乘法的設備。該有限域乘法器116能有效地在Chien檢索方框80(圖8)中用作普通有限域乘法器140和所有的譯碼器8(圖2)。在該優(yōu)選實施例中,譯碼器8和有限域乘法器116是同一個VLSI電路來實施的。例如在本例中,用符合IEEE標準1364-1995的標準硬件描述語言來說明硬件實施。首先按照如下描述來建立一個普通的綜合有限域乘法器<prelisting-type="program-listing"><![CDATA[moduleGFULL(X,Y,GFULL); input[7∶0]X; input[7∶0]Y;]]></pre><prelisting-type="program-listing"><![CDATA[output[7∶0]GFULL;reg[7∶0]GFULL;reg[7∶0]A0B,A1B,A2B,A3B,A4B,A5B,A6B,A7B;reg[14∶0]C;integeri;always@(XorYorGFULL)beginfor(i=0;i<8;i=i+1)beginA0B[i]=X&&Y[i];A1B[i]=X[1]&&Y[i];A2B[i]=X[2]&&Y[i];A3B[i]=X[3]&&Y[i];A4B[i]=X[4]&&Y[i];A5B[i]=X[5]&&Y[i];A6B[i]=X[6]&&Y[i];A7B[i]=X[7]&&Y[i];endC=A0B;C[1]=A0B[1]^^A1B;C[2]=A0B[2]^^A1B[1]^^A2B;C[3]=A0B[3]^^A1B[2]^^A2B[1]^^A3B;C[4]=A0B[4]^^A1B[3]^^A2B[2]^^A3B[1]^^A4B;C[5]=A0B[5]^^A1B[4]^^A2B[3]^^A3B[2]^^A4B[1]^^A5B[1];C[6]=A0B[6]^^A1B[5]^^A2B[4]^^A3B[3]^^A4B[2]^^A5B[1]^^A6B;C[7]=A0B[7]^^A1B[6]^^A2B[5]^^A3B[4]^^A4B[3]^^A5B[2]^^A6B[1]^^A7BC[8]=A1B[7]^^A2B[6]^^A3B[5]^^A4B[4]^^A5B[3]^^A6B[2]^^A7B[1];C[9]=A2B[7]^^A3B[6]^^A4B[5]^^A5B[4]^^A6B[3]^^A7B[2];C[10]=A3B[7]^^A4B[6]^^A5B[5]^^A6B[4]^^A7B[3];C[11]=A4B[7]^^A5B[6]^^A6B[5]^^A7B[4]C[12]=A5B[7]^^A6B[6]^^A7B[5];C[13]=A6B[7]^^A7B[6];C[14]=A7B[7];GFULL=C^^C[8]^^C[12]^^C[13]^^C[14];GFULL[1]=C[1]^^C[9]^^C[13]^^C[14];GFULL[2]=C[2]^^C[8]^^C[10]^^C[12]^^C[13];GFULL[3]=C[3]^^C[8]^^C[9]^^C[11]^^C[12];GFULL[4]=C[4]^^C[8]^^C[9]^^C[10]^^C[14];GFULL[5]=C[5]^^C[9]^^C[10]^^C[11];GFULL[6]=C[6]^^C[10]^^C[11]^^C[12];GFULL[7]=C[7]^^C[11]^^C[12]^^C[13];endendmodule]]></pre>下一個有限域乘法器116(圖10)描述如下<prelisting-type="program-listing"><![CDATA[moduleGFULL(X,Y,GFULL);input[7∶0]X;input[7∶0]Y;output[7∶0]GFULL;reg[7∶0]GFULL;reg[7∶0]A0,A1,A2,A3,A4,A5,A6,A7;integeri;always@(XorYorGFULL)begin]]></pre><prelisting-type="program-listing"><![CDATA[A0=X;A1={A0[6],A0[5],A0[4],A0[3]^A0[7],A0[2]^A0[7],A0[1]^A0[7],A0,A0[7]};A2={A1[6],A1[5],A1[4],A1[3]^A1[7],A1[2]^A1[7],A1[1]^A1[7],A1,A1[7]};A3={A2[6],A2[5],A2[4],A2[3]^A2[7],A2[2]^A2[7],A2[1]^A2[7],A2,A2[7]};A4={A3[6],A3[5],A3[4],A3[3]^A3[7],A3[2]^A3[7],A3[1]^A3[7],A3,A3[7]};A5={A4[6],A4[5],A4[4],A4[3]^A4[7],A4[2]^A4[7],A4[1]^A4[7],A4,A4[7]};A6={A5[6],A5[5],A5[4],A5[3]^A5[7],A5[2]^A5[7],A5[1]^A5[7],A5,A5[7]};A7={A6[6],A6[5],A6[4],A6[3]^A6[7],A6[2]^A6[7],A6[1]^A6[7],A6,A6[7]};for(i=0;i<8,i=i+1)beginA0[i]=A0[i]&&Y;A1[i]=A1[i]&&Y[1];A2[i]=A2[i]&&Y[2];A3[i]=A3[i]&&Y[3];A4[i]=A4[i]&&Y[4];A5[i]=A5[i]&&Y[5];A6[i]=A6[i]&&Y[6];A7[i]=A7[i]&&Y[7];endGFULL=A0^A1^A2^A3^A4^A5^A6^A7;endendmodule]]></pre>由綜合程序處理上述模型,CompassASICyn(商標)對普通綜合有限域乘法器和該有限域乘法器116分別產生如下區(qū)域報告<prelisting-type="program-listing"><![CDATA[#######################################################AREAREPORT########################################################cell"GFULL1"##==================================# NumGateEqvTotGateWidthTofalCellNameInstsPerCellEquivsPerCellWidth------------------------------------an02d0131.519.58.0104.0aoi22d1252.050.010.0250.0inv0d042521.04.0168.0nd02d0511.051.06.0306.0oai22d1152.030.010.0150.0xn02d143.514.016.064.0xr02d1753.5262.514.01050.0Totals225448.0209.0Initial(508.5)(3226.0)Totalpins737Totalnets241Averagepinspernet3.1,Maxpinspernet9(excludingpowerandgroundnets)]]></pre><prelisting-type="program-listing"><![CDATA[#############################################################AREAREPORT##############################################################cell"GFULL2"##=============================# NumGateEqvTotGateWidthTotalCellNameInstsPerCellEquivsPerCellWidth--------------------------------an02d0281.542.08.0224.0aoi22d122.04.010.020.0inv0d0210.510.54.084.0mx02d0103.030.012.0120.0nd02d0301.030.06.0180.0oai221d162.515.012.072.0oai22d132.06.010.030.0xr02d1673.5234.514.0938.0Totals167372.01668.0Initial(431.5)(2796.0)Totalpins542Totalnets183Averagepinspernet3.0;Maxpinspernet13(excludingpowerandgroundnets)]]></pre>雖然在此參照所披露的結構已經說明了本發(fā)明,但是并不限定于前述的細節(jié),可以包含在如下權利要求范疇內的改型和變形都將包括在本申請之內。權利要求1.一種用于按照BCH代碼編碼的電磁信號的譯碼器,其中該代碼是由生成元多項式g(x)規(guī)定的代碼,并且有一個基元α,該譯碼器是按照xiαj項運行類的譯碼器;其特征在于形成乘積A*B(此處“*”是有限域乘法運算符)的電路包括多個乘法器,所述乘法器的第一輸入定義第一乘數(shù)A,所述乘法器的第二輸入定義第二乘數(shù);所述第二乘數(shù)是一個常數(shù)αk;其中所述乘法器的輸出連接到另一個所述乘法器的第一輸入;用來啟動所述乘法器的輸出的多個選擇器,所述選擇器具有按照幅度B的表達式設定的選擇線;以及用來把所述乘法器的所述被啟動的輸出加起來的連接到所述選擇器的加法電路。2.根據權利要求1的譯碼器,其特征在于所述乘法器由常系數(shù)乘法器構成。3.根據權利要求1的譯碼器,其特征在于還包括連接到所述選擇線上的多條線,其中所述線按照所述幅度B的表達式來設定。4.根據權利要求1的譯碼器,其特征在于所述加法電路進行不進位的加法運算。5.根據權利要求4的譯碼器,其特征在于所述加法電路由一個XOR門的邏輯網絡構成。6.一種用于按照BCH代碼編碼的電磁信號譯碼器,其中該代碼是生成元多項式g(X)規(guī)定的代碼,并且具有一個基元α,該譯碼器是按照xjαj項運行類的譯碼器;其特征是改進包括形成乘積A*B(此處“*”是有限域乘法運算符)的電路,該電路包括多個常系數(shù)乘法器,第一所述乘法器的第一輸入定義第一乘數(shù)A,所述乘法器的第二輸入定義第二乘數(shù);所述第二乘數(shù)是一個常數(shù)αk;其中所述每乘法器的輸出與第二所述乘法器的每輸入相連接;以及用來按照幅度B的表達式啟動所述乘法器的被選擇的輸出的選擇器電路。7.一種用于按照BCH代碼的電磁信號的譯碼器,該代碼是由生成元多項式g(X)規(guī)定,并且具有一個基元α,該譯碼器是運行于xiαj項類的譯碼器,并且有一個有限域乘法器;其特征在于包括多個常系數(shù)乘法器,所述多個常系數(shù)乘法器的輸入定義第一乘數(shù)A,所述常系數(shù)乘法器的第二乘數(shù)是一個常數(shù)αk;其中所述常系數(shù)乘法器的輸出與下一個常系數(shù)乘法器的輸入相連接;具有形成幅度B的二進制表達式的狀態(tài)的多條位線;多個開關,每個所述開關被連接到相應的一個所述常系數(shù)乘法器上,并具有與相應的一條所述位線相連接的控制線;以及用來把所述常系數(shù)乘法器的輸出加起來的連接到所述開關上的執(zhí)行模2加法運算的加法電路,由此,把所述加得的輸出作為幅度A*B的二進位表達式,此外“*”是有限域乘法運算符。8.根據權利要求7的譯碼器,其特征在于所述加法電路內邏輯網絡構成。9.一種用于按照BCH代碼編碼的電磁信號的譯碼器,其中該代碼是由生成元多項式g(X)規(guī)定的代碼,并且具有一個基元α,該譯碼器是按照xiαj項運行類的譯碼器;其特征是改進包括用來形成乘積A*B(“*”是有限域乘法運算符)的電路,該電路包括一個常系數(shù)乘法器的線性鏈路,所述鏈路中的第一所述乘法器的輸入定義第一乘數(shù)A,所述乘法器的第二乘數(shù)是常數(shù)αk;其中所述乘法器的輸出連接到下一個乘法器的輸入;具有連接到所述乘法器的輸出的第一輸入的多個AND門,用來啟動其輸出,所述門的每一個都有與母線連接的第二輸入,其中幅度B的二進度表達式呈現(xiàn)在所述母線上;以及用來把所述乘法器的所述被啟動的輸出加起來的與所述選擇器連接的加法電路。10.根據權利要求9的譯碼器,其特征在于所述加法電路由進行模2加法運算的安置的三個XOR門的邏輯網絡構成。11.一種進行里德-索羅門譯碼的方法,其中α是里德-索羅門代碼中的一個基元,該方法包括如下步驟提供一個其中具有里德-索羅門譯碼器的VLSI電路;和當?shù)玫匠朔exiαj而在所述電路中進行有限域乘法運算,其運算步驟為識別具有等于αj的和的αn值的線性合成值,對于每個αn值,n是整數(shù);αn乘以αn-k(k是整數(shù)),產生每個αn值;每個αn值乘以xi,以產生乘積αnxi;以及對乘積αnxi求和。全文摘要一種里德-索羅門譯碼器,包括一個優(yōu)選的有限域乘法電路,該電路有接線性鏈路連接的多個乘法器,其中第一乘法器的第一乘數(shù)是幅度A,第二乘數(shù)是一個常數(shù)。該電路按照加到αj上的線性合成α值運行,鏈路中的每個乘法器產生的連續(xù)的α值。多個選擇器按照幅度αj啟動乘法器的輸出。最好由XOR門的邏輯網絡實現(xiàn)的一個加法電路被連接到選擇器上,用于把乘法器的啟動的輸出加起來,以便形成最后的乘積。文檔編號G06F7/60GK1181664SQ9712115公開日1998年5月13日申請日期1997年10月22日優(yōu)先權日1996年10月30日發(fā)明者托馬斯·福克斯克羅夫特申請人:迪維安公司