论文部分内容阅读
随着电子产品的日新月异的发展,消费类电子产品功能越来越多样化,这对其存储器的容量要求也是越来越大。对于消费类电子产品中的便携式多媒体播放器又对存储器有了小体积和低功耗的要求。NAND FLASH以其高容量、小体积、低成本以及低功耗的特性,在电子产品中得到广泛的应用。所以将NAND FLASH控制器集成到SoC系统成为一种趋势。本论文首先分析了NAND FLASH存储原理、NAND FLASH器件的存储架构以及主流FLASH器件的读写和擦除操作时序。依据NAND FLASH的存储特性,本文讨论了一种基于AMBAAHB总线的NAND FLASH控制器的实现方式和基于FPGA的软硬件协同验证。对于控制器的设计,为了适应NAND FLASH器件特别是MLC器件的位反转的特性,该控制器集成了BCH纠错码模块。并使用串行数据转换到并行数据运算的技术优化了BCH实现方法。为了加速对NAND FLASH器件的访问速度,该控制器依据FLASH器件的通常读写时序进行了自动模式访问,并且在同时访问多个NAND FLASH芯片时利用interleave模式充分利用各个器件忙的时间,提高整体读写操作效率;为了使该控制器能适用于多种NAND FLASH器件,该控制器支持NAND FLASH器件访问的一些时序参数软件可调,以及支持多种页大小,为了适应不同器件纠错码规格要求不一,本设计支持多种BCH纠错码规格,并尽量做到硬件共用来节省控制器面积。对于NAND FLASH控制器的验证方面,本文讨论了控制器的功能仿真和基于FPGA的软硬件协同验证。在进行功能仿真之后,为了更充分和真实的验证NANDFLASH控制器,本文采用了基于FPGA软硬件相结合的验证方式。把NANDFLASH控制器集成到ARM核心的SoC系统,并一起综合下载到赛灵思(Xilinx)的Virtex-4FPGA芯片,然后利用ARM的集成开发环境来编写测试程序,从而实现对NAND FLASH控制器的软硬件协同验证。设计一个集成数据纠错功能并且能够高速稳定的对FLASH进行读写访问的控制器在工程领域很有实际应用价值。