论文部分内容阅读
随着集成电路的规模及复杂度不断增大,数字电路验证的工作量也随之增加。相对于设计而言验证技术的发展速度较慢,传统的验证方法已经无法满足目前验证工作的需要,功能验证已成为限制设计水平的重要因素。所以,研究新的、高效率的、可复用的、易维护的验证方法具有相当重要的意义。在验证需求的推动下,VMM(Verification Methodology Manual)验证方法学随之出现。VMM以SystemVerilog作为语言基础,既吸收了面向对象的编程方法,同时又具有硬件描述语言对集成电路的适应性。本文对这种新型的验证方法学进行了深入的研究,根据VMM验证方法学的特点,搭建起一个自动化的、可复用的、更加完备的、具有更高效率的验证环境。通过对SPI(Serial Peripheral Interface)工作协议和模块设计要求的分析,提取出完备的验证功能点。基于这些验证功能点,建立了完全对应的功能覆盖率组。在验证过程中以功能覆盖率作为导向,以此来判断验证工作的完成度。根据验证功能点,编写了与之对应的测试用例。验证过程采用直接测试与随机测试相结合的方法,产生大量的、感兴趣的激励来驱动待测模块,使待测设计能够在各种预想的情境下运行,确保了验证工作的完备性,加速了覆盖率的收集过程。使用受约束的随机化方法,提高了验证平台的自动化程度,增加了对边界情况的命中几率。使用了计分板、断言等自动化工具进行验证,提高了验证效率。建立了用来与待测设计进行通信的参考模型,该模型能够按照SPI协议,在多种传输模式下向DUT发送或接收指定格式的数据。使用VCS软件进行仿真,DVE软件进行波形检查,并对仿真结果进行了全面分析,分析覆盖率报告中的问题,确保待测设计符合设计要求,完成了待测模块的功能验证工作。本文主要研究了VMM验证方法学的特点与优势,并以此为理论基础,进行SPI控制器模块级验证平台的搭建。在验证平台中创建了待测设计的功能覆盖率组,建立了符合协议规范的参考模型,实现了数据的自动比较功能,共开发了14条测试用例,16条断言语句,并实现了功能覆盖率的完全收集。通过实际的验证结果表明,基于VMM验证方法学所搭建的验证平台具有明确的验证导向,可重用的组件结构,较快的覆盖率收集速度,自动化的数据对比功能,可以高效地完成对SPI模块的验证工作。