專利名稱:用于并行bch編碼的電路、編碼器和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及對數(shù)據(jù)進行糾錯編碼的技術(shù)領(lǐng)域,尤其涉及一種用于并行BCH編碼電路、編碼器和裝置。
背景技術(shù):
BCH碼是一種糾錯碼,主要應(yīng)用于數(shù)字系統(tǒng)的差錯控制。BCH碼在通信、存儲、信息轉(zhuǎn)移等數(shù)據(jù)傳輸過程中有著十分重要的應(yīng)用。對數(shù)據(jù)進行BCH編碼的方式有兩種,一種是串行編碼方式,另一種是并行編碼方式。
圖1示出了串行BCH編碼電路的結(jié)構(gòu)。串行BCH編碼電路的結(jié)構(gòu)比較簡單,電路的輸入/輸出數(shù)據(jù)都是采用串行的方式。其中,gi(i=1、2、......、n-k-1)為預(yù)置的參數(shù),D表示寄存器。采用串行方式對數(shù)據(jù)進行BCH編碼時,如果需要對k個比特(bit)的數(shù)據(jù)進行BCH編碼、校驗碼為m個bit,則需要k+m個時鐘周期才能輸出完整的編碼數(shù)據(jù)。例如,當(dāng)采用串行的方式對8072個bit的數(shù)據(jù)進行BCH編碼、校驗碼為104個bit、則需要8176個時鐘周期才能輸出完整的編碼數(shù)據(jù)。
如果采用并行的方式對k個bit的數(shù)據(jù)進行BCH編碼、校驗碼為m個bit、并行度為L,則需要 個時鐘周期就能輸出完整的編碼數(shù)據(jù),其中,并行度就是并行數(shù)據(jù)的路數(shù)。例如,當(dāng)采用并行的方式對8072個bit的數(shù)據(jù)進行BCH編碼、校驗碼為104個bit、并行度為8,則需要1022個時鐘周期就能輸出完整的編碼數(shù)據(jù)。
可以看出,采用并行方式對數(shù)據(jù)進行BCH編碼可以有效地縮短編碼時間。但是,并行BCH編碼電路的結(jié)構(gòu)與串行BCH編碼電路的結(jié)構(gòu)差別很大。目前,雖然存在一些關(guān)于并行BCH編碼電路的方案,但是這些方案的算法都非常復(fù)雜,電路的結(jié)構(gòu)也很復(fù)雜。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明解決的技術(shù)問題是提供一種用于并行BCH編碼的電路、編碼器和裝置,該電路、編碼器和裝置的結(jié)構(gòu)很有規(guī)律,容易實現(xiàn),基于該電路、編碼器和裝置可以方便地對數(shù)據(jù)進行BCH并行編碼。
為此,本發(fā)明提供的技術(shù)方案如下一種用于并行BCH編碼的電路,包括M個運算單元電路、一個反饋單元電路和一個數(shù)據(jù)輸出單元電路;所述M個運算單元電路、反饋單元電路和數(shù)據(jù)輸出單元電路串行連接;數(shù)據(jù)輸出單元電路的L路并行數(shù)據(jù)輸出端作為所述電路的并行數(shù)據(jù)輸出端口,并與第一個運算單元電路的L路并行數(shù)據(jù)輸入端口分別對應(yīng)連接;反饋單元電路的L路并行數(shù)據(jù)輸出端口還與每個運算單元電路的L路并行反饋端口分別對應(yīng)連接;反饋單元電路還包括L路并行原始數(shù)據(jù)輸入端口,作為所述電路的并行數(shù)據(jù)輸入端口,用于輸入待編碼的L路并行數(shù)據(jù);運算單元電路還包括2×L-1個并行參數(shù)輸入端口,反饋單元電路還包括L-1個并行參數(shù)輸入端口,數(shù)據(jù)輸出單元電路還包括L個并行參數(shù)輸入端口;其中,M=mL,]]>m為校驗碼的bit數(shù)、L為并行度。
其中,運算單元電路包括L個基本單元電路;L個基本單元電路的數(shù)據(jù)輸入端口組成運算單元電路的L路并行數(shù)據(jù)輸入端口,L個基本單元電路的數(shù)據(jù)輸出端口組成運算單元電路的L路并行數(shù)據(jù)輸出端口;各基本單元電路的反饋端口并聯(lián),以并聯(lián)后的各反饋端口作為運算單元電路相應(yīng)的并行反饋端口;按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元電路,將L個基本單元電路的參數(shù)輸入端口移位并聯(lián),以獲得的2×L-1個移位并聯(lián)后的參數(shù)輸入端口作為運算單元電路相應(yīng)的并行參數(shù)輸入端口。
其中,反饋單元電路包括L個基本單元電路和L個二輸入異或門;按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元電路,第i至第L個基本單元電路的第i-1個參數(shù)輸入端口并聯(lián),i=2、3、......、L-1,以并聯(lián)后的各參數(shù)輸入端口和第L個基本單元電路的第L-1個參數(shù)輸入端口作為反饋單元電路相應(yīng)的L-1個并行參數(shù)輸入端口,各基本單元電路的其它參數(shù)輸入端口都連接到低電平;按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元電路,第i個基本單元電路的數(shù)據(jù)輸出端口與第i+1至第L個基本單元電路的第i個反饋端口連接,i=1,......,L-1,各基本單元電路的其它反饋端口都連接到低電平;各基本單元電路的數(shù)據(jù)輸入端口分別連接到一個二輸入異或門的輸出端;按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元電路,第i個二輸入異或門的第一輸入端作為第i個原始數(shù)據(jù)輸入端,第二輸入端作為第L-i+1個數(shù)據(jù)輸入端,i=1、......、L;以L個基本單元電路的數(shù)據(jù)輸出端口作為反饋單元電路相應(yīng)的數(shù)據(jù)輸出端口。
其中,數(shù)據(jù)輸出單元電路包括L個基本單元電路;所有基本單元電路的數(shù)據(jù)輸入端口都接到低電平,L個基本單元電路的數(shù)據(jù)輸出端口作為數(shù)據(jù)輸出單元電路相應(yīng)的數(shù)據(jù)輸出端口;按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元電路,將各基本單元電路的參數(shù)輸入端口錯位并聯(lián),以錯位并聯(lián)后的各參數(shù)輸入端口和第L個基本單元電路的第1個參數(shù)輸入端口作為數(shù)據(jù)輸出單元電路相應(yīng)的參數(shù)輸入端口,各基本單元電路的其它參數(shù)輸入端口都連接到低電平;按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元電路,將第i至第L個基本單元電路的第i個反饋端口并聯(lián),i=1、......、L-1,以各并聯(lián)后的反饋端口和第L個基本單元電路的第L個反饋端口作為數(shù)據(jù)輸出單元電路相應(yīng)的數(shù)據(jù)輸入端口,各基本單元電路的其它反饋端口都連接到低電平。
其中,所述基本單元電路包括L個二輸入與門和一個多輸入異或門;所述多輸入異或門的輸出端作為基本單元電路的數(shù)據(jù)輸出端,所述多輸入異或門的一個輸入端作為基本單元的數(shù)據(jù)輸入端,其它每個輸入端分別連接到一個二輸入與門的輸出端;各二輸入與門的第一輸入端作為參數(shù)輸入端口,第二輸入端作為相應(yīng)的反饋端口。
其中,各基本運算單元電路的數(shù)據(jù)輸出端還連接至少一級寄存器。
基于上述電路,本發(fā)明還提供一種用于并行BCH編碼的編碼器,在該編碼器中采用了上述的電路。
本發(fā)明還提供一種用于并行BCH編碼的裝置,包括M個運算單元、一個反饋單元和一個數(shù)據(jù)輸出單元;所述M個運算單元、反饋單元和數(shù)據(jù)輸出單元串行連接;數(shù)據(jù)輸出單元的L路并行數(shù)據(jù)輸出端作為所述裝置的并行數(shù)據(jù)輸出端口,并與第一個運算單元的L路并行數(shù)據(jù)輸入端口分別對應(yīng)連接;反饋單元的L路并行數(shù)據(jù)輸出端口還與每個運算單元的L路并行反饋端口分別對應(yīng)連接;反饋單元還包括L路并行原始數(shù)據(jù)輸入端口,作為所述裝置的并行數(shù)據(jù)輸入端口,用于輸入待編碼的L路并行數(shù)據(jù);運算單元還包括2×L-1個并行參數(shù)輸入端口,反饋單元還包括L-1個并行參數(shù)輸入端口,數(shù)據(jù)輸出單元還包括L個并行參數(shù)輸入端口;其中,M=mL,]]>m為校驗碼的bit數(shù)、L為并行度。
其中,運算單元包括L個基本單元;L個基本單元的數(shù)據(jù)輸入端口組成運算單元的L路并行數(shù)據(jù)輸入端口,L個基本單元的數(shù)據(jù)輸出端口組成運算單元的L路并行數(shù)據(jù)輸出端口;各基本單元的反饋端口并聯(lián),以并聯(lián)后的各反饋端口作為運算單元相應(yīng)的并行反饋端口;按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元,將L個基本單元的參數(shù)輸入端口移位并聯(lián),以獲得的2×L-1個移位并聯(lián)后的參數(shù)輸入端口作為運算單元相應(yīng)的并行參數(shù)輸入端口。
其中,反饋單元包括L個基本單元和L個二輸入異或門;按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元,第i至第L個基本單元的第i-1個參數(shù)輸入端口并聯(lián),i=2、3、......、L-1,以并聯(lián)后的各參數(shù)輸入端口和第L個基本單元的第L-1個參數(shù)輸入端口作為反饋單元相應(yīng)的L-1個并行參數(shù)輸入端口,各基本單元的其它參數(shù)輸入端口都連接到低電平;按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元,第i個基本單元的數(shù)據(jù)輸出端口與第i+1至第L個基本單元的第i個反饋端口連接,i=1,......,L-1,各基本單元的其它反饋端口都連接到低電平;各基本單元的數(shù)據(jù)輸入端口分別連接到一個二輸入異或門的輸出端;按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元,第i個二輸入異或門的第一輸入端作為第i個原始數(shù)據(jù)輸入端,第二輸入端作為第L-i+1個數(shù)據(jù)輸入端,i=1、......、L;以L個基本單元的數(shù)據(jù)輸出端口作為反饋單元相應(yīng)的數(shù)據(jù)輸出端口。
其中,數(shù)據(jù)輸出單元包括L個基本單元;所有基本單元的數(shù)據(jù)輸入端口都接到低電平,L個基本單元的數(shù)據(jù)輸出端口作為數(shù)據(jù)輸出單元相應(yīng)的數(shù)據(jù)輸出端口;按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元,將各基本單元的參數(shù)輸入端口錯位并聯(lián),以錯位并聯(lián)后的各參數(shù)輸入端口和第L個基本單元的第1個參數(shù)輸入端口作為數(shù)據(jù)輸出單元相應(yīng)的參數(shù)輸入端口,各基本單元的其它參數(shù)輸入端口都連接到低電平;按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元,將第i至第L個基本單元的第i個反饋端口并聯(lián),i=1、......、L-1,以各并聯(lián)后的反饋端口和第L個基本單元的第L個反饋端口作為數(shù)據(jù)輸出單元相應(yīng)的數(shù)據(jù)輸入端口,各基本單元的其它反饋端口都連接到低電平。
本發(fā)明提供的用于并行BCH編碼的電路、編碼器和裝置都采用模塊化的結(jié)構(gòu),因此結(jié)構(gòu)簡單,容易實現(xiàn)。另外,所述電路、編碼器和裝置獨立于具體的編碼算法,通過輸入不同的參數(shù)即可實現(xiàn)不同的編碼算法,從而擴展了所述電路、編碼器和裝置的通用性,使所述電路、編碼器和裝置具有很強的通用性。所述電路、編碼器和裝置的應(yīng)用范圍非常廣,可以應(yīng)用到通信、數(shù)據(jù)傳輸和數(shù)據(jù)校驗等領(lǐng)域。
圖1是現(xiàn)有的串行BCH編碼電路的結(jié)構(gòu)示意圖;圖2是本發(fā)明提供的并行BCH編碼電路的結(jié)構(gòu)示意圖;圖3是運算單元電路的一個具體結(jié)構(gòu)示意圖;圖4是反饋單元電路的一個結(jié)構(gòu)示意圖;圖5是數(shù)據(jù)輸出單元電路的一個結(jié)構(gòu)示意圖;圖6是基本單元電路的一個結(jié)構(gòu)示意圖;圖7是在運算單元電路的各基本單元的輸出端分別連接一級寄存器的示意圖。
具體實施例方式
為使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明,下面結(jié)合具體的實施例對本發(fā)明提供的并行BCH編碼電路作具體說明,圖2是所述并行BCH編碼電路的結(jié)構(gòu)示意圖。
在本發(fā)明提供的并行BCH編碼電路中,包括M個運算單元(pipelinecell)電路S210、1個反饋單元(feedback cell)電路S220和1個數(shù)據(jù)輸出單元(dataout cell)電路S230,其中,M=mL,]]>m為校驗碼的bit數(shù)、L為并行度。
運算單元電路S210用于完成BCH碼生成矩陣的功能,編碼的過程本質(zhì)上是利用信息碼按照生成矩陣計算出校驗碼,因此運算單元電路S210是整個編碼計算的核心。
反饋單元電路S220用于計算串行計算中的數(shù)據(jù)反饋,由于串行計算時候,反饋數(shù)據(jù)就是最后一級輸出數(shù)據(jù),所以并行計算的時候就需要提前計算L級的反饋數(shù)據(jù)。
數(shù)據(jù)輸出單元電路S230用于完成并行計算造成數(shù)據(jù)L級內(nèi)優(yōu)先級的補償問題。
M個運算單元電路S210、反饋單元電路S220和數(shù)據(jù)輸出單元電路S230依次進行串行連接,形成三級功能環(huán)路,即,前一個運算單元電路S210的L路并行數(shù)據(jù)輸出端口Dout1[L]、......、Dout1[1]與后一個運算單元電路S210的L路并行數(shù)據(jù)輸入端口Din1[L]、......、Din1[1]分別對應(yīng)連接,最后一個運算單元電路S210的L路并行數(shù)據(jù)輸出端口Dout1[L]、......、Dout1[1]與反饋單元電路S220的L路并行數(shù)據(jù)輸入端口Din2[L]、......、Din2[1]分別對應(yīng)連接,反饋單元電路S220的L路并行數(shù)據(jù)輸出端口Dout2[L]、......、Dout2[1]與數(shù)據(jù)輸出單元電路S230的L路并行數(shù)據(jù)輸入端口Din3[L]、......、Din3[1]分別對應(yīng)連接,數(shù)據(jù)輸出單元電路S230的L路并行數(shù)據(jù)輸出端口Dout3[L]、......、Dout3[1]作為編碼電路的并行數(shù)據(jù)輸出端口,并與第一個運算單元電路S210的L路并行數(shù)據(jù)輸入端口Din1[L]、......、Din1[1]分別對應(yīng)連接。
反饋單元電路S220的L路并行數(shù)據(jù)輸出端口Dout2[L]、......、Dout2[1]還與每個運算單元電路S210的L路并行反饋端口FB[L]、......、FB[1]分別對應(yīng)連接。反饋單元電路S220還包括L路并行原始數(shù)據(jù)輸入端口Data[L]、......、Data[1],作為編碼電路的并行數(shù)據(jù)輸入端口,用于輸入待編碼的L路并行數(shù)據(jù)。
其中,運算單元電路S210還包括2×L-1個并行參數(shù)輸入端口Para1[2×L-1]、......、Para1[1],即,上一級運算單元和當(dāng)前一級運算單元的系數(shù),反饋單元電路S220還包括L-1個并行參數(shù)輸入端口Para2[L-1]、......、Para2[1],數(shù)據(jù)輸出單元電路S230還包括L個并行參數(shù)輸入端口Para3[L]、......、Para3[1],通過并行參數(shù)輸入端口可以將外部設(shè)置的參數(shù)傳遞給各單元電路。
由于待編碼的L路并行數(shù)據(jù)通常是由串行數(shù)據(jù)經(jīng)過串-并轉(zhuǎn)換后得到的,因此,可以按串行數(shù)據(jù)的先后順序設(shè)置并行數(shù)據(jù)的優(yōu)先級。相應(yīng)地,端口xxx[L]、......、xxx[1]依次表示最高位數(shù)據(jù)端口到最低位數(shù)據(jù)端口。同理,參數(shù)輸入端口Para1[2×L-1]、......、Para1[1]依次表示最高位參數(shù)輸入端口到最低位參數(shù)輸入端口;參數(shù)輸入端口Para2[L-1]、......、Para2[1]依次表示最高位參數(shù)輸入端口到最低位參數(shù)輸入端口。
采用上述連接方式后,M個運算單元電路S210就可以流水線的方式對并行數(shù)據(jù)進行BCH編碼。
本領(lǐng)域技術(shù)人員能夠看出,本發(fā)明中的運算單元電路、反饋單元電路和數(shù)據(jù)輸出單元電路的電路結(jié)構(gòu)可以有很多種。本發(fā)明為使所提供的并行BCH編碼電路更容易實現(xiàn),選擇采用了模塊化的電路結(jié)構(gòu),即,基于一個基本單元(base cell)電路設(shè)計出運算單元電路、反饋單元電路和數(shù)據(jù)輸出單元電路。下面對運算單元電路、反饋單元電路和數(shù)據(jù)輸出單元電路分別進行更具體的說明。
首先對運算單元電路進行說明,運算單元電路包括L個基本單元電路,分別為第1基本單元電路、......、第L基本單元電路。其中,基本單元電路主要用于一個并行度內(nèi)數(shù)據(jù)的處理。
基本單元電路包括一個數(shù)據(jù)輸入端口datain,一個數(shù)據(jù)輸出端口dataout,L個并行反饋端口feedback[L]、......、feedback[1]和L個并行參數(shù)輸入端口parameter[L]、......、parameter[1]。
由L個數(shù)據(jù)輸入端口datain組成運算單元電路的L路并行數(shù)據(jù)輸入端口Din1[L]、......、Din1[1],由L個數(shù)據(jù)輸出端口dataout組成運算單元電路的L路并行數(shù)據(jù)輸出端口Dout1[L]、......、Dout1[1]。
各基本單元電路的反饋端口feedback[j]進行并聯(lián),j=L、......、1,以并聯(lián)后的各反饋端口作為運算單元電路相應(yīng)的并行反饋端口FB[L]、......、FB[1]。
外部輸入的L路并行數(shù)據(jù),每一路數(shù)據(jù)將被輸入到對應(yīng)的一個基本單元電路。各基本單元電路將根據(jù)外部設(shè)置的參數(shù)和外部反饋的數(shù)據(jù)對輸入的數(shù)據(jù)進行處理,然后輸出處理后的數(shù)據(jù)。
按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元電路,將L個基本單元電路的參數(shù)輸入端口移位并聯(lián),獲得2×L-1個移位并聯(lián)后的參數(shù)輸入端口。以所述2×L-1個參數(shù)輸入端口作為運算單元電路相應(yīng)的并行參數(shù)輸入端口Para1[2×L-1]、......、Para1[1]。
所謂移位并聯(lián)是指第i個基本單元電路的參數(shù)輸入端口parameter[j]和第i+1個基本單元電路的參數(shù)輸入端口parameter[j+1]并聯(lián)連接,其中,i=1,......,L-1,j=L-1,......,1。
也就是說,第1個基本單元電路的參數(shù)輸入端口parameter[L-1]、......、parameter[1]與第2個基本單元電路的參數(shù)輸入端口parameter[L]、......、parameter[2]并聯(lián)連接;第2個基本單元電路的參數(shù)輸入端口parameter[L-1]、......、parameter[1]與第3個基本單元電路的參數(shù)輸入端口parameter[L]、......、parameter[2]并聯(lián)連接;并依此類推,第L-1個基本單元電路的參數(shù)輸入端口parameter[L-1]、......、parameter[1]與第L個基本單元電路的參數(shù)輸入端口parameter[L]、......、parameter[2]并聯(lián)連接。
圖3是運算單元電路的一個具體結(jié)構(gòu)示意圖。在圖3中,并行度L=4,該運算單元電路包括4個基本單元電路,按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元電路,分別是基本單元電路S1、S2、S3和S4。每個基本單元電路包括一個數(shù)據(jù)輸入端口datain,一個數(shù)據(jù)輸出端口dataout,4個并行反饋端口feedback[4]、feedback[3]、feedback[2]、feedback[1]和4個并行參數(shù)輸入端口parameter[4]、parameter[3]、parameter[2]、parameter[1]。
由基本單元電路S1、S2、S3和S4的4個數(shù)據(jù)輸入端口datain組成運算單元電路的并行數(shù)據(jù)輸入端口Din1[1]、Din1[2]、Din1[3]和Din1[4]。
由基本單元電路S1、S2、S3和S4的4個數(shù)據(jù)輸出端口dataout組成運算單元電路的并行數(shù)據(jù)輸出端口Dout1[1]、Dout1[2]、Dout1[3]和Dout1[4]。
將基本單元電路S1、S2、S3和S4的反饋端口feedback[4]并聯(lián),以并聯(lián)后的反饋端口作為運算單元電路的反饋端口FB[4]。同理,將4個基本單元電路的反饋端口feedback[3]并聯(lián),將4個基本單元電路的反饋端口feedback[2]并聯(lián),將4個基本單元電路的反饋端口feedback[1]并聯(lián),以并聯(lián)后的反饋端口作為運算單元電路的反饋端口FB[3]、FB[2]和FB[1]。
基本單元電路S1、S2、S3和S4的參數(shù)輸入端口進行移位并聯(lián)后,獲得7個移位并聯(lián)的端口Para1[7]、Para1[6]、......、Para1[1]??梢钥闯?,通過移位并聯(lián),可以等效于將輸入的7路數(shù)據(jù)進行移位后分別輸入4個基本單元電路。
對運算單元電路的結(jié)構(gòu)進行說明后,下面對反饋單元電路的結(jié)構(gòu)進行具體說明。反饋單元電路包括L個基本單元電路和相應(yīng)的L個二輸入異或門。
按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元電路,第i、i+1、......、L個基本單元電路的參數(shù)輸入端口parameter[i-1]并聯(lián),i=2、3、......、L-1。
也就是說,第2、3、......、L個基本單元電路的參數(shù)輸入端口parameter[1]并聯(lián),第3、......、L個基本單元電路的參數(shù)輸入端口parameter[2]并聯(lián),依此類推,第L-1、L個基本單元電路的參數(shù)輸入端口parameter[L-2]并聯(lián)。
以并聯(lián)后的各參數(shù)輸入端口,以及第L個基本單元電路的參數(shù)輸入端口parameter[L-1]作為反饋單元電路相應(yīng)的參數(shù)輸入端口Para 2[1]、......、Para2[L-1]。各基本單元電路的其它參數(shù)輸入端口都連接到低電平。
按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元電路,第i個基本單元電路的數(shù)據(jù)輸出端口dataout與第i+1、......、L個基本單元電路的反饋端口feedback[i]連接,i=1,......,L-1。
也就是說,第1個基本單元電路的數(shù)據(jù)輸出端口dataout與第2、......、L個基本單元電路的反饋端口feedback[1]連接;第2個基本單元電路的數(shù)據(jù)輸出端口dataout與第3、......、L個基本單元電路的反饋端口feedback[2]連接;依此類推,第L-1個基本單元電路的數(shù)據(jù)輸出端口dataout與第L個基本單元電路的反饋端口feedback[L-1]連接。各基本單元電路的其它反饋端口都連接到低電平。
各基本單元電路的數(shù)據(jù)輸入端口datain分別連接到一個異或門的輸出端。按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元電路,第i個異或門的一個輸入端作為原始數(shù)據(jù)輸入端data[i],另一個輸入端作為數(shù)據(jù)輸入端Din2[L-i+1],i=1、......、L。
以第i個基本單元電路的數(shù)據(jù)輸出端口dataout作為反饋單元電路的數(shù)據(jù)輸出端口Dout2[i],i=1、......、L。
圖4是反饋單元電路的一個結(jié)構(gòu)示意圖。在圖4中,并行度L=4,該反饋單元電路包括4個基本單元電路,按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元電路,分別是基本單元電路Y1、Y2、Y3和Y4。相應(yīng)地,該反饋單元電路還包括4個二輸入異或門,分別是異或門41、42、43和44。
由基本單元電路Y1、Y2、Y3和Y4的4個數(shù)據(jù)輸入端口dataout組成運算單元電路的并行數(shù)據(jù)輸入端口Dout2[1]、Dout2[2]、Dout2[3]和Dout2[4]。
基本單元電路Y2、Y3和Y4的參數(shù)輸入端口parameter[1]并聯(lián),以并聯(lián)后的端口作為反饋單元電路的參數(shù)輸入端口Para 2[1];基本單元電路Y3和Y4的參數(shù)輸入端口parameter[2]并聯(lián),以并聯(lián)后的端口作為反饋單元電路的參數(shù)輸入端口Para 2[2];以基本單元電路Y4的參數(shù)輸入端口parameter[3]作為反饋單元電路的參數(shù)輸入端口Para 2[3]。
基本單元電路Y1所有的參數(shù)輸入端口都接到低電平,基本單元電路Y2、Y3和Y4中其它未使用的參數(shù)輸入端口也都連接到低電平。
基本單元電路Y1的數(shù)據(jù)輸出端口dataout與基本單元電路Y2、Y3、Y4的反饋端口feedback[1]連接;基本單元電路Y2的數(shù)據(jù)輸出端口dataout與基本單元電路Y3、Y4的反饋端口feedback[2]連接;基本單元電路Y3的數(shù)據(jù)輸出端口dataout與基本單元電路Y4的反饋端口feedback[3]連接。
基本單元電路Y1所有的反饋端口都接到低電平,基本單元電路Y2、Y3和Y4中其它未使用的反饋端口也都連接到低電平。
基本單元電路Y1、Y2、Y3、Y4的數(shù)據(jù)輸入端口datain分別連接異或門41、42、43、44的輸出端。
異或門41的一個輸入端作為原始數(shù)據(jù)輸入端data[1],另一個輸入端作為數(shù)據(jù)輸入端Din2[4];異或門42的一個輸入端作為原始數(shù)據(jù)輸入端data[2],另一個輸入端作為數(shù)據(jù)輸入端Din2[3];異或門43的一個輸入端作為原始數(shù)據(jù)輸入端data[3],另一個輸入端作為數(shù)據(jù)輸入端Din2[2];異或門44的一個輸入端作為原始數(shù)據(jù)輸入端data[4],另一個輸入端作為數(shù)據(jù)輸入端Din2[1]。
對反饋單元電路的結(jié)構(gòu)進行說明后,下面對數(shù)據(jù)輸出單元電路的結(jié)構(gòu)進行具體說明。
數(shù)據(jù)輸出單元電路包括L個基本單元電路,所有基本單元電路的數(shù)據(jù)輸入端口datain都接到低電平。
按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元電路,以第i個基本單元電路的數(shù)據(jù)輸出端口dataout作為數(shù)據(jù)輸出單元電路的數(shù)據(jù)輸出端口Dout3[i],i=1、......、L。
按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元電路,將各基本單元電路的參數(shù)輸入端口錯位并聯(lián),即,將第i個基本單元電路的參數(shù)輸入端口parameter[1]、第i+1個基本單元電路的參數(shù)輸入端口parameter[2]、第i+2個基本單元電路的參數(shù)輸入端口parameter[3]、......、第L個基本單元電路的參數(shù)輸入端口parameter[L-i+1]并聯(lián),i=1、......、L-1。
也就是說,第1個基本單元電路的參數(shù)輸入端口parameter[1]、第2個基本單元電路的參數(shù)輸入端口parameter[2]、......、第L個基本單元電路的參數(shù)輸入端口parameter[L]并聯(lián);第2個基本單元電路的參數(shù)輸入端口parameter[1]、第3個基本單元電路的參數(shù)輸入端口parameter[2]、......、第L個基本單元電路的參數(shù)輸入端口parameter[L-1]并聯(lián);依此類推,第L-1個基本單元電路的參數(shù)輸入端口parameter[1]和第L個基本單元電路的參數(shù)輸入端口parameter[2]并聯(lián)。
以錯位并聯(lián)后的各參數(shù)輸入端口,以及第L個基本單元電路的參數(shù)輸入端口parameter[1]作為數(shù)據(jù)輸出單元電路相應(yīng)的參數(shù)輸入端口Para3[L]、......、Para3[1]。
各基本單元電路的其它參數(shù)輸入端口都連接到低電平。
按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元電路,第i、i+1、......、L個基本單元電路的反饋端口feedback[i]并聯(lián),i=1、......、L-1。
也就是說,第1、2、......、L個基本單元電路的反饋端口feedback[1]并聯(lián),第2、3、......、L個基本單元電路的反饋端口feedback[2]并聯(lián),依此類推,第L-1、L個基本單元電路的反饋端口feedback[L-1]并聯(lián)。
以各并聯(lián)后的反饋端口,以及第L個基本單元電路的反饋端口feedback[L]作為數(shù)據(jù)輸出單元電路相應(yīng)的數(shù)據(jù)輸入端口Din3[1]、......、Din3[L]。
各基本單元電路的其它反饋端口都連接到低電平。
圖5是數(shù)據(jù)輸出單元電路的一個結(jié)構(gòu)示意圖,在圖5中,并行度L=4,該數(shù)據(jù)輸出單元電路包括4個基本單元電路,按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元電路,分別是基本單元電路Z1、Z2、Z3和Z4。
基本單元電路Z1、Z2、Z3和Z4的數(shù)據(jù)輸入端口datain都接到低電平,基本單元電路Z1、Z2、Z3和Z4的數(shù)據(jù)輸出端口dataout分別作為數(shù)據(jù)輸出單元電路的數(shù)據(jù)輸出端口Dout3[1]、Dout3[2]、Dout3[3]和Dout3[4]。
將基本單元電路Z1的參數(shù)輸入端口parameter[1]、基本單元電路Z2的參數(shù)輸入端口parameter[2]、基本單元電路Z3的參數(shù)輸入端口parameter[3]和基本單元電路Z4的參數(shù)輸入端口parameter[4]并聯(lián),以并聯(lián)后的端口作為數(shù)據(jù)輸出單元電路的參數(shù)輸入端口Para3[4];將基本單元電路Z2的參數(shù)輸入端口parameter[1]、基本單元電路Z3的參數(shù)輸入端口parameter[2]和基本單元電路Z4的參數(shù)輸入端口parameter[3]并聯(lián),以并聯(lián)后的端口作為數(shù)據(jù)輸出單元電路的參數(shù)輸入端口Para3[3];將基本單元電路Z3的參數(shù)輸入端口parameter[1]和基本單元電路Z4的參數(shù)輸入端口parameter[2]并聯(lián),以并聯(lián)后的端口作為數(shù)據(jù)輸出單元電路的參數(shù)輸入端口Para3[2];以基本單元電路Z4的參數(shù)輸入端口parameter[1]作為數(shù)據(jù)輸出單元電路的參數(shù)輸入端口Para3[1]。
基本單元電路Z1、Z2、Z3和Z4的其它參數(shù)輸入端口都連接到低電平。
將基本單元電路Z1、Z2、Z3和Z4的反饋端口feedback[1]并聯(lián),以并聯(lián)后的端口作為數(shù)據(jù)輸出單元電路的數(shù)據(jù)輸入端口Din3[1];將基本單元電路Z2、Z3和Z4的反饋端口feedback[2]并聯(lián),以并聯(lián)后的端口作為數(shù)據(jù)輸出單元電路的數(shù)據(jù)輸入端口Din3[2];將基本單元電路Z3、Z4的反饋端口feedback[3]并聯(lián),以并聯(lián)后的端口作為數(shù)據(jù)輸出單元電路的數(shù)據(jù)輸入端口Din3[3];以基本單元電路Z4的反饋端口feedback[4]作為數(shù)據(jù)輸出單元電路的數(shù)據(jù)輸入端口Din3[4]。
基本單元電路Z1、Z2、Z3和Z4的其它反饋端口都連接到低電平。
可以看出,本發(fā)明中的運算單元電路、反饋單元電路和數(shù)據(jù)輸出單元電路都基于基本單元電路構(gòu)成,而基本單元電路的結(jié)構(gòu)可以有很多種。一種基本單元電路的結(jié)構(gòu)包括L個二輸入與門和一個多輸入異或門。
異或門的輸出端作為基本單元電路的數(shù)據(jù)輸出端dataout。異或門的輸入端的個數(shù)為L+1個,異或門的一個輸入端作為基本單元的數(shù)據(jù)輸入端datain,其它各輸入端分別連接到一個與門的輸出端。各與門的一個輸入端作為參數(shù)輸入端口parameter[i],另一個輸入端作為相應(yīng)的反饋端口feedback[i],i=1、......、L。
圖6是基本單元電路的一個結(jié)構(gòu)示意圖。在圖6中,并行度L=4,該基本單元電路包括4個二輸入與門(分別是與門61、與門62、與門63和與門64)和1個五輸入異或門(異或門65)。
可以看出,基本單元電路用于按下述公式計算中間結(jié)果dataout=datain+parameter[1]feedback[1]+...+parameter[L]feedback[L]本領(lǐng)域技術(shù)人員應(yīng)該知道,實現(xiàn)上述公式的具體電路結(jié)構(gòu)還可以有很多,這里不再一一列舉。
基本單元是并行BCH編碼電路的基礎(chǔ)。在串行編碼中,對數(shù)據(jù)的計算單元都是是反饋數(shù)據(jù)與算法參數(shù)進行“與”操作,將本級的計算結(jié)果和上一級的輸出數(shù)據(jù)進行“或”操作。但是在并行編碼中,每一級計算都需要執(zhí)行多級的串行計算功能,所以反饋數(shù)據(jù)和算法參數(shù)就需要進行多個“與”操作,操作的次數(shù)取決于每次處理的數(shù)據(jù)寬度,也就是數(shù)據(jù)的并行度。
為保證各單元電路處理后的數(shù)據(jù)能更好地同步輸出,可以在各單元電路中的各基本運算單元電路的數(shù)據(jù)輸出端分別連接至少一級寄存器。圖7是在運算單元電路的各基本單元的輸出端分別連接一級寄存器的示意圖。對于反饋單元和數(shù)據(jù)輸出單元,同理,這里不再贅述。
通過上述對并行BCH編碼電路的說明,可以看出該編碼電路采用結(jié)構(gòu)化的設(shè)計方法。該編碼電路共分為兩個層次上層主要包括流水線模式的運算單元電路、反饋單元電路和數(shù)據(jù)輸出單元電路,下層是由邏輯電路組成的基本單元電路。
整個編碼電路采用流水線的方式對數(shù)據(jù)進行BCH編碼。待編碼的L路并行數(shù)據(jù)從反饋單元電路的原始數(shù)據(jù)輸入端口Data[L]、......、Data[1]進入反饋單元電路,并進行計算。反饋單元電路輸出的數(shù)據(jù)既作為反饋數(shù)據(jù),又被輸入給數(shù)據(jù)輸出單元電路進行計算。數(shù)據(jù)輸出單元電路輸出的數(shù)據(jù)即為編碼后的數(shù)據(jù),同時,該編碼后的數(shù)據(jù)又被回送到流水線的第一級運算單元電路進行計算。在各單元電路中,采用并行的基本單元電路替換現(xiàn)有的串行計算電路。由于采用并行的基本單元電路,因此所有的算法參數(shù)都是通過參數(shù)輸入端口直接輸入的,其中,各單元電路所需要的算法參數(shù)都需要通過具體的算法確定。
所述編碼電路可以并行處理4位、8位、16位、32位等位寬的數(shù)據(jù),也可以處理編碼長度達到4k、8k等長度的數(shù)據(jù)。對長碼的編碼,所述編碼電路的結(jié)構(gòu)也沒有特別增加某條路徑的負載,整個電路的負載比較均衡。即便編碼電路的處理速度不能很好地滿足實際要求,還可以通過在電路流水線和反饋單元電路之間插入寄存器,達到減小關(guān)鍵路徑延遲的目的。
綜上所述,由于所述并行BCH編碼電路采用標準化的算法結(jié)構(gòu),因此電路結(jié)構(gòu)簡單。另外,所述編碼電路獨立于具體的編碼算法,通過輸入不同的參數(shù)即可實現(xiàn)不同的編碼算法,從而擴展了所述編碼電路的通用性,使所述編碼電路具有很強的通用性。
所述并行BCH編碼電路的應(yīng)用范圍非常廣,不僅可以針對flash進行編解碼,還可以應(yīng)用到通信、數(shù)據(jù)傳輸和數(shù)據(jù)校驗等領(lǐng)域。
基于上述用于并行BCH編碼的電路,本發(fā)明還提供一種采用該電路的用于并行BCH編碼的編碼器。
基于上述用于并行BCH編碼的電路,本發(fā)明還提供一種用于并行BCH編碼的裝置,該裝置包括M個運算單元、一個反饋單元和一個數(shù)據(jù)輸出單元,M=mL,]]>m為校驗碼的bit數(shù)、L為并行度;所述M個運算單元、反饋單元和數(shù)據(jù)輸出單元串行連接;
數(shù)據(jù)輸出單元的L路并行數(shù)據(jù)輸出端作為所述裝置的并行數(shù)據(jù)輸出端口,并與第一個運算單元的L路并行數(shù)據(jù)輸入端口分別對應(yīng)連接;反饋單元的L路并行數(shù)據(jù)輸出端口還與每個運算單元的L路并行反饋端口分別對應(yīng)連接;反饋單元還包括L路并行原始數(shù)據(jù)輸入端口,作為所述裝置的并行數(shù)據(jù)輸入端口,用于輸入待編碼的L路并行數(shù)據(jù);運算單元還包括2×L-1個并行參數(shù)輸入端口,反饋單元還包括L-1個并行參數(shù)輸入端口,數(shù)據(jù)輸出單元還包括L個并行參數(shù)輸入端口;其中,運算單元包括L個基本單元L個基本單元的數(shù)據(jù)輸入端口組成運算單元的L路并行數(shù)據(jù)輸入端口,L個基本單元的數(shù)據(jù)輸出端口組成運算單元的L路并行數(shù)據(jù)輸出端口;各基本單元的反饋端口并聯(lián),以并聯(lián)后的各反饋端口作為運算單元相應(yīng)的并行反饋端口;按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元,將L個基本單元的參數(shù)輸入端口移位并聯(lián),以獲得的2×L-1個移位并聯(lián)后的參數(shù)輸入端口作為運算單元相應(yīng)的并行參數(shù)輸入端口。
其中,反饋單元包括L個基本單元和L個二輸入異或門按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元,第i至第L個基本單元的第i-1個參數(shù)輸入端口并聯(lián),i=2、3、......、L-1,以并聯(lián)后的各參數(shù)輸入端口和第L個基本單元的第L-1個參數(shù)輸入端口作為反饋單元相應(yīng)的L-1個并行參數(shù)輸入端口,各基本單元的其它參數(shù)輸入端口都連接到低電平;按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元,第i個基本單元的數(shù)據(jù)輸出端口與第i+1至第L個基本單元的第i個反饋端口連接,i=1,......,L-1,各基本單元的其它反饋端口都連接到低電平;各基本單元的數(shù)據(jù)輸入端口分別連接到一個二輸入異或門的輸出端;按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元,第i個二輸入異或門的第一輸入端作為第i個原始數(shù)據(jù)輸入端,第二輸入端作為第L-i+1個數(shù)據(jù)輸入端,i=1、......、L;
以L個基本單元的數(shù)據(jù)輸出端口作為反饋單元相應(yīng)的數(shù)據(jù)輸出端口。
其中,數(shù)據(jù)輸出單元包括L個基本單元所有基本單元的數(shù)據(jù)輸入端口都接到低電平,L個基本單元的數(shù)據(jù)輸出端口作為數(shù)據(jù)輸出單元相應(yīng)的數(shù)據(jù)輸出端口;按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元,將各基本單元的參數(shù)輸入端口錯位并聯(lián),以錯位并聯(lián)后的各參數(shù)輸入端口和第L個基本單元的第1個參數(shù)輸入端口作為數(shù)據(jù)輸出單元相應(yīng)的參數(shù)輸入端口,各基本單元的其它參數(shù)輸入端口都連接到低電平;按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元,將第i至第L個基本單元的第i個反饋端口并聯(lián),i=1、......、L-1,以各并聯(lián)后的反饋端口和第L個基本單元的第L個反饋端口作為數(shù)據(jù)輸出單元相應(yīng)的數(shù)據(jù)輸入端口,各基本單元的其它反饋端口都連接到低電平。
根據(jù)所述公開的實施例,可以使得本領(lǐng)域技術(shù)人員能夠?qū)崿F(xiàn)或者使用本發(fā)明。對于本領(lǐng)域技術(shù)人員來說,這些實施例的各種修改是顯而易見的,并且這里定義的總體原理也可以在不脫離本發(fā)明的范圍和主旨的基礎(chǔ)上應(yīng)用于其他實施例。以上所述的實施例僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種用于并行BCH編碼的電路,其特征在于,包括M個運算單元電路、一個反饋單元電路和一個數(shù)據(jù)輸出單元電路;所述M個運算單元電路、反饋單元電路和數(shù)據(jù)輸出單元電路串行連接;數(shù)據(jù)輸出單元電路的L路并行數(shù)據(jù)輸出端作為所述電路的并行數(shù)據(jù)輸出端口,并與第一個運算單元電路的L路并行數(shù)據(jù)輸入端口分別對應(yīng)連接;反饋單元電路的L路并行數(shù)據(jù)輸出端口還與每個運算單元電路的L路并行反饋端口分別對應(yīng)連接;反饋單元電路還包括L路并行原始數(shù)據(jù)輸入端口,作為所述電路的并行數(shù)據(jù)輸入端口,用于輸入待編碼的L路并行數(shù)據(jù);運算單元電路還包括2×L-1個并行參數(shù)輸入端口,反饋單元電路還包括L-1個并行參數(shù)輸入端口,數(shù)據(jù)輸出單元電路還包括L個并行參數(shù)輸入端口;其中,M=mL,]]>m為校驗碼的比特數(shù)、L為并行度。
2.如權(quán)利要求1所述的電路,其特征在于,運算單元電路包括L個基本單元電路;L個基本單元電路的數(shù)據(jù)輸入端口組成運算單元電路的L路并行數(shù)據(jù)輸入端口,L個基本單元電路的數(shù)據(jù)輸出端口組成運算單元電路的L路并行數(shù)據(jù)輸出端口;各基本單元電路的反饋端口并聯(lián),以并聯(lián)后的各反饋端口作為運算單元電路相應(yīng)的并行反饋端口;按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元電路,將L個基本單元電路的參數(shù)輸入端口移位并聯(lián),以獲得的2×L-1個移位并聯(lián)后的參數(shù)輸入端口作為運算單元電路相應(yīng)的并行參數(shù)輸入端口。
3.如權(quán)利要求1所述的電路,其特征在于,反饋單元電路包括L個基本單元電路和L個二輸入異或門;按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元電路,第i至第L個基本單元電路的第i-1個參數(shù)輸入端口并聯(lián),i=2、3、......、L-1,以并聯(lián)后的各參數(shù)輸入端口和第L個基本單元電路的第L-1個參數(shù)輸入端口作為反饋單元電路相應(yīng)的L-1個并行參數(shù)輸入端口,各基本單元電路的其它參數(shù)輸入端口都連接到低電平;按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元電路,第i個基本單元電路的數(shù)據(jù)輸出端口與第i+1至第L個基本單元電路的第i個反饋端口連接,i=1,......,L-1,各基本單元電路的其它反饋端口都連接到低電平;各基本單元電路的數(shù)據(jù)輸入端口分別連接到一個二輸入異或門的輸出端;按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元電路,第i個二輸入異或門的第一輸入端作為第i個原始數(shù)據(jù)輸入端,第二輸入端作為第L-i+1個數(shù)據(jù)輸入端,i=1、......、L;以L個基本單元電路的數(shù)據(jù)輸出端口作為反饋單元電路相應(yīng)的數(shù)據(jù)輸出端口。
4.如權(quán)利要求1所述的電路,其特征在于,數(shù)據(jù)輸出單元電路包括L個基本單元電路;所有基本單元電路的數(shù)據(jù)輸入端口都接到低電平,L個基本單元電路的數(shù)據(jù)輸出端口作為數(shù)據(jù)輸出單元電路相應(yīng)的數(shù)據(jù)輸出端口;按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元電路,將各基本單元電路的參數(shù)輸入端口錯位并聯(lián),以錯位并聯(lián)后的各參數(shù)輸入端口和第L個基本單元電路的第1個參數(shù)輸入端口作為數(shù)據(jù)輸出單元電路相應(yīng)的參數(shù)輸入端口,各基本單元電路的其它參數(shù)輸入端口都連接到低電平;按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元電路,將第i至第L個基本單元電路的第i個反饋端口并聯(lián),i=1、......、L-1,以各并聯(lián)后的反饋端口和第L個基本單元電路的第L個反饋端口作為數(shù)據(jù)輸出單元電路相應(yīng)的數(shù)據(jù)輸入端口,各基本單元電路的其它反饋端口都連接到低電平。
5.如權(quán)利要求2、3或4所述的電路,其特征在于,所述基本單元電路包括L個二輸入與門和一個多輸入異或門;所述多輸入異或門的輸出端作為基本單元電路的數(shù)據(jù)輸出端,所述多輸入異或門的一個輸入端作為基本單元的數(shù)據(jù)輸入端,其它每個輸入端分別連接到一個二輸入與門的輸出端;各二輸入與門的第一輸入端作為參數(shù)輸入端口,第二輸入端作為相應(yīng)的反饋端口。
6.如權(quán)利要求2、3或4所述的電路,其特征在于,各基本運算單元電路的數(shù)據(jù)輸出端還連接至少一級寄存器。
7.一種用于并行BCH編碼的編碼器,其特征在于,該編碼器采用權(quán)利要求1所述的電路。
8.一種用于并行BCH編碼的裝置,其特征在于,包括M個運算單元、一個反饋單元和一個數(shù)據(jù)輸出單元;所述M個運算單元、反饋單元和數(shù)據(jù)輸出單元串行連接;數(shù)據(jù)輸出單元的L路并行數(shù)據(jù)輸出端作為所述裝置的并行數(shù)據(jù)輸出端口,并與第一個運算單元的L路并行數(shù)據(jù)輸入端口分別對應(yīng)連接;反饋單元的L路并行數(shù)據(jù)輸出端口還與每個運算單元的L路并行反饋端口分別對應(yīng)連接;反饋單元還包括L路并行原始數(shù)據(jù)輸入端口,作為所述裝置的并行數(shù)據(jù)輸入端口,用于輸入待編碼的L路并行數(shù)據(jù);運算單元還包括2×L-1個并行參數(shù)輸入端口,反饋單元還包括L-1個并行參數(shù)輸入端口,數(shù)據(jù)輸出單元還包括L個并行參數(shù)輸入端口;其中,M=mL,]]>m為校驗碼的bit數(shù)、L為并行度。
9.如權(quán)利要求8所述的裝置,其特征在于,運算單元包括L個基本單元;L個基本單元的數(shù)據(jù)輸入端口組成運算單元的L路并行數(shù)據(jù)輸入端口,L個基本單元的數(shù)據(jù)輸出端口組成運算單元的L路并行數(shù)據(jù)輸出端口;各基本單元的反饋端口并聯(lián),以并聯(lián)后的各反饋端口作為運算單元相應(yīng)的并行反饋端口;按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元,將L個基本單元的參數(shù)輸入端口移位并聯(lián),以獲得的2×L-1個移位并聯(lián)后的參數(shù)輸入端口作為運算單元相應(yīng)的并行參數(shù)輸入端口。
10.如權(quán)利要求8所述的裝置,其特征在于,反饋單元包括L個基本單元和L個二輸入異或門;按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元,第i至第L個基本單元的第i-1個參數(shù)輸入端口并聯(lián),i=2、3、......、L-1,以并聯(lián)后的各參數(shù)輸入端口和第L個基本單元的第L-1個參數(shù)輸入端口作為反饋單元相應(yīng)的L-1個并行參數(shù)輸入端口,各基本單元的其它參數(shù)輸入端口都連接到低電平;按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元,第i個基本單元的數(shù)據(jù)輸出端口與第i+1至第L個基本單元的第i個反饋端口連接,i=1,......,L-1,各基本單元的其它反饋端口都連接到低電平;各基本單元的數(shù)據(jù)輸入端口分別連接到一個二輸入異或門的輸出端;按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元,第i個二輸入異或門的第一輸入端作為第i個原始數(shù)據(jù)輸入端,第二輸入端作為第L-i+1個數(shù)據(jù)輸入端,i=1、......、L;以L個基本單元的數(shù)據(jù)輸出端口作為反饋單元相應(yīng)的數(shù)據(jù)輸出端口。
11.如權(quán)利要求8所述的裝置,其特征在于,數(shù)據(jù)輸出單元包括L個基本單元;所有基本單元的數(shù)據(jù)輸入端口都接到低電平,L個基本單元的數(shù)據(jù)輸出端口作為數(shù)據(jù)輸出單元相應(yīng)的數(shù)據(jù)輸出端口;按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元,將各基本單元的參數(shù)輸入端口錯位并聯(lián),以錯位并聯(lián)后的各參數(shù)輸入端口和第L個基本單元的第1個參數(shù)輸入端口作為數(shù)據(jù)輸出單元相應(yīng)的參數(shù)輸入端口,各基本單元的其它參數(shù)輸入端口都連接到低電平;按輸入數(shù)據(jù)從低位到高位所對應(yīng)的基本單元,將第i至第L個基本單元的第i個反饋端口并聯(lián),i=1、......、L-1,以各并聯(lián)后的反饋端口和第L個基本單元的第L個反饋端口作為數(shù)據(jù)輸出單元相應(yīng)的數(shù)據(jù)輸入端口,各基本單元的其它反饋端口都連接到低電平。
全文摘要
本發(fā)明公開一種用于并行BCH編碼的電路,包括多個運算單元電路、一個反饋單元電路和一個數(shù)據(jù)輸出單元電路;所述多個運算單元電路、反饋單元電路和數(shù)據(jù)輸出單元電路串行連接;采用流水線的方式對輸入的并行數(shù)據(jù)進行BCH編碼。由于本發(fā)明提供的電路采用模塊化的結(jié)構(gòu),因此電路的結(jié)構(gòu)簡單容易實現(xiàn)。另外,該電路獨立于具體的編碼算法,通過輸入不同的參數(shù)即可實現(xiàn)不同的編碼算法,從而擴展了所述電路的通用性,使所述電路具有很強的通用性。所述的應(yīng)用范圍非常廣,可以應(yīng)用到通信、數(shù)據(jù)傳輸和數(shù)據(jù)校驗等領(lǐng)域。本發(fā)明還公開一種用于并行BCH編碼的編碼器和裝置。
文檔編號H03M13/15GK101068113SQ200710109450
公開日2007年11月7日 申請日期2007年6月21日 優(yōu)先權(quán)日2007年6月21日
發(fā)明者湯江遜 申請人:炬力集成電路設(shè)計有限公司