快捷搜索: 王者荣耀 脱发

FPGA实现nand flash控制器

控制器主要功能

    支持 NAND flash memory型号:Samsung, 128Mx8 (K9F1G08R0A, 1.8V) 支持如下命令:

Erase (block)

Program Page (copy internal page buffer into flash memory)

Read Page (a flash page into internal buffer).

    为了实现高数据可靠性,将在编程期间使用 ECC(汉明码) - 在备用页面区域写入 ECC 字节,并读取操作 - 计算页面 (2048 B) 上每个扇区 (512 B) 的传入数据的 ECC,纠正单个错误 并检测双重错误) 提供用于在同一 FPGA 上使用的简单主机接口 提供两个双端口 RAM 缓冲区(位于 FPGA Block RAM 中),以便主机为将来的传输准备一个缓冲区,而控制器可以使用另一个缓冲区进行当前与闪存之间的传输 创建一个紧凑的实现,可以多次实例化,以便在同一 FPGA 设备上提供多个 NAND 闪存接口

擦除操作

时序图

 页编程

时序图

页读取模式

时序图

 顶层接口设计

 模块设计图

 资源消耗

经验分享 程序员 微信小程序 职场和发展