本实用新型属于集成电路设计领域,具体说是一种用于NAND FLASH的LDPC的测试平台。
背景技术:
随着NAND FLASH工艺的进步,越来越多的NAND FLASH需要LDPC来进行纠错。然而用于NAND FLASH的LDPC没有标准的校验矩阵和其相对应的生成矩阵,而且校验矩阵的的构造方法有很多种,如何验证出每种矩阵的性能,就需要一个测试平台。
技术实现要素:
本实用新型的目的是解决用于NAND FLASH的LDPC的测试问题,提供一种用于NAND FLASH的LDPC的测试平台。
为解决上述技术问题,本实用新型提供了一种用于NAND FLASH的LDPC的测试平台,包括
随机数产生模块,根据需要的信息长度产生随机数、
编码模块,根据输入的信息长度和矩阵产生校验信息、
NAND FLASH控制模块,用于和NAND FLASH进行数据交换,NAND FLASH控制器把信息位和校验位写入FLASH、
译码模块,把从FLASH读出的hard information和soft information数据送入译码器进行译码,输入的是hard information和soft information,输出的结果是hard information、和
误码检测模块,用于统计错误信息,比较译码后的数据和随机发生器的数据,统计误码率。
所述随机数产生模块采用LFSR结构,包括若干寄存器,所述寄存器的初始值为0或1。
所述随机数产生模块得到周期为128的随机数。
所述编码模块采用SARR结构包括位移寄存器和累加电路。
所述NAND FLASH控制模块包括把FLASH的hard information和soft information读出来送入译码模块进行译码的读控制部分、把编码模块送入的信息位和校验位写入NAND FLASH的写控制部分和实现对NAND FLASH的块擦除的擦除控制部分。
所述译码模块采用NMS解码包括输入模块、输出模块、存储单元、变量节点计算单元和校验节点计算单元,变量节点计算单元负责变量节点的更新,校验节点计算单元负责校验节点的更新,每次迭代的中间结果保存在存贮单元中。
误码检测模块包括比较器和UART模块,该比较器负责比较随机数发生器的数据和解码后的数据,并统计出错误个数,UART负责把错误个数的信息发送到PC端。
附图说明
图1为本实用新型的模块图;
图2为LFSR结构图;
图3为SARR结构图;
图4为NAND FLASH控制器示意图;
图5为译码器结构图;
图6为误码检测结构示意图。
具体实施方式
下面结合附图对本实用新型作更进一步的说明。
本实用新型提供了一种用于NAND FLASH的LDPC测试平台,该测试平台先产生一定长度的随机数,把随机数和校验信息写入FLASH,再读取FLASH送入译码器译码,最后统计错误信息。
该实用新型的实施具体包括以下步骤:
步骤1,随机数的产生。随机数产生采用图二所示的LFSR结构,根据需要的信息长度产生随机数,每个寄存器的初始值可以是0或者1,得到周期为128的随机数。
步骤2,编码。编码器采用图三所示的SARR(shift-register-adder-accumulator)结构,SARR电路利用移位寄存器和累加电路为核心实现向量与矩阵的乘法,极大地减少了运算量和资源消耗,有利于编码器的硬件实现。根据输入的信息长度和矩阵产生校验信息。
步骤3,和NAND FLASH的数据交换。NAND FLASH控制器把信息位和校验位写入FLASH,NAND FLASH的控制器如图4所示,分为读控制部分、写控制部分和擦除控制部分。NAND FLASH的特性决定了在写之前必须进行擦除操作。读控制部分就是把FLASH的hard information和soft information读出来送入译码器进行译码。擦除控制部分实现对NAND FLASH的块擦除。写控制部分就是把编码器送入的信息位和校验位写入NAND FLASH。
步骤4,译码。把从FLASH读出的hard information和soft information数据送入译码器进行译码。译码器采用NMS的解码方法。译码的结构图如图5所示,包括输入模块,输出模块,存储单元,变量节点计算单元和校验节点计算单元。变量节点计算单元负责变量节点的更新,校验节点计算单元负责校验节点的更新。每次迭代的中间结果保存在存贮单元中。输入的是hard information和soft information,输出的结果是hard information。
步骤5,统计错误。比较译码后的数据和随机发生器的数据,统计误码率,可以通过UART把数据送到PC端。结构图如图6所示,包括一个比较器和一个UART模块。比较器负责比较随机数发生器的数据和解码后的数据,并且统计出错误个数。UART负责把错误个数的信息发送到PC端。