论文部分内容阅读
近十年来,由于无线通信设备市场的强劲增长,使得移动通信基带芯片而受到广泛关注。随着片上系统(System on-chip,SoC)设计规模的增大和复杂性的增加,验证工作在数字电路中的地位变得越来越重要。本文基于通信基带SoC芯片的研发项目,对系统级验证中平台的设计和优化的问题进行了深入研究,给出了完整的优化解决方案和测试用例的分析。首先,通过介绍系统级验证平台基本功能和结构,具体分析了SystemVerilog验证平台的工作原理及其组件之间联系。在此基础上,针对现有验证平台的需求进行分析并提出优化设计目标。然后,根据优化目标提出具体优化设计方法,即部分硬件实体的抽象虚拟化,主要分为两部分:一方面是CPU(Central Processing Unit)的虚拟化,另一方面是总线功能模型的抽象。通过这两部分的虚拟模型来替换实体,简化设计。对于CPU的虚拟化,可以在验证平台上模拟CPU的行为建立一个模型cRunner,它能将测试用例的C程序转换成SV程序,直接在仿真器上执行。而cRunner与其他模块通信的总线模型,可采用开放核心协议(Open Core Protocol,OCP)和通用验证方法学(Universal Verification Methodology),设计一个总线功能模型OCP_agent,它能实现从cRunner到NoC的接口协议转换,从而对寄存器/存储器的进行访问。优化后的验证平台称为统一的验证平台(Unified Testbench,UTB)。在UTB上采用软硬件协同仿真策略,实现了仿真过程的加速和无核心系统下的仿真验证,达到了预期的优化设计目标。最后,在原有的验证平台和优化的验证平台分别进行测试用例的仿真,仿真包括系统级仿真和门级仿真。得出的数据结果,进行对比分析,实际物理仿真时间减少了83.9%。证明优化的验证平台能大幅加快仿真速度,提高验证效率。本论文的主要创新点包括:采用直接编程接口(Direct Programming Interface,DPI)能在C语言域和SV语言域中转换的特点,实现对CPU虚拟模型—cRunner的设计。它能把在实体CPU中的C程序直接转移到仿真器中,实现C程序的高效快速执行,使得BOOT时间减少了87.7%。使用UVM验证方法学,完成一个可扩展OCP总线功能模型的设计。在使用UVM过程中,采用了事务级建模、动态配置和内建工厂等机制。同时设计了一个OCP协议可配置的模块,扩大了该模型的应用范围。这些特性使得该模型作为验证知识产权(Intellectual Property,IP)兼具有良好的可复用性和扩展性。