论文部分内容阅读
随着半导体工艺的发展,集成电路设计规模不断增大,芯片设计复杂度日益增加,芯片验证工作也越来越困难。验证是集成电路设计中必不可缺的一部分,它保障了芯片设计的功能满足规范的定义和要求,减少由于功能缺陷导致的投片次数,缩短产品上市时间,但设计的飞速发展与验证方法的发展之间鸿沟仍然巨大。最近的统计数据表明,对一个复杂逻辑芯片而言,整个产品周期中60~70%的时间都用于验证工作[1]。然而,传统的验证方法很难满足现在复杂的芯片验证,研究高效的、自动化的、可复用的验证方法将是验证工程师们重点关注的方向。本文的主要内容是基于VMM验证方法学搭建一个适用于异步、ONFI、Toggle三种接口标准的NAND Flash控制器的验证环境。VMM是基于SystemVerilog搭建的一种层次化的验证平台,该平台支持受约束的随机激励、覆盖率驱动和自动化对比等功能。本文在详细分析了异步、ONFI、Toggle三种类型的NAND Flash的工作协议后,结合NAND Flash控制器的架构和功能特点,提取出主要的功能验证点。基于这些待测功能点,本文提出了一种可复用的验证平台结构,并对验证平台内的组件的功能和实现方式等进行了详细的分析论述。本文通过创建受约束的随机测试用例实现对待测功能点的验证,并建立与功能验证对应的功能覆盖率组,在验证过程中以功能覆盖率作为导向来判断验证工作的完成度,结合覆盖率的统计结果对未被覆盖的功能点添加定向测试用例,并且采用将参考模型和待测设计的输出结果进行自动化对比的方法来提高验证效率。验证过程采用直接测试与随机测试相结合的方法,使待测设计能够在遍历更多的情景,确保验证工作的完备性。使用受约束的随机方法提高了验证平台的自动化程度,增加了对边界情况的测试。本文使用VCS工具完成仿真工作,并利用DVE软件来查看波形文件完成代码调试,通过对仿真过程中生成的文件和波形对仿真结果进行分析。本文最后通过分析功能仿真结果和覆盖率报告,将仿真过程中出现的功能缺陷和设计人员沟通并及时修改,保证NAND Flash控制器满足设计规范。覆盖率也能达到目标要求,其中功能覆盖率达到100%,代码覆盖率达到99.15%。本文搭建的验证平台有很强的复用性,易移植到其它NAND Flash控制器项目中,大大的提高了验证效率,缩短了研发周期,充分体现了VMM验证方法学的特点。