專利名稱:基于fpga的并行循環(huán)冗余校驗運算電路的制作方法
技術(shù)領(lǐng)域:
本實用新型涉及數(shù)據(jù)校驗技術(shù),特別是涉及一種基于FPGA的并行循環(huán)冗余校驗運算電路的技術(shù)。
背景技術(shù):
工業(yè)儀控系統(tǒng)中的數(shù)據(jù)在通信線路上串行傳送時,由于線路噪音等因素的影響,可能導(dǎo)致多位傳輸數(shù)據(jù)發(fā)生錯誤。在這種情況下,奇偶校驗和漢明校驗的作用就不大了,此時需要采用循環(huán)冗余檢查(即CRC)運算對所傳輸?shù)臄?shù)據(jù)進行校驗。CRC運算簡單但具有很強的檢錯能力,能夠檢查3位以上的錯誤,而且易于用編碼器及檢測電路實現(xiàn)。從性能上和開銷上考慮,均遠遠優(yōu)于奇偶校驗及漢明校驗等方式。現(xiàn)有的CRC運算電路構(gòu)架分為兩類,一類是串行CRC運算電路,另一類是并行CRC運算電路。由于串行CRC運算電路的數(shù)據(jù)處理能力較低,不能滿足高速數(shù)據(jù)傳輸場合下的數(shù)據(jù)校驗要求,因此在需要高速數(shù)據(jù)傳輸?shù)膱龊希疾捎貌⑿蠧RC運算電路來實現(xiàn)CRC運
笪
ο現(xiàn)有的并行CRC運算電路的缺陷在于只能針對特定的生成多項式和數(shù)據(jù)位寬進行數(shù)據(jù)校驗,在改變生成多項式時,都需要重新計算CRC運算所需的系統(tǒng)矩陣P,給CRC運算實時運行帶來極大的困難,存在靈活性低的缺陷,不能滿足構(gòu)建CRC運算的IP核等場合的要求
實用新型內(nèi)容
針對上述現(xiàn)有技術(shù)中存在的缺陷,本實用新型所要解決的技術(shù)問題是提供一種改變生成多項式時,不需要重新計算CRC運算所需的系統(tǒng)矩陣,靈活性高的基于FPGA的并行循環(huán)冗余校驗運算電路。為了解決上述技術(shù)問題,本實用新型所提供的一種基于FPGA的并行循環(huán)冗余校驗運算電路,其特征在于,該電路包括以下四個模塊I)多項式矩陣計算模塊多項式矩陣計算模塊是用于計算多項式m次冪矩陣的模塊,m是一大于I的整數(shù),多項式m次冪矩陣是由m2個陣元組成的m行m列的矩陣,多項式矩陣計算模塊中設(shè)有與多項式m次冪矩陣中各陣元一一對應(yīng)的m2個多項式計算單元,設(shè)多項式m次冪矩陣的起始行號為O行,起始列號為O列,該矩陣第i行第j列的陣元為則多項式矩陣計算模塊的結(jié)構(gòu)為滿足條件O彡i彡m-Ι且j=0的fu為多項式向量賦值陣元,該fu對應(yīng)的多項式計算單元為多項式矩陣計算模塊的第i行多項式向量輸入端,記為qi;該多項式計算單元的輸出端即為qi ;滿足條件i=0且I彡j彡m-Ι的匕對應(yīng)的多項式計算單元由一個二輸入與門構(gòu)成,該二輸入與門的輸出端即為本單元的輸出端,該二輸入與門的兩個輸入端分別接到Qi及對應(yīng)的多項式計算單元的輸出端;滿足條件I彡i彡m-ι且I彡j彡m-ι的fu對應(yīng)的多項式計算單元由一個二輸入異或門和一個二輸入與門構(gòu)成,其中的二輸入與門的兩個輸入端分別接到Qi和對應(yīng)的多項式計算單元的輸出端,其中的二輸入異或門的一個輸入端接到對應(yīng)f1-m的多項式計算單元的輸出端,另一個輸入端接到本單元的二輸入與門的輸出端,該二輸入異或門的輸出端構(gòu)成本單元的輸出端;2)單位矩陣輸出模塊單位矩陣輸出模塊是用于輸出m行m列單位矩陣向量的模塊,單位矩陣輸出模塊中設(shè)有與單位矩陣中的Hl2個陣元一一對應(yīng)的Hl2個單位矩陣向量輸出單元,每個單位矩陣向量輸出單元均設(shè)有一向量輸出端;3)系統(tǒng)矩陣計算模塊系統(tǒng)矩陣計算模塊是用于輸出系統(tǒng)矩陣的模塊,系統(tǒng)矩陣計算模塊包括一個選擇器件序列,一個多項式輸入器件序列,一個輸出器件序列,一個單位矩陣輸入器件序列;所述選擇器件序列由m個二輸入選擇器件組成,所述多項式輸入器件序列由m個多項式矩陣輸入端口器件組成,所述輸出器件序列由m個輸出端口器件組成,所述單位矩陣輸入器件序列由η個單位矩陣輸入端口器件組成,且有l(wèi)〈n〈m ;所述多項式矩陣輸入端口器件、輸出端口器件、單位矩陣輸入端口器件各有一個輸出端口、一個輸入端口,且每個端口均有m個端腳;所述二輸入選擇器件有一個選擇信號輸入端腳,及一個輸出端口、兩個輸入端口,且二輸入選擇器件的每個端口均有m個端腳,二輸入選擇器件的兩個輸入端口分別為第一輸入端口、第二輸入端口 ;
設(shè)各器件序列的起始序號均為0,0 ( i ( m-1,0 ( j ( m-1,0 ( s ( n_l,n彡t彡m-1,則有如下連接關(guān)系多項式矩陣計算模塊中,多項式m次冪矩陣第j列各陣元對應(yīng)的各多項式計算單元的輸出端構(gòu)成多項式矩陣計算模塊的第j個輸出端口 ;單位矩陣輸出模塊中,單位矩陣第j列各陣元對應(yīng)的各單位矩陣向量輸出單元的向量輸出端構(gòu)成單位矩陣輸出模塊的第j個輸出端口 ;多項式輸入器件序列中,第j個多項式矩陣輸入端口器件的輸入端口接到多項式矩陣計算模塊的第j個輸出端口,第j個多項式矩陣輸入端口器件的輸出端口接到選擇器件序列中第j個二輸入選擇器件的第一輸入端口 ;單位矩陣輸入器件序列中,第s個單位矩陣輸入端口器件的輸入端口接到單位矩陣輸出模塊的第s個輸出端口,第s個單位矩陣輸入端口器件的輸出端口接到選擇器件序列中第S個二輸入選擇器件的第二輸入端口 ;選擇器件序列中,第t個二輸入選擇器件的第二輸入端口接到多項式輸入器件序列中第t-n個多項式矩陣輸入端口器件的輸出端口,第j個二輸入選擇器件的輸出端口接到輸出器件序列中第j個輸出端口器件的輸入端,各二輸入選擇器件的選擇信號輸入端腳相互串接構(gòu)成系統(tǒng)矩陣計算模塊的多項式選擇端;輸出器件序列中,第j個輸出端口器件的輸出端口構(gòu)成系統(tǒng)矩陣計算模塊的第j個系統(tǒng)矩陣列輸出端口,第j個系統(tǒng)矩陣列輸出端口中的第i個端腳構(gòu)成系統(tǒng)矩陣計算模塊的第i行第j列系統(tǒng)矩陣元素輸出端;4 )并行CRC運算模塊并行CRC運算模塊包括一個寄存器序列,一個與門序列,兩個異或門序列;所述與門序列由m個與門子序列組成,所述與門子序列由m個二輸入與門組成,與門子序列中每個二輸入與門的兩個輸入端分別為第一輸入端、第二輸入端;所述寄存器序列由m個寄存器組成,所述異或門序列由m個異或門組成;所述兩個異或門序列分別為第一異或門序列、第二異或門序列;第一異或門序列中的每個異或門均有兩個輸入端,分別為第一輸入端、第二輸入端;第二異或門序列中的每個異或門均有m個輸入端;設(shè)寄存器序列、異或門序列、與門序列,及與門序列中各個與門子序列的起始序號均為0,0 ( i彡m-ι,則有如下連接關(guān)系寄存器序列中,第i個寄存器的輸出端構(gòu)成并行CRC運算模塊的校驗碼第i位輸出端,第i個寄存器的輸入端接到第二異或門序列中第i個異或門的輸出端;第一異或門序列中,第i個異或門的第一輸入端接到寄存器序列中第i個寄存器的輸出端,第i個異或門的第二輸入端構(gòu)成并行CRC運算模塊的校驗數(shù)據(jù)第i位輸入端;與門序列中,第i 個與門子序列中各二輸入與門的輸出端分別接到第二異或門序列中第i個異或門的各個輸入端,第i個與門子序列中第j個二輸入與門的第一輸入端接到系統(tǒng)矩陣計算模塊的第i行第j列系統(tǒng)矩陣元素輸出端,每個與門子序列中的第j個二輸入與門的第二輸入端均接到第一異或門序列中的第j個異或門的輸出端。本實用新型提供的基于FPGA的并行循環(huán)冗余校驗運算電路,將生成多項式輸入多項式矩陣計算模塊,通過多項式矩陣計算模塊高效地計算出生成多項式矩陣的m次冪運算結(jié)果,利用系統(tǒng)矩陣計算模塊中的二輸入選擇器件能在線選擇兩種階數(shù)的生成多項式階數(shù),利用系統(tǒng)矩陣計算模塊輸出的系統(tǒng)矩陣,使得并行CRC運算模塊能在實現(xiàn)兩種輸入位寬的CRC運算,在改變生成多項式時,不需要重新計算CRC運算所需的系統(tǒng)矩陣,具有靈活性高的特點。
圖1是本實用新型實施例的基于FPGA的并行循環(huán)冗余校驗運算電路的結(jié)構(gòu)框圖;圖2是本實用新型實施例的基于FPGA的并行循環(huán)冗余校驗運算電路中的多項式矩陣計算模塊的電路結(jié)構(gòu)示意圖;圖3是本實用新型實施例的基于FPGA的并行循環(huán)冗余校驗運算電路中的系統(tǒng)矩陣計算模塊的電路結(jié)構(gòu)示意圖; 圖4是本實用新型實施例的基于FPGA的并行循環(huán)冗余校驗運算電路中的并行CRC運算模塊的電路結(jié)構(gòu)示意圖。
具體實施方式
以下結(jié)合附圖說明對本實用新型的實施例作進一步詳細描述,但本實施例并不用于限制本實用新型,凡是采用本實用新型的相似結(jié)構(gòu)及其相似變化,均應(yīng)列入本實用新型的保護范圍。如圖1-圖4所示,本實用新型實施例所提供的一種基于FPGA的并行循環(huán)冗余校驗運算電路,其特征在于,該電路包括以下四個模塊I)多項式矩陣計算模塊如圖2所示,多項式矩陣計算模塊是用于計算多項式m次冪矩陣的模塊,m是一大于I的整數(shù),多項式m次冪矩陣是由m2個陣元組成的m行m列的矩陣,多項式矩陣計算模塊中設(shè)有與多項式m次冪矩陣中各陣元一一對應(yīng)的m2個多項式計算單元,設(shè)多項式m次冪矩陣的起始行號為O行,起始列號為O列,該矩陣第i行第j列的陣元為fu,則多項式矩陣計算模塊的結(jié)構(gòu)為滿足條件O彡i彡m-Ι且j=0的fu為多項式向量賦值陣元,該fu對應(yīng)的多項式計算單元為多項式矩陣計算模塊的第i行多項式向量輸入端,記為qi;該多項式計算單元的輸出端即為qi ;滿足條件i=0且I彡j彡m-Ι的匕對應(yīng)的多項式計算單元由一個二輸入與門A構(gòu)成,該二輸入與門的輸出端即為本單元的輸出端,該二輸入與門的兩個輸入端分別接到Qi及對應(yīng)fm-1,j-1的多項式計算單元的輸出端;滿足條件I彡i彡m-Ι且I彡j彡m-Ι的對應(yīng)的多項式計算單元由一個二輸入異或門X和一個二輸入與門A構(gòu)成,其中的二輸入與門的兩個輸入端分別接到Qi和對應(yīng)
的多項式計算單元的輸出端,其中的二輸入異或門的一個輸入端接到對應(yīng)Am的多項式計算單元的輸出 端,另一個輸入端接到本單元的二輸入與門的輸出端,該二輸入異或門的輸出端構(gòu)成本單元的輸出端;2)單位矩陣輸出模塊單位矩陣輸出模塊為現(xiàn)有技術(shù),是用于輸出m行m列單位矩陣向量的模塊,單位矩陣輸出模塊中設(shè)有與單位矩陣中的Hl2個陣元一一對應(yīng)的Hl2個單位矩陣向量輸出單元,每個單位矩陣向量輸出單元均設(shè)有一向量輸出端;3)系統(tǒng)矩陣計算模塊如圖3所示,系統(tǒng)矩陣計算模塊是用于輸出系統(tǒng)矩陣的模塊,系統(tǒng)矩陣計算模塊包括一個選擇器件序列,一個多項式輸入器件序列,一個輸出器件序列,一個單位矩陣輸入器件序列;所述選擇器件序列由m個二輸入選擇器件Z3組成,所述多項式輸入器件序列由m個多項式矩陣輸入端口器件Zl組成,所述輸出器件序列由m個輸出端口器件TA組成,所述單位矩陣輸入器件序列由η個單位矩陣輸入端口器件Ζ2組成,且有l(wèi)〈n〈m ;所述多項式矩陣輸入端口器件、輸出端口器件、單位矩陣輸入端口器件各有一個輸出端口、一個輸入端口,且每個端口均有m個端腳;所述二輸入選擇器件有一個選擇信號輸入端腳,及一個輸出端口、兩個輸入端口,且二輸入選擇器件的每個端口均有m個端腳,二輸入選擇器件的兩個輸入端口分別為第一輸入端口、第二輸入端口 ;設(shè)各器件序列的起始序號均為0,0 ( i ( m-1,0 ( j ( m-1,0 ( s ( n_l,n彡t彡m-1,則有如下連接關(guān)系[0057]多項式矩陣計算模塊中,多項式m次冪矩陣第j列各陣元對應(yīng)的各多項式計算單元的輸出端構(gòu)成多項式矩陣計算模塊的第j個輸出端口 ;單位矩陣輸出模塊中,單位矩陣第j列各陣元對應(yīng)的各單位矩陣向量輸出單元的向量輸出端構(gòu)成單位矩陣輸出模塊的第j個輸出端口 ;多項式輸入器件序列中,第j個多項式矩陣輸入端口器件的輸入端口接到多項式矩陣計算模塊的第j個輸出端口,第j個多項式矩陣輸入端口器件的輸出端口接到選擇器件序列中第j個二輸入選擇器件的第一輸入端口 ;單位矩陣輸入器件序列中,第s個單位矩陣輸入端口器件的輸入端口接到單位矩陣輸出模塊的第s個輸出端口,第s個單位矩陣輸入端口器件的輸出端口接到選擇器件序列中第S個二輸入選擇器件的第二輸入端口 ;選擇器件序列中,第t個二輸入選擇器件的第二輸入端口接到多項式輸入器件序列中第t-n個多項式矩陣輸入端口器件的輸出端口,第j個二輸入選擇器件的輸出端口接到輸出器件序列中第j個輸出端口器件的輸入端,各二輸入選擇器件的選擇信號輸入端腳相互串接構(gòu)成系統(tǒng)矩陣計算模塊的多項式選擇端Sel ;輸出器件序列中,第j個輸出端口器件的輸出端口構(gòu)成系統(tǒng)矩陣計算模塊的第j個系統(tǒng)矩陣列輸出端口,第j個系統(tǒng)矩陣列輸出端口中的第i個端腳構(gòu)成系統(tǒng)矩陣計算模塊的第i行第j列系統(tǒng)矩陣元素輸出端;4)并行CRC運算模塊如圖4所示,并行CRC運算模塊包括 一個寄存器序列,一個與門序列,兩個異或門序列;所述與門序列由m個與門子序列組成,所述與門子序列由m個二輸入與門A組成,與門子序列中每個二輸入與門的兩個輸入端分別為第一輸入端、第二輸入端;所述寄存器序列由m個寄存器Reg組成,所述異或門序列由m個異或門X組成;所述兩個異或門序列分別為第一異或門序列XG1、第二異或門序列XG2 ;第一異或門序列中的每個異或門均有兩個輸入端,分別為第一輸入端、第二輸入端;第二異或門序列中的每個異或門均有m個輸入端;設(shè)寄存器序列、異或門序列、與門序列,及與門序列中各個與門子序列的起始序號均為0,0 ( i彡m-ι,則有如下連接關(guān)系寄存器序列中,第i個寄存器的輸出端構(gòu)成并行CRC運算模塊的校驗碼第i位輸出端,第i個寄存器的輸入端接到第二異或門序列中第i個異或門的輸出端;m個寄存器的輸出端構(gòu)成并行CRC運算模塊的m個校驗碼位輸出端Y0, J1,…Ynrl ;第一異或門序列中,第i個異或門的第一輸入端接到寄存器序列中第i個寄存器的輸出端,第i個異或門的第二輸入端構(gòu)成并行CRC運算模塊的校驗數(shù)據(jù)第i位輸入端;第一異或門序列中,m個異或門的第二輸入端構(gòu)成并行CRC運算模塊的m個校驗數(shù)據(jù)位輸入端bQ,Id1,;與門序列中,第i個與門子序列中各二輸入與門的輸出端分別接到第二異或門序列中第i個異或門的各個輸入端,第i個與門子序列中第j個二輸入與門的第一輸入端接到系統(tǒng)矩陣計算模塊的第i行第j列系統(tǒng)矩陣元素輸出端,每個與門子序列中的第j個二輸入與門的第二輸入端均接到第一異或門序列中的第j個異或門的輸出端。本實用新型實施例適用于生成多項式階數(shù)為m及m-n的CRC (循環(huán)冗余)運算,能在線選擇生成多項式階數(shù),其工作原理如下為便于描述,定義以下參數(shù)CRC運算的生成多項式為Ρ,Ρ的階數(shù)為m,其系數(shù)向量為ΡΚρ^,ρ^. . . ,p^pj ;將要被CRC運算所處理的輸入數(shù)據(jù)為D,D的長度為k,D= [d^, dk_2,. . . , Cl1, d0];CRC運算并行處理的數(shù)據(jù)位寬為w,m和k都是w的整數(shù)倍數(shù),且w彡m ;CRC運算所產(chǎn)生第V時刻的中間狀態(tài)向量為Y(V),Y(V)的長度為m,即Y(V) = Iiynrl (V), ym_2 (v), ···, Y1 (v), y0(v) ], Y(v)對應(yīng)于并行CRC運算模塊中寄存器中的值,當(dāng)時刻v=k/w-l時Y(V)即為CRC運算過程的結(jié)果向量;Hnrl表示m-Ι維的單位矩陣,且等于以下矩陣值
權(quán)利要求1. 一種基于FPGA的并行循環(huán)冗余校驗運算電路,其特征在于,該電路包括以下四個模塊 (1)多項式矩陣計算模塊 多項式矩陣計算模塊是用于計算多項式m次冪矩陣的模塊,m是一大于I的整數(shù),多項式m次冪矩陣是由m2個陣元組成的m行m列的矩陣,多項式矩陣計算模塊中設(shè)有與多項式m次冪矩陣中各陣元一一對應(yīng)的m2個多項式計算單元,設(shè)多項式m次冪矩陣的起始行號為O行,起始列號為O列,該矩陣第i行第j列的陣元為fu,則多項式矩陣計算模塊的結(jié)構(gòu)為 滿足條件O彡i彡m-Ι且j=0的匕為多項式向量賦值陣元,該對應(yīng)的多項式計算單元為多項式矩陣計算模塊的第i行多項式向量輸入端,記為qi;該多項式計算單元的輸出端即為Qi ; 滿足條件i=0且I彡j ^ m-1的fu對應(yīng)的多項式計算單元由一個二輸入與門構(gòu)成,該二輸入與門的輸出端即為本單元的輸出端,該二輸入與門的兩個輸入端分別接到Qi及對應(yīng)的多項式計算單元的輸出端; 滿足條件I彡i彡m-Ι且I彡j彡m-Ι的對應(yīng)的多項式計算單元由一個二輸入異或門和一個二輸入與門構(gòu)成,其中的二輸入與門的兩個輸入端分別接到Qi和對應(yīng)fm-m的多項式計算單元的輸出端,其中的二輸入異或門的一個輸入端接到對應(yīng)Am的多項式計算單元的輸出端,另一個輸入端接到本單元的二輸入與門的輸出端,該二輸入異或門的輸出端構(gòu)成本單元的輸出端; (2)單位矩陣輸出模塊 單位矩陣輸出模塊是用于輸出m行m列單位矩陣向量的模塊,單位矩陣輸出模塊中設(shè)有與單位矩陣中的m2個陣元一一對應(yīng)的m2個單位矩陣向量輸出單元,每個單位矩陣向量輸出單元均設(shè)有一向量輸出端; (3)系統(tǒng)矩陣計算模塊 系統(tǒng)矩陣計算模塊是用于輸出系統(tǒng)矩陣的模塊,系統(tǒng)矩陣計算模塊包括一個選擇器件序列,一個多項式輸入器件序列,一個輸出器件序列,一個單位矩陣輸入器件序列; 所述選擇器件序列由m個二輸入選擇器件組成,所述多項式輸入器件序列由m個多項式矩陣輸入端口器件組成,所述輸出器件序列由m個輸出端口器件組成,所述單位矩陣輸入器件序列由η個單位矩陣輸入端口器件組成,且有l(wèi)〈n〈m ; 所述多項式矩陣輸入端口器件、輸出端口器件、單位矩陣輸入端口器件各有一個輸出端口、一個輸入端口,且每個端口均有m個端腳; 所述二輸入選擇器件有一個選擇信號輸入端腳,及一個輸出端口、兩個輸入端口,且二輸入選擇器件的每個端口均有m個端腳,二輸入選擇器件的兩個輸入端口分別為第一輸入端口、第二輸入端口 ; 設(shè)各器件序列的起始序號均為0,0< i < m-1,0 ^ j ^ m-1,0 ^ s ^ n-l,n ^ t ( m-1,則有如下連接關(guān)系 多項式矩陣計算模塊中,多項式m次冪矩陣第j列各陣元對應(yīng)的各多項式計算單元的輸出端構(gòu)成多項式矩陣計算模塊的第j個輸出端口 ; 單位矩陣輸出模塊中,單位矩陣第j列各陣元對應(yīng)的各單位矩陣向量輸出單元的向量輸出端構(gòu)成單位矩陣輸出模塊的第j個輸出端口 ;多項式輸入器件序列中,第j個多項式矩陣輸入端口器件的輸入端口接到多項式矩陣計算模塊的第j個輸出端口,第j個多項式矩陣輸入端口器件的輸出端口接到選擇器件序列中第j個二輸入選擇器件的第一輸入端口; 單位矩陣輸入器件序列中,第S個單位矩陣輸入端口器件的輸入端口接到單位矩陣輸出模塊的第S個輸出端口,第S個單位矩陣輸入端口器件的輸出端口接到選擇器件序列中第S個二輸入選擇器件的第二輸入端口 ; 選擇器件序列中,第t個二輸入選擇器件的第二輸入端口接到多項式輸入器件序列中第t-n個多項式矩陣輸入端口器件的輸出端口,第j個二輸入選擇器件的輸出端口接到輸出器件序列中第j個輸出端口器件的輸入端,各二輸入選擇器件的選擇信號輸入端腳相互串接構(gòu)成系統(tǒng)矩陣計算模塊的多項式選擇端; 輸出器件序列中,第j個輸出端口器件的輸出端口構(gòu)成系統(tǒng)矩陣計算模塊的第j個系統(tǒng)矩陣列輸出端口,第j個系統(tǒng)矩陣列輸出端口中的第i個端腳構(gòu)成系統(tǒng)矩陣計算模塊的第i行第j列系統(tǒng)矩陣元素輸出端; (4)并行CRC運算模塊 并行CRC運算模塊包括一個寄存器序列,一個與門序列,兩個異或門序列; 所述與門序列由m個與門子序列組成,所述與門子序列由m個二輸入與門組成,與門子序列中每個二輸入與門的兩個輸入端分別為第一輸入端、第二輸入端; 所述寄存器序列由m個寄存器組成,所述異或門序列由m個異或門組成; 所述兩個異或門序列分別為第一異或門序列、第二異或門序列; 第一異或門序列中的每個異或門均有兩個輸入端,分別為第一輸入端、第二輸入端; 第二異或門序列中的每個異或門均有m個輸入端; 設(shè)寄存器序列、異或門序列、與門序列,及與門序列中各個與門子序列的起始序號均為0,0彡i彡m-Ι,則有如下連接關(guān)系 寄存器序列中,第i個寄存器的輸出端構(gòu)成并行CRC運算模塊的校驗碼第i位輸出端,第i個寄存器的輸入端接到第二異或門序列中第i個異或門的輸出端; 第一異或門序列中,第i個異或門的第一輸入端接到寄存器序列中第i個寄存器的輸出端,第i個異或門的第二輸入端構(gòu)成并行CRC運算模塊的校驗數(shù)據(jù)第i位輸入端; 與門序列中,第i個與門子序列中各二輸入與門的輸出端分別接到第二異或門序列中第i個異或門的各個輸入端,第i個與門子序列中第j個二輸入與門的第一輸入端接到系統(tǒng)矩陣計算模塊的第i行第j列系統(tǒng)矩陣元素輸出端,每個與門子序列中的第j個二輸入與門的第二輸入端均接到第一異或門序列中的第j個異或門的輸出端。
專利摘要一種基于FPGA的并行循環(huán)冗余校驗運算電路,涉及數(shù)據(jù)校驗技術(shù)領(lǐng)域,所解決的是提高計算靈活性的技術(shù)問題。該電路包括多項式矩陣計算模塊、單位矩陣輸出模塊、系統(tǒng)矩陣計算模塊、并行CRC運算模塊;將生成多項式輸入多項式矩陣計算模塊,通過多項式矩陣計算模塊高效地計算出生成多項式矩陣的m次冪運算結(jié)果,利用系統(tǒng)矩陣計算模塊中的二輸入選擇器件在線選擇兩種階數(shù)的生成多項式階數(shù),利用系統(tǒng)矩陣計算模塊輸出的系統(tǒng)矩陣,使得并行CRC運算模塊能在實現(xiàn)兩種輸入位寬的CRC運算。本實用新型提供的電路,改變生成多項式時,不需要重新計算CRC運算所需的系統(tǒng)矩陣。
文檔編號H03M13/09GK202906879SQ20122047977
公開日2013年4月24日 申請日期2012年9月18日 優(yōu)先權(quán)日2012年9月18日
發(fā)明者張堅, 何健 申請人:國核自儀系統(tǒng)工程有限公司