论文部分内容阅读
近年来集成电路飞速发展,Flash的性能不断被改善,为了适应集成电路制造技术的快速演进,提高市场竞争力,对Flash数据操作灵活性方面的要求越来越严格。在数据的存储和管理方面的问题日趋增多,急需建立一个快速的、准确的、多样化的读取存储数据机制。同时,随着可集成在同一芯片上的复杂模块数量的增加,数字逻辑的规模越来越大,这极大程度地增加了芯片验证工作的难度。如何合理构建Flash的验证平台,高效完成功能验证,对Flash的研究与应用将具有极其重要的意义。本论文重点阐述基于并行Flash标准接口存储芯片的读控制器验证。深入研究读控制器的设计功能,详细介绍了读控制器的同步、异步两种读取方式以及存储阵列、状态寄存器和配置寄存器等读取数据结构的电路设计。同步读又分为连续读和单一读两种操作。可以通过配置寄存器配置读模式、握手信号极性、数据保持周期、读取长度、环回等信息。该芯片还具有读存储阵列、读状态寄存器和配置寄存器等数据结构的功能。这样一来,读取数据操作的灵活性和多样化便大大提升。基于以上设计,利用SystemVerilog验证语言以及VMM验证方法学搭建验证平台,将验证平台进行分层搭建,各层相互协作完成对待测设计的验证。根据Flash的设计需求,提取相关的验证功能点。根据提取的验证功能点编写相应的受约束的随机测试向量,并且利用VCS进行仿真,之后对仿真波形进行分析,发现设计缺陷。将运行成功的测试向量加入递归测试库,对Flash进行大量的递归测试,尽可能发现设计中的边界错误。最后收集功能覆盖率和代码覆盖率,通过对功能覆盖率进行分析,判断是否完全覆盖所有的验证功能点。基于本论文所搭建的验证平台,一共开发出200多条测试向量,在整个递归测试过程中一共随机产生了100万个种子,发现了27个设计缺陷。最终收集的功能覆盖率达到100%,代码覆盖率达到97.32%,均满足设计需求。本文使用SystemVerilog高级验证语言和VMM验证方法学搭建的验证平台可重用性高、具有良好的继承性、支持激励的约束随机、可以对结果进行自动比对。这种验证方案可以极大程度地减少验证工程师的工作量,提高验证工作的效率。并且对后续项目的高效和顺利进行有着很重要的意义。