專利名稱:伴隨式計算裝置及解碼器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電子技術(shù)領(lǐng)域,尤其涉及一種伴隨式計算裝置及解碼器。
背景技術(shù):
BCH碼作為一種重要的糾錯編碼方式,在通信領(lǐng)域和消費電子領(lǐng)域得到了廣泛的應(yīng)用。在數(shù)據(jù)存儲領(lǐng)域中,為了提高讀寫速度,通常都是采用多路數(shù)據(jù)讀寫結(jié)構(gòu),因此,BCH的多路復(fù)用就顯得尤為重要。目前有技術(shù)方案都是描述如何優(yōu)化單路的BCH編解碼器的面積和時序,而描述如何復(fù)用的卻很少。單路BCH編解碼器與多路BCH的編解碼器的優(yōu)化重點是不相同的,多路復(fù)用不僅僅要體現(xiàn)在面積上,更要體現(xiàn)在時序上,也就是說,復(fù)用的目的在于在滿足時序的前提下盡量減少面積。 一般的BCH解碼器包括三個步驟,第一是伴隨式計算,第二步是計算錯誤位置多項式,第三步則是錢搜索找出錯誤位置并糾正。其中伴隨式計算是整個BCH解碼器的第一步,由于其主要電路是一個除法器,通常做法是與編碼器共用除法電路,以節(jié)省面積,見圖I和圖2。假設(shè)碼長為n,信息位長度為k,GF(2~M)中糾錯強(qiáng)度為t的BCH解碼器輸入r(x)= c(x)+e(x),c(x)為碼多項式,e(x)為加入的錯誤多項式。那么有T7w| = IW+-t-γ式中,q(x)為r(x)除g(x)后的商,s(x)為余式。當(dāng)e (X) = O時,由于c (X)可以被g (X)整除,因此有r (X) = q (X) *g (X),也就是說余式s(x) =0。當(dāng)e (X)古O時,貝U有r(x) = q (X) *g (X)+s(x),假設(shè)X = a1,由于a1是生成多項式g (X)的根,也是r(x)的特征值,所以gfe1) = O,r {a1) = s (a1) = Si, j e
,這里Si就是伴隨式。伴隨式僅與errorpattern有關(guān),而與真實的數(shù)據(jù)無關(guān),當(dāng)它等于O時,說明無錯發(fā)生,否則,說明有錯存在。s(X)實際是r(x)對g(x)的余式,最高冪次為2*t,因此只需要使用除法電路求出這個余式,再將V再代入即可得到所有2*t個Si。但編碼器的除法電路生成的余數(shù)是一個長度與糾錯個數(shù)t相等的多項式,當(dāng)t較大時,生成伴隨式的延時也會比較大,不利于實現(xiàn)復(fù)用,從面不能減小面積。綜上可知,現(xiàn)有的解碼器的復(fù)用技術(shù),在實際使用上顯然存在不便與缺陷,所以有必要加以改進(jìn)。
發(fā)明內(nèi)容
針對上述的缺陷,本發(fā)明的目的在于提供一種伴隨式計算裝置及解碼器,其電路延時較短,可實現(xiàn)多路復(fù)用,在整體上節(jié)約面積。為了實現(xiàn)上述目的,本發(fā)明提供一種伴隨式計算裝置,應(yīng)用于BCH解碼器,所述伴隨式計算裝置包括最小多項式求余單元,包括P (P為正整數(shù))路求余子單元,每路求余子單元用于根據(jù)輸入的碼字,計算輸出碼字的最小多項式余式;
多路控制單元,用于暫存所述最小多項式求余單元所產(chǎn)生的中間數(shù)據(jù),并將所述最小多項式余式交由所述伴隨式運算單元處理;伴隨式運算單元,用于根據(jù)所述最小多項式余式計算獲取伴隨式。根據(jù)本發(fā)明的伴隨式計算裝置,所述求余子單元包括t(t為正整數(shù))個線性反饋移位寄存器,每個所述線性反饋移位寄存器包括M(M為正整數(shù))個數(shù)據(jù)寄存器,所述每個線性反饋移位寄存器的輸出為M位的最小多項式余式。
根據(jù)本發(fā)明的伴隨式計算裝置,所述多路控制單元包括P個與所述求余子單元對應(yīng)的t*M位的寄存器組,每個所述寄存器組用于存儲所述最小多項式求余單元所產(chǎn)生的中間數(shù)據(jù)以及每一路的最小多項式余式。根據(jù)本發(fā)明的伴隨式計算裝置,所述每個寄存器組連接一計數(shù)器組成一電路單元,用于當(dāng)所述寄存器組對應(yīng)的求余子單元完成該路的求余運算時,將該路的最小多項式余式輸出給所述伴隨式運算單元。根據(jù)本發(fā)明的伴隨式計算裝置,所述多路控制單元包括復(fù)用器和解復(fù)用器,均與所述最小多項式求余單元連接。根據(jù)本發(fā)明的伴隨式計算裝置,所述伴隨式運算單元包括t個運算子單元,每個所述運算子單元用于根據(jù)一所述M位的最小多項式余式,計算輸出M位的伴隨式。本發(fā)明還相應(yīng)的提供一種包括如上所述伴隨式計算裝置的解碼器。本發(fā)明通過在伴隨式計算裝置內(nèi)設(shè)置最小多項式求余單元,使其可以根據(jù)碼字生成多路最小多項式余式,并將多路最小多項式余式傳送到多路控制單元進(jìn)行暫存。多路控制單元收到觸發(fā)信號后將最小多項式余式交由伴隨式運算單元處理,伴隨式運算單元分路計算得到對應(yīng)的伴隨式,借此避免了迭代運算帶來的延時,可實現(xiàn)裝置的多路復(fù)用,節(jié)省面積。
圖I是現(xiàn)有技術(shù)一實施例的BCH伴隨式求余電路的結(jié)構(gòu)示意圖;圖2是現(xiàn)有技術(shù)一實施例的BCH伴隨式代入運算電路的結(jié)構(gòu)示意圖;圖3是本發(fā)明一實施例的伴隨式計算裝置的結(jié)構(gòu)示意圖;圖4是本發(fā)明另一實施例的伴隨式計算裝置的結(jié)構(gòu)示意圖;圖5是本發(fā)明一實施例的最小多項式求余單元的結(jié)構(gòu)示意圖;圖6是本發(fā)明一實施例的求余子單元的結(jié)構(gòu)示意圖;圖7是本發(fā)明一實施例的運算子單元的結(jié)構(gòu)示意圖。
具體實施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。參見圖3和圖4,本發(fā)明提供一種伴隨式計算裝置,其應(yīng)用于BCH解碼器,該裝置100包括最小多項式求余單元10、多路控制單元20和伴隨式運算單元30,其中最小多項式求余單元10包括P (P為正整數(shù))路求余子單元11,每路求余子單元用于根據(jù)輸入的碼字,計算輸出碼字的最小多項式余式。本發(fā)明的一實施例中,最小多項式求余單元10的結(jié)構(gòu)如圖5所示,具體的,每路求余子單元11的輸入為輸入端碼子的一個最小多項式OniI miP),再結(jié)合圖6所示的求余子單元11,其包括t (t為正整數(shù))個線性反饋移位寄存器111 (LFSR),每個線性反饋移位寄存器111包括M(M為正整數(shù))個數(shù)據(jù)寄存器1111,借此,每個線性反饋移位寄存器111的輸出為M位的最小多項式余式,每路求余子單元11可以輸出t個M位的最小多項式余式。多路控制單元20用于暫存所述最小多項式求余單元10所產(chǎn)生的中間數(shù)據(jù),并將所述最小多項式余式交由伴隨式運算單元30處理。具體的,多路控制單元20包括復(fù)用器21、解復(fù)用器22及P個與求余子單元11對應(yīng)的t*M位的寄存器組,復(fù)用器21和解復(fù)用器22均與最小多項式求余單元10連接,每個寄存器組用于存儲最小多項式求余單元10所產(chǎn)生的中間數(shù)據(jù)以及每一路的最小多項式余式。優(yōu)選的是,每一路寄存器組連接有一個計數(shù)器,且每一路寄存器組和一個計數(shù)器組成一電路單元(U0 Up-I),各電路單元連接于復(fù)用
器21和解復(fù)用器22之間,各電路單元還通過一復(fù)用器23連接于伴隨式運算單元30,用于當(dāng)所述寄存器組對應(yīng)的求余子單元11完成該路的求余運算時,就將該路的最小多項式余式輸出給伴隨式運算單元30進(jìn)行伴隨式的運算操作。需要說明的是,本發(fā)明的最小多項式求余單元10在一個碼長周期中的不同循環(huán)中所處理的數(shù)據(jù)并不一定是同一路的數(shù)據(jù),其可以是各路數(shù)據(jù)交替進(jìn)行除法求余操作,而多路控制單元20中的的寄存器組會保存每一路的中間數(shù)據(jù)。伴隨式運算單元30用于根據(jù)最小多項式余式計算獲取伴隨式。具體的,伴隨式運算單元30包括t個運算子單元31對應(yīng)于每一路的t個M位的最小多項式余式,并根據(jù)其中一路輸入的M位的最小多項式余式,計算輸出M位的伴隨式。借此完成伴隨式的計算。本發(fā)明一實施例中的運算子單元31的結(jié)構(gòu)如圖7所示,這t個組合邏輯電路可以在一個循環(huán)過程內(nèi)產(chǎn)生t個M位的伴隨多項式,相對于現(xiàn)有的伴隨式代入運算而言,避免了迭代運算帶來的延時。下面具體說明本發(fā)明的計算過程。從BCH碼的定義及現(xiàn)有背景技術(shù)內(nèi)容可知,若碼以oc,oc2,…,Oc EXt為根,則碼的生成多項式g(x) = LCM (ml (x), m2 (x), ...,m2t(x)),式中Hii(X)是~ iQ <= i <= 2*t)的最小多項式,最高冪次為M。本發(fā)明中將伴隨式計算中的除數(shù)由生成多項式換成最小多項式,從而有r(x) = q(x)*g(x)+s(x)=Qi (x) ^mi (x) +Si (x),Si(x)實際是r(x)對Hii(X)的余式,因此只需要求出這個余式,再將其代入即可得到所有的Si r ( qC x) = qj ( Oc !) >i<m. ( Oc x) +s. ( oc x) =si(ocl),l<=i< = 2*t,上式中的Si(O^i)就是伴隨式,見圖7。需要說明的,該處的與前面的S(oci)不同的是冪次不一樣,S(Oci)是n_k次冪,而Si(oci)得冪次則不超過M,冪次的降低會使得代入運算的計算量大大減少,從而大大地減少了運算延時。本發(fā)明一實施例中,假設(shè)每一路的數(shù)據(jù)率為200MB/S,四路并行,則總的數(shù)據(jù)率為800MB/S。又假設(shè)求余電路并行度為16,頻率為400MHz,也就是說最小多項式求余單元10總的處理速度為800MB/S,可以同時處理四路數(shù)據(jù),本發(fā)明的裝置100完全滿足要求。本發(fā)明還相應(yīng)的提供一種包括上述伴隨式計算裝置100的BCH解碼器。本發(fā)明在多通道BCH解碼應(yīng)用中,使得多個通道可以復(fù)用同一個伴隨式計算裝置100,而無須每個通道都安裝一伴隨式計算模塊,借此大大節(jié)省面積。綜上所述,本發(fā)明通過在伴隨式計算裝置內(nèi)設(shè)置最小多項式求余單元,使其可以根據(jù)碼字生成多路最小多項式余式,并將多路最小多項式余式傳送到多路控制單元進(jìn)行暫存。多路控制單元收到觸發(fā)信號后將最小多項式余式交由伴隨式運算單元處理,伴隨式運算單元分路計算得到對應(yīng)的伴隨式,借此避免了迭代運算帶來的延時,可實現(xiàn)裝置的多路復(fù)用,節(jié)省面積。
當(dāng)然,本發(fā)明還可有其它多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1.一種伴隨式計算裝置,應(yīng)用于BCH解碼器,其特征在于,所述伴隨式計算裝置包括 最小多項式求余單元,包括P (P為正整數(shù))路求余子單元,每路求余子單元用于根據(jù)輸入的碼字,計算輸出碼字的最小多項式余式; 多路控制單元,用于暫存所述最小多項式求余單元所產(chǎn)生的中間數(shù)據(jù),并將所述最小多項式余式交由伴隨式運算單元處理; 伴隨式運算單元,用于根據(jù)所述最小多項式余式計算獲取伴隨式。
2.根據(jù)權(quán)利要求I所述的伴隨式計算裝置,其特征在于,所述求余子單元包括t(t為正整數(shù))個線性反饋移位寄存器,每個所述線性反饋移位寄存器包括M(M為正整數(shù))個數(shù)據(jù)寄存器,所述每個線性反饋移位寄存器的輸出為M位的最小多項式余式。
3.根據(jù)權(quán)利要求2所述的伴隨式計算裝置,其特征在于,所述多路控制單元包括p個與所述求余子單元對應(yīng)的t*M位的寄存器組,每個所述寄存器組用于存儲所述最小多項式求余單元所產(chǎn)生的中間數(shù)據(jù)以及每一路的最小多項式余式。
4.根據(jù)權(quán)利要求3所述的伴隨式計算裝置,其特征在于,所述每個寄存器組連接一計數(shù)器組成一電路單元,用于當(dāng)所述寄存器組對應(yīng)的求余子單元完成該路的求余運算時,將該路的最小多項式余式輸出給所述伴隨式運算單元。
5.根據(jù)權(quán)利要求4所述的伴隨式計算裝置,其特征在于,所述多路控制單元包括復(fù)用器和解復(fù)用器,均與所述最小多項式求余單元連接。
6.根據(jù)權(quán)利要求2所述的伴隨式計算裝置,其特征在于,所述伴隨式運算單元包括t個運算子單元,每個所述運算子單元用于根據(jù)一所述M位的最小多項式余式,計算輸出M位的伴隨式。
7.一種包括如權(quán)利要求I 6任一項所述伴隨式計算裝置的解碼器。
全文摘要
本發(fā)明適用于電子技術(shù)領(lǐng)域,提供了一種伴隨式計算裝置,應(yīng)用于BCH解碼器,所述伴隨式計算裝置包括最小多項式求余單元,包括p(p為正整數(shù))路求余子單元,每路求余子單元用于根據(jù)輸入的碼字,計算輸出碼字的最小多項式余式;多路控制單元,用于暫存所述最小多項式求余單元所產(chǎn)生的中間數(shù)據(jù),并將所述最小多項式余式交由所述伴隨式運算單元處理;伴隨式運算單元,用于根據(jù)所述最小多項式余式計算獲取伴隨式。本發(fā)明還相應(yīng)的提供一種包括上述裝置的解碼器。借此,本發(fā)明的裝置延時較短,可實現(xiàn)電路的多路復(fù)用,在整體上節(jié)約了面積。
文檔編號H03M13/15GK102811066SQ201210246708
公開日2012年12月5日 申請日期2012年7月17日 優(yōu)先權(quán)日2012年7月17日
發(fā)明者朱麗娟, 莫海鋒 申請人:記憶科技(深圳)有限公司