《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > BCH編譯碼器的FPGA設(shè)計(jì)及SoPC驗(yàn)證
BCH編譯碼器的FPGA設(shè)計(jì)及SoPC驗(yàn)證
來源:電子技術(shù)應(yīng)用2012年第6期
蔡 恒,崔雪楠,,孟虹兆,,黃啟俊,常 勝
武漢大學(xué) 物理科學(xué)與技術(shù)學(xué)院 微電子學(xué)與固體電子學(xué),,湖北 武漢430072
摘要: 針對(duì)NAND Flash應(yīng)用,,完成了并行化BCH編譯碼器硬件設(shè)計(jì)。采用寄存器傳輸級(jí)硬件描述語言,,利用LFSR電路,、計(jì)算伴隨式、求解關(guān)鍵方程,、Chien搜索算法等技術(shù)方法完成了BCH編譯碼算法在FPGA上的硬件實(shí)現(xiàn),。相比于傳統(tǒng)串行實(shí)現(xiàn)方案,采用并行化實(shí)現(xiàn)提高了編譯碼器的速度,。搭建了基于SoPC技術(shù)的嵌入式驗(yàn)證平臺(tái),,在Nios處理器的控制下能快速高效地完成對(duì)BCH編譯碼算法的驗(yàn)證,具有測(cè)試環(huán)境可配置,、測(cè)試向量覆蓋率高,、測(cè)試流程智能化的特點(diǎn)。
關(guān)鍵詞: 并行化 BCH FPGA 優(yōu)化 SoPC
中圖分類號(hào): TP391
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2012)06-0015-03
FPGA design and SoPC verification of BCH encoder/decoder
Cai Heng,,Cui Xuenan,,Meng Hongzhao,Huang Qijun,,Chang Sheng
Department of Electronics Science and Technology, School of Physics and Technology, Wuhan University, Wuhan 430072,,China
Abstract: Parallel structures of BCH encoder/decoder are implemented, for application of NAND Flash. The design is composed of LFSR circuit module, syndrome solving module, key equation solving module and Chien search module. They are described in register-transfer level and realized on FPGA platform. The design is verified on an embedded SoPC platform. Under the control of Nios CPU, BCH algorithm can be efficiently tested. This embedded test system has the virtue of configurable test environment, high test-vector coverage and intelligent test process.
Key words : parallelization;BCH,;FPGA,;optimization;SoPC

    隨著科技進(jìn)步和信息化的快速發(fā)展,,如何在海量數(shù)據(jù)存儲(chǔ)中確保數(shù)據(jù)不出錯(cuò)成為眾人關(guān)心的問題,。作為廣泛應(yīng)用于U盤,、固態(tài)硬盤等電子產(chǎn)品的一種非易失性存儲(chǔ)介,NAND Flash 由于其結(jié)構(gòu)的特殊性,,在進(jìn)行擦寫操作時(shí)易產(chǎn)生錯(cuò)誤,,故需要引入錯(cuò)誤校驗(yàn)機(jī)制。早期使用SLC工藝的NAND Flash通常采用漢明碼(ECC)校驗(yàn),,但是無法糾正1 bit以上的錯(cuò)誤?,F(xiàn)今的MLC工藝多采用BCH糾錯(cuò),但每頁產(chǎn)生的錯(cuò)誤往往超過2 bit,,甚至達(dá)到4 bit,。國內(nèi)外對(duì)BCH糾錯(cuò)的研究已展開,,參考文獻(xiàn)[1-2]采用串行結(jié)構(gòu)完成譯碼器設(shè)計(jì),,實(shí)現(xiàn)簡(jiǎn)單,但最大時(shí)鐘頻率小,、速度慢,,無法滿足高速的需要。參考文獻(xiàn)[3-4]中提出并行化結(jié)構(gòu),,提高了設(shè)計(jì)速度和數(shù)據(jù)吞吐量,,但電路實(shí)現(xiàn)討論不充分。參考文獻(xiàn)[5]中通過ASIC制備芯片并進(jìn)行測(cè)試驗(yàn)證,,但此方法周期長(zhǎng),、費(fèi)用高。

    針對(duì)以上問題,,本文基于Altera公司的CycloneII EP2C35系列FPGA完成了并行化BCH(8184,,7976,16)碼編譯器設(shè)計(jì),,并利用SoPC Builder搭建了驗(yàn)證平臺(tái),,在Nios II處理器的控制下能高效地完成BCH編譯碼算法的驗(yàn)證,具有測(cè)試環(huán)境可配置,、測(cè)試向量覆蓋率高,、測(cè)試流程智能化的特點(diǎn)。
1 BCH編譯碼FPGA設(shè)計(jì)
    結(jié)合實(shí)際使用NAND Flash的情況,, 16 bit糾錯(cuò)是NAND Flash使用的趨勢(shì),。本設(shè)計(jì)采用并行化結(jié)構(gòu)實(shí)現(xiàn)16 bit BCH碼算法。
1.1 并行BCH編碼器的設(shè)計(jì)
    BCH編碼器通過除法電路得到余數(shù)作為系統(tǒng)碼的校驗(yàn)位,,實(shí)現(xiàn)公式為:
    



2 基于SoPC技術(shù)的驗(yàn)證系統(tǒng)
    搭建了基于SoPC技術(shù)的嵌入式驗(yàn)證平臺(tái),, NiosⅡProcessor通過AVALON總線以AVALON—SLERVER協(xié)議與RAM_CONTROLLER以及BCH_IP外設(shè)進(jìn)行通信,控制編譯碼模塊工作,,如圖4所示,。其中data_cnt為傳輸碼元數(shù),eob信號(hào)為傳輸碼元結(jié)束信號(hào),,sob為開始傳輸原碼信號(hào),data信號(hào)為傳輸原碼數(shù)據(jù),。

 

 

    在此基礎(chǔ)上,,利用NIOS向RAM中寫入多種類別錯(cuò)誤進(jìn)行糾錯(cuò)。大量數(shù)據(jù)的測(cè)試證明了BCH編譯碼設(shè)計(jì)的正確性,。部分測(cè)試結(jié)果如表1所示,。

    使用硬件描述語言,基于Altera公司的Quartus8.0開發(fā)工具完成了應(yīng)用于NAND Flash的并行化BCH編譯碼器的設(shè)計(jì),。采用并行結(jié)構(gòu)縮短了編解碼周期,,最大時(shí)鐘頻率可達(dá)101.84 MHz。搭建了基于SoPC技術(shù)的嵌入式驗(yàn)證平臺(tái),,在Nios II處理器的控制下高效地完成了BCH編譯碼算法的驗(yàn)證,。驗(yàn)證結(jié)果表明該算法具有測(cè)試環(huán)境可配置、測(cè)試向量覆蓋率高及測(cè)試流程智能化的特點(diǎn),。
參考文獻(xiàn)
[1] 孫怡,,田上力,林建英.BCH碼譯碼器的FPGA實(shí)現(xiàn)[J].電路與系統(tǒng)學(xué)報(bào),,2000(12):98-100.
[2] 江建國.BCH編譯碼器的設(shè)計(jì)及驗(yàn)證[D].上海:上海交通大學(xué).2010.
[3] 張彥,,李署堅(jiān),崔金.一種BCH碼編譯碼器的設(shè)計(jì)與實(shí)現(xiàn)[J].通信技術(shù),,2010,,43(12):24-26.
[4] 劉冀,孫玲.可變碼率BCH碼編譯碼的FPGA實(shí)現(xiàn)[J].信號(hào)與信息處理,,2010,,40(7):11-13.
[5] 許錦.NAND Flash快速BCH編解碼算法及硬件實(shí)現(xiàn)[D].上海:上海復(fù)旦大學(xué),2008.
[6] 趙景琰,,金鷹翰,,趙培,等.并行化的BCH編解碼器設(shè)計(jì)[J].微處理機(jī),,2010(4):42-45.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。