專利名稱:一種基于fpga的抗多位錯誤翻轉rs碼檢錯糾錯系統的制作方法
技術領域:
—種基于FPGA的抗多位錯誤翻轉RS碼檢錯糾錯系統技術領域[0001]本實用新型涉及一種檢錯糾錯系統,特別涉及一種可以糾正基于SRAM的存儲器 多位錯誤翻轉的基于FPGA的抗多位翻轉RS碼檢錯糾錯系統。[0002]背景技術[0003]基于SRAM的存儲器器件已經廣泛應用于各類航天器件以及衛星上,但是由于太 空中的高能粒子撞擊以及電磁輻射等惡劣的環境,將導致基于SRAM的存儲器件邏輯狀態 發生翻轉原來存儲位的"O"變為"I",或者"I"變為"O",造成系統功能紊亂。而 隨著工藝尺寸進入納米時代,芯片上晶體管的密度越來越高,密度的增高使得存儲單元之 間的距離逐漸減小,距離的減小意味著以上這種錯誤可能造成多個單元的狀態發生錯誤的 翻轉,這就是多位錯誤翻轉(Multiple Bits Up sets, MBUs)。美國NASA宇航局的JPL實 驗室通過一系列的試驗發現在Virtex-4(90nm)系列的FPGA中MBUs的發生概率幾乎是 Virtex-1I (130nm)系列的3倍,是Virtex(220nm)系列的69倍,這證明了隨著工藝尺寸的 降低,FPGA中MBUs的發生概率會越來越高,而FPGA中包含大量的SRAM存儲單元,它們對 于尺寸的變化所導致的MBUs更為敏感。很多的輻射實驗也表明存儲器中MBUs與工藝密切 相關,在90nm時,存儲器中2位MBUs的發生概率約為60%,當工藝為65nm時,3位和4位 MBUs的概率達到了 45%,而且隨著工藝進入亞微米量級(小于90nm)時,MBUs引起的錯誤 翻轉位數已經達到13位。[0004]為了對抗存儲器數據的多位錯誤翻轉,有人發明了一種可用于大容量存儲器的 RS (256,252)碼糾錯譯碼芯片(公開號CN 1773863A)。該糾錯譯碼芯片的乘法和求逆運 算運用查表和模加運算實現,由于是在GF(28)域,查表法需要大量的資源,以大量的面積獲 取速度,有些得不償失;其次,沒有考慮到當信息位無錯碼時,可以停止chien搜索,終止糾 錯,因為沒必要糾錯;再次,沒有考慮到當錯碼個數大于糾錯能力時,可以放棄糾錯,因為會 越糾越錯;最后,沒有系統的RS編碼,RS碼只有在數據編碼之后才可以譯碼糾錯,這個發明 的芯片并不能做到即插即用。還有人發明了相似的一種基于FPGA的高速RS編譯碼器實現 方法(CN 102122964A),采用三級流水線實現譯碼,使用雙時鐘驅動,以及大量的常系數乘 法器,這些方法雖然能在一定程度上提高速度,但是對于最重要的最耗資源的關鍵方程求 解部分卻未有改善,雖然將常數乘法器轉換為純組合邏輯的異或運算,但是多級的純組合 邏輯只會拖慢系統速度,大大影響系統的速度和性能,這并不適合實際的工程應用。[0005]針對上述問題,設計一個能夠從數據寫入存儲器之初就開始進行編碼防護,直到 從存儲器讀出數據時,再進行譯碼保護的、即插即用的、耗費資源少、效率較高的、可以用來 加固容易發生多位錯誤翻轉的存儲器的檢錯糾錯系統顯得尤為必要,本實用新型基于FPGA 的抗多位錯誤翻轉RS碼檢錯糾錯系統就應運而生。[0006]實用新型內容[0007]本實用新型的目的在于,提供一種對存儲器的多位錯誤翻轉進行檢錯糾錯的RS 碼檢錯糾錯系統,使得寫入存儲器中的數據首先通過RS碼檢錯糾錯系統編碼后存入存儲 器,當存儲器遭受多位錯誤翻轉時,RS碼檢錯糾錯系統能夠通過譯碼將錯誤檢測出來并糾正。[0008]本實用新型的技術方案是一種基于FPGA的抗多位錯誤翻轉RS碼檢錯糾錯系統, 它包括控制電路、編碼器、存儲器、譯碼器;其中譯碼器包括校驗子計算電路、chien搜索電路、關鍵方程求解電路、錯碼個數計數電路、錯誤圖樣FIFO、糾錯電路。控制電路與編碼器、譯碼器的錯碼個數計數電路、以及chien搜索電路相連接,控制數據的讀寫操作,以及根據錯碼個數計數電路的輸出產生控制信號。在待保護數據寫入存儲器之前,控制電路首先控制待保護數據經過RS編碼器,產生校驗數據,將校驗數據置于待保護數據后面一起寫入存儲器冰位信息位置于第(η-l)位到第(n-k)位,(n-k)位校驗位置于第(n_k_l)位到第O位。編碼器采用以生成多項式g (x)為模的除法電路,利用線性反饋移位寄存器實現,用于對待保護數據進行編碼產生相應的校驗位;其中的乘go,gl,g2,.,運算采用常數乘法器實現。存儲器為SRAM型,用于存儲待保護數據和相應的校驗位,且校驗位位于待保護信息數據后面。校驗子計算電路,采用Horner準則-嵌套的乘累加實現,校驗子計算電路的乘法器采用加D觸發器分割的常數乘法器實現,用于計算校驗子的值,并將校驗子序列S 串行輸出到關鍵方程求解電路。關鍵方程求解電路,采用改進的無逆BM迭代算法實現,用于計算錯誤位置多項式σ (X)和錯誤值多項式ω (χ)的系數;關鍵方程求解電路的乘法運算采用基于弱對偶基的比特并行乘法器實現,關鍵方程求解電路的平方運算采用常規基實現;其中的改進的無逆的BM迭代算法采用反向時鐘控制,即在時鐘上升沿計算Λ (k+1),在時鐘下降沿計算A(k+1),以便在求出A(k+1)的值后,能夠馬上用于計算A(k+1) ;chien搜索電路用于搜索使錯誤位置多項式σ (χ) =0的根。錯碼個數計數電路用于計數使錯誤位置多項式σ (χ) = O的根的個數,并根據錯碼情況向控制電路輸出相應的信息。錯誤圖樣FIFO,在 FPGA上直接實現,用于把錯誤值計算模塊計算出的錯誤值依次緩存到FPGA芯片的錯誤圖樣FIFO中。錯誤值計算電路,采用Forney算法實現,其中的有限域元素求逆和求冪運算,均采用查ROM表方法實現。編碼器和譯碼器均是在一片Xilinx Virtex-4系列器件XC4VLX15 上實現的。[0009]本實用新型具有的有益效果(I)采用錯碼個數計數電路,避免了錯碼個數大于糾錯能力時,出現越糾越錯的現象;避免了信息位無錯時,花費資源進行chien搜索,糾正沒必要的錯誤,提高了系統運行速度和系統可靠性;(2)針對不同的編譯碼步驟,使用最適合的乘法器,使效率最聞,易于在FPGA上快速聞效可罪的實現;(3)本發明的RS (8,4)碼檢錯糾錯系統在GF(24)域上,可以糾正最多連續Sbits錯誤,可靠性比較高,且比較適合計算機的字長;并且可以即插即用。
[0010]圖1為本實用新型提供的一種基于FPGA的抗多位翻轉RS碼檢錯糾錯系統總體結構圖。[0011]圖2為本實用新型提供的一種基于FPGA的抗多位翻轉RS碼檢錯糾錯系統編碼模塊圖。[0012]圖3為本實用新型提供的GF(24)域中常數乘法器乘α 2電路結構圖。[0013]圖4為本實用新型提供的校驗子計算模塊實現電路結構圖。[0014]圖5為本實用新型提供的對偶基實現的比特并行乘法器框圖。[0015]圖6為本實用新型提供的chien搜索模塊判斷Iv1是否錯誤的電路結構圖。
具體實施方式
[0016]請參閱圖1,本實用新型所述的一種基于FPGA的抗多位錯誤翻轉RS碼檢錯糾錯系統包括控制電路、編碼器、譯碼器、存儲器;其中譯碼器包括校驗子計算電路、chien搜索電路、關鍵方程求解電路、錯碼個數計數電路、錯誤圖樣FIFO、糾錯電路。[0017]請參閱圖2,本實用新型中,所述的編碼器,采用以生成多項式g(x)為模的除法電路,利用線性反饋移位寄存器實現編碼,其求余運算用(n-k)級移位寄存器實現。當控制電路控制待保護數據寫入存儲器時,首先控制待保護的數據進入編碼器。編碼具體步驟為(I)首先寄存器Rtl R2w全部清0,即寄存器Rtl R3全部清0,當時鐘信號到來時,開關接通A點,同時開關C閉合,輸入待編碼數據,并將之分成兩路,一路直接輸出,另一路送入除法電路進行移位求余運算,每個時鐘周期移位一個字節;(2)當已經經歷k個時鐘信號的時候,待編碼的信息全部輸入,完成求余運算,此時移位寄存器R0 R3里存的就是所求的余數,即為RS碼的校驗位;(3)當k+Ι個時鐘信號到來的時候,開關接通B點,同時開關C斷開,寄存器中的數據依次移位輸出,在經過2t個時鐘周期后,寄存器中數據全部移出,這2t 個校驗位跟在原來輸入原始信息數據的后面,組成RS (n,k)碼輸出,完成一組RS碼編碼;(4)下一個時鐘到來的時候,寄存器全部清零,重復步驟(I) (2) (3) (4),完成下一組數據的編碼。編碼完畢后,將信息位與產生的校驗位一起寫入所述的SRAM型存儲器。(注2t = n-k,t為最大可糾錯碼字個數,k為每個碼字包含的二進制個數,(n-k)為校驗碼字個數)[0018]請參閱圖3,本實用新型中,所述的編碼模塊的乘法器采用常數乘法器組成。對于 GF(24)域的RS編解碼,GF(24)域中每個元素都可以表示成它的自然基底{1,α , α 2,α 3} 的線性組合a = a0+al a +a2 a 2+a3 α 3,由GF (24)域的本原多項式P (x) = 1+χ+χ4,得1+ α = α 4,在a乘以α 2后,則其乘積項[0019]
權利要求1.一種基于FPGA的抗多位錯誤翻轉RS碼檢錯糾錯系統,其特征在于,本發明包括控制電路、編碼器、存儲器、譯碼器;其中譯碼器包括校驗子計算電路、chien搜索電路、關鍵方程求解電路、錯碼個數計數電路、錯誤圖樣FIFO、糾錯電路;控制電路與編碼器、譯碼器的錯碼個數計數電路、chein搜索電路、以及存儲器相連,控制數據的讀寫操作,以及根據錯碼個數計數電路的輸出產生控制信號。
2.一種基于FPGA的抗多位錯誤翻轉RS碼檢錯糾錯系統,其特征在于,所述的存儲器為SRAM型,用于存儲待保護數據和相應的校驗位。
專利摘要本實用新型公開了一種基于FPGA的抗多位錯誤翻轉RS碼檢錯糾錯系統,采用GF(24)域的縮短RS(8,4)碼,它包括控制電路、編碼器、存儲器、譯碼器;在待保護數據寫入存儲器之前對其進行編碼產生校驗位,將產生的校驗位置于待保護數據信息后面一起寫入存儲器;從存儲器讀數據時,首先經過譯碼模塊糾錯后再將數據讀出。本實用新型可以糾正基于SRAM存儲器的最大連續8bits錯誤翻轉,從而對基于SRAM的存儲器進行加固。
文檔編號H03M13/15GK202856718SQ201220358968
公開日2013年4月3日 申請日期2012年7月20日 優先權日2012年7月20日
發明者王巍, 王寧, 張美杰, 徐飛, 李瑩 申請人:天津工大瑞工光電技術有限公司