找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] BCH编译码器的FPGA设计及SoPC验证

[复制链接]
admin 发表于 2013-3-26 10:48:09 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
摘  要: 针对NAND Flash应用,完成了并行化BCH编译码器硬件设计。采用寄存器传输级硬件描述语言,利用LFSR电路、计算伴随式、求解关键方程、Chien搜索算法等技术方法完成了BCH编译码算法在FPGA上的硬件实现。相比于传统串行实现方案,采用并行化实现提高了编译码器的速度。搭建了基于SoPC技术的嵌入式验证平台,在Nios处理器的控制下能快速高效地完成对BCH编译码算法的验证,具有测试环境可配置、测试向量覆盖率高、测试流程智能化的特点。
关键词: 并行化;BCH;FPGA;优化;SoPC
       随着科技进步和信息化的快速发展,如何在海量数据存储中确保数据不出错成为众人关心的问题。作为广泛应用于U盘、固态硬盘等电子产品的一种非易失性存储介,NAND Flash 由于其结构的特殊性,在进行擦写操作时易产生错误,故需要引入错误校验机制。早期使用SLC工艺的NAND Flash通常采用汉明码(ECC)校验,但是无法纠正1 bit以上的错误。现今的MLC工艺多采用BCH纠错,但每页产生的错误往往超过2 bit,甚至达到4 bit。国内外对BCH纠错的研究已展开,参考文献[1-2]采用串行结构完成译码器设计,实现简单,但最大时钟频率小、速度慢,无法满足高速的需要。参考文献[3-4]中提出并行化结构,提高了设计速度和数据吞吐量,但电路实现讨论不充分。参考文献[5]中通过ASIC制备芯片并进行测试验证,但此方法周期长、费用高。
     针对以上问题,本文基于Altera公司的CycloneII EP2C35系列FPGA完成了并行化BCH(8184,7976,16)码编译器设计,并利用SoPC Builder搭建了验证平台,在Nios II处理器的控制下能高效地完成BCH编译码算法的验证,具有测试环境可配置、测试向量覆盖率高、测试流程智能化的特点。
1 BCH编译码FPGA设计
     结合实际使用NAND Flash的情况, 16 bit纠错是NAND Flash使用的趋势。本设计采用并行化结构实现16 bit BCH码算法。
1.1 并行BCH编码器的设计
     BCH编码器通过除法电路得到余数作为系统码的校验位,实现公式为:
      20121107045503741774776.gif
20121107045503804274777.gif
20121107045503898024778.gif

2 基于SoPC技术的验证系统
     搭建了基于SoPC技术的嵌入式验证平台, NiosⅡProcessor通过AVALON总线以AVALON-SLERVER协议与RAM_CONTROLLER以及BCH_IP外设进行通信,控制编译码模块工作,如图4所示。其中data_cnt为传输码元数,eob信号为传输码元结束信号,sob为开始传输原码信号,data信号为传输原码数据。
    20121107045503944894779.gif
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-28 20:46 , Processed in 0.055869 second(s), 11 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表