论文部分内容阅读
近年来,随着集成电路的规模和复杂度的提升,验证工作的难度不断增加。验证的完备性和验证效率的提升成为了验证工作的关键难点,传统的验证语言已经远远不能满足当前对集成电路验证的需求。本文主要针对一个通用异步收发传输器(Universal Asynchronous Receiver/Transmitter, UART)模块的系统级验证平台的设计进行了研究。该UART模块处于一款信息处理的片上可编程系统(System On a Programmable Chip, SOPC)芯片之中。本验证平台在充分利用通用验证方法学(Universal Verification Methodology, UVM)中的工厂(factory)机制、序列(sequence)机制、相(phase)机制以及寄存器模型等的基础上,根据系统级验证需求将平台分成系统级组件和UART模块通用验证组件(Universal Verification Component, UVC)这两层,其中系统级组件包括系统顶层、系统环境以及系统配置组件等。在系统级验证平台和SOPC芯片系统的软硬件交互方面,本文采用通用输入输出(General Purpose Input Output, GPIO)接口与验证平台互发中断的方式让系统级验证平台与芯片进行握手操作,并使用静态随机存储器(Static Random Access Memory, SRAM)进行系统数据的存储。另外,本文通过功能仿真来说明了整个系统级验证平台的数据通路,并通过搭建UART模块的通用验证组件、将该模块验证组件集成到系统级验证环境中以及进行该模块的系统级验证这三大步来分析说明本系统级验证平台的可使用性。最后,给出了UART模块系统级验证的覆盖率统计结果,其中包括代码覆盖率和功能覆盖率。本课题所设计的系统级验证平台以及编写的JART模块通用验证组件已在作者所实习的公司的项目中得到应用,且本文中UART模块所在的SOPC芯片已进入流片阶段。同时,本文所提出的软硬件交互方法能够有效解决验证平台与待验证的设计之间的信息沟通问题,可供相关验证人员参考。