论文部分内容阅读
随着SoC芯片规模不断扩大、功能的集成度越来越高,从而使得芯片验证变得越来越困难,已经成为芯片开发的瓶颈。据统计,验证工作占据芯片开发总工作量的50%到80%。由于受到TTM(Timer To Market)的限制,芯片的验证要求必须在有限的时间内达到较高的功能覆盖率,因此如何采用有效的验证技术以提高验证效率成为重要的研究课题。
本文基于实际的SoC设计项目,首先建立宽带无线通信芯片的SoC系统。该SoC芯片基于AMBA总线协议,将ARM处理器、DSP、核心算法IP模块、外围功能IP模块、外围接口IP模块通过多条AHB、APB总线连接到一起,实现IEEE802.16e物理层和MAC层的功能。使用IP模块的参考模型可以使验证与设计并行工作,在进行IP核开发的同时,可以根据SoC系统参考模型建立验证环境,编写测试案例,IP核开发结束后可以立即进行测试。
本文在以VMM(Verification Methodology Manual)方法学指导下建立的层次化的验证环境中对芯片的各个模块进行验证。验证环境分为测试层、场景层、功能层、指令层和信号层,反映了设计所处理数据的抽象层次。测试环境能满足不同测试案例的各种要求,测试案例的编写位于该环境的最顶层。验证过程根据由简单到复杂的原则,首先对单个IP核进行验证,以便在早期发现潜在的问题。按照IP核开发流程设计单个IP模块,替换掉参考设计集成到SoC系统中,设计测试案例,对IP模块进行测试。当项目组所有开发的IP核单独验证通过后,将功能相关的多个IP替换掉参考设计集成到系统中,进行多个模块的联合测试,最后进行全芯片验证。验证环境采用SystemVerilog语言实现,具有随机约束和覆盖率驱动等特点,与传统的Verilog测试平台相比,易于统计功能覆盖率,测试案例易于编写,从整体上缩短了验证时间。