《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可编程逻辑 > 设计应用 > BCH编译码器的FPGA设计及SoPC验证
BCH编译码器的FPGA设计及SoPC验证
来源:电子技术应用2012年第6期
蔡 恒,崔雪楠,孟虹兆,黄启俊,常 胜
武汉大学 物理科学与技术学院 微电子学与固体电子学,湖北 武汉430072
摘要: 针对NAND Flash应用,完成了并行化BCH编译码器硬件设计。采用寄存器传输级硬件描述语言,利用LFSR电路、计算伴随式、求解关键方程、Chien搜索算法等技术方法完成了BCH编译码算法在FPGA上的硬件实现。相比于传统串行实现方案,采用并行化实现提高了编译码器的速度。搭建了基于SoPC技术的嵌入式验证平台,在Nios处理器的控制下能快速高效地完成对BCH编译码算法的验证,具有测试环境可配置、测试向量覆盖率高、测试流程智能化的特点。
關(guān)鍵詞: 并行化 BCH FPGA 优化 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)心的問(wèn)題。作為廣泛應(yīng)用于U盤(pán)、固態(tài)硬盤(pán)等電子產(chǎn)品的一種非易失性存儲(chǔ)介,NAND Flash 由于其結(jié)構(gòu)的特殊性,在進(jìn)行擦寫(xiě)操作時(shí)易產(chǎn)生錯(cuò)誤,故需要引入錯(cuò)誤校驗(yàn)機(jī)制。早期使用SLC工藝的NAND Flash通常采用漢明碼(ECC)校驗(yàn),但是無(wú)法糾正1 bit以上的錯(cuò)誤?,F(xiàn)今的MLC工藝多采用BCH糾錯(cuò),但每頁(yè)產(chǎn)生的錯(cuò)誤往往超過(guò)2 bit,甚至達(dá)到4 bit。國(guó)內(nèi)外對(duì)BCH糾錯(cuò)的研究已展開(kāi),參考文獻(xiàn)[1-2]采用串行結(jié)構(gòu)完成譯碼器設(shè)計(jì),實(shí)現(xiàn)簡(jiǎn)單,但最大時(shí)鐘頻率小、速度慢,無(wú)法滿足高速的需要。參考文獻(xiàn)[3-4]中提出并行化結(jié)構(gòu),提高了設(shè)計(jì)速度和數(shù)據(jù)吞吐量,但電路實(shí)現(xiàn)討論不充分。參考文獻(xiàn)[5]中通過(guò)ASIC制備芯片并進(jìn)行測(cè)試驗(yàn)證,但此方法周期長(zhǎng)、費(fèi)用高。

    針對(duì)以上問(wèn)題,本文基于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編碼器通過(guò)除法電路得到余數(shù)作為系統(tǒng)碼的校驗(yàn)位,實(shí)現(xiàn)公式為:
    



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

 

 

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

    使用硬件描述語(yǔ)言,基于Altera公司的Quartus8.0開(kāi)發(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] 江建國(guó).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)載。

相關(guān)內(nèi)容