论文部分内容阅读
随着集成电路工艺与设计能力的不断发展,SoC设计规模与复杂度持续增加。这使得SoC验证工作的难度也日益增长,SoC的验证工作已成为集成电路设计过程中的严峻挑战。本论文针对验证开展研究,在研究分析System Verilog验证语言和通用验证方法学(UVM)的基础上,对SoC/IP的验证特征与验证需求进行分析,根据SoC中IP模块的相关协议规格搭建了验证平台,编写了通用验证组件。并根据验证方法、通用验证组件讨论了如何将验证平台重用于其他IP模块和系统级模块等核心问题。在设计验证阶段,首先分析了SoC体系结构,提出验证需求。利用UVM搭建验证平台。对于验证平台的结构,采用总线接口模型与抽象层次化结构相结合的形式,为下一步SoC/IP验证平台的设计实现打下基础。为保证验证平台具有可重用性的验证需求,文中选取APB、UART总线接口模型作为通用组件,设计顶层控制模块环境嵌套APB与UART通用组件子环境。在低层次组件中加入随机约束、事务项、phase机制,实现验证的随机性、可控性。在验证实施阶段,根据UART设计模块,分解覆盖点采用随机事务级激励编写测试项,在仅通过一条测试项的情况下,代码覆盖率与功能覆盖率分别达到99.60%与100%,以此说明该验证平台有效提高了测试效率。仿真结束后自动生成执行报告,记录验证环境运行的验证组件、寄存器配置信息,并通过UVM_INFO标示transaction传输时正确与错误的信息。在探究验证平台可重用性阶段,选取SPI待测模块,运用相同的验证平台。通过顶层控制模块选取自定义的UART、APB验证通用组件,从而配置生成适用于SPI的验证环境,通过执行测试项进行仿真工作,收集代码覆盖率100%。以此说明对模块级该验证平台的可重用性。再次选取APB子系统,通过结构图阐述该验证平台进行APB子系统级验证所需通用组件的结构与环境划分。以此证明基于UVM可重用验证平台,对传统验证平台在随机性、可复用性、自动化等方面进行了优化,对集成化SoC验证具有可行性。