基于FPGA的空間存儲(chǔ)器的糾錯(cuò)系統(tǒng)
(2)系數(shù)計(jì)算電路
本文引用地址:http://butianyuan.cn/article/86848.htm令錯(cuò)誤位置多項(xiàng)式
(3)錯(cuò)誤位置計(jì)算
由上一步我們得出錯(cuò)誤圖樣為:
因此原碼多項(xiàng)式為:
3、仿真與下載
對于上述編譯碼算法,采用Verilog HDL可綜合語言來描述,整個(gè)程序分為頂層模塊和底層模塊,頂層模塊很簡單,主要完成底層模塊的調(diào)用和數(shù)據(jù)的復(fù)位,編碼算法主要由底層模塊完成。其中包括編譯碼算法主程序,撥碼開關(guān)控制程序,液晶顯示程序,系統(tǒng)函數(shù)PLL(鎖相環(huán))程序。系統(tǒng)利用兩個(gè)撥碼開關(guān)sw1,sw2來控制編碼結(jié)果或譯碼結(jié)果的下載與顯示。
圖2和圖3是編碼和譯碼的仿真圖,仿真工具用的是modelsim 6.0,編碼結(jié)果CX=0x69d8ba0e,譯碼過程中,根據(jù)接收多項(xiàng)式RX=0x79caba0e以及最小多項(xiàng)式f1=0x25,f3=0x3d,f5=0x37,譯碼后得出錯(cuò)誤多項(xiàng)式EX=0x10120000,最后RX與EX相與得出CX_dec=0x69d8ba0e,與原碼一致。圖4和圖5是下載后顯示到液晶屏的結(jié)果CX=0x69d8ba0e,EX=0x10120000,所用編譯工具是quartusⅡ5.0,FPGA芯片采用的是Altera Cyclone EP1C6,用到1個(gè)PLL,引腳數(shù)15個(gè),芯片資源耗用不超過5萬門。
4、結(jié)束語
BcH(31,16)編譯碼算法,可以糾正3位錯(cuò)誤,用VerilogHDL可綜合語言描述以上的編碼糾錯(cuò)過程,軟件仿真和硬件下載都證明了算法的正確性和可行性。整套試驗(yàn)系統(tǒng)是模擬空間存儲(chǔ)器受到高能粒子的干擾而發(fā)生錯(cuò)誤,這對于我們AMS實(shí)驗(yàn)也是很關(guān)鍵的一步,現(xiàn)階段我們用到的防護(hù)措施是三倍冗余編碼糾錯(cuò),但它占用的硬件資源比較多,而本文中所研究的循環(huán)BCH碼能夠節(jié)省資源,糾錯(cuò)效果也很明顯,所以它將會(huì)在AMS項(xiàng)目中得到實(shí)際的應(yīng)用。
評論