论文部分内容阅读
随着So C(System on Chip)技术的快速发展以及IP(Intellectual Property)核的大量使用,芯片的集成度与复杂度越来越高,设计中出现错误的风险也越来越高。验证技术为设计者提供了一个及时有效的发现So C芯片功能错误的途径。研究数据表明,验证工作占据了整个芯片设计流程中超过一半的时间和人力,验证已经成为制约缩短芯片设计周期的瓶颈,验证的重要性不言而喻。本文主要研究的是So C的数字功能验证。首先调研了当前So C的发展,证明了验证在So C设计中的重要性,了解到目前验证工作面临的困难。然后通过对不同验证技术、验证方法、验证语言的分析总结,找到提高验证效率的方法。验证语言System Verilog具有OOP(object-oriented programming,面向对象编程)、约束随机化、功能覆盖率等与验证直接相关的特性,利用System Verilog可以建立抽象的结构级模型,为系统级验证提供强大的支持。VMM(Verification Methodology Manual,验证方法学)提供了一个标准库,使得验证平台的搭建变得更为简单。此外,脚本语言强大的文本处理能力,使验证过程更为自动化,大大减少设计者的工作量。智能卡芯片是一个典型的So C系统。本文基于智能卡芯片来实现芯片的系统级功能验证。首先提出了一种从模块级到系统级层次化的验证流程。然后研究了智能卡所使用的ISO/IEC14443协议和ISO/IEC7816协议,深入研究了RF模块和7816模块的工作原理。基于VMM验证方法学,对RF模块和7816模块搭建了可复用、可配置的分层验证平台,实现了覆盖率驱动的模块级验证。深入理解了整个智能卡芯片的架构,利用系统级验证关注现实场景的这一特点,复用模块级的验证组件,搭建基于C软件测试用例的系统级验证平台,实现系统级验证的前仿真。为了使验证过程更加的自动化,研究过程中编写了大量的脚本,简化了验证工作。综上所述,本文针对So C系统级功能验证提出了一个高效可行的方法。为了实现系统级验证,首先需要搭建可复用、可配置的完整的模块级验证平台;然后复用模块级的部件,搭建出使用C软件测试用例的系统级验证平台;最后编写脚本,利用脚本进行自动仿真,自动对比仿真的结果。通过智能卡芯片验证平台的搭建对该验证方法的可行性进行了检验,有效地提高了验证效率。本课题中开发的脚本具有复用性,可以应用于类似的课题项目中,可节省大量时间。