论文部分内容阅读
Garfield作为一款SOC芯片,具有如下很典型的特点:芯片内嵌ARM7TDMI内核;芯片内有高速系统总线AHB和低速设备总线APB,AHB和APB通过Bridge连接;芯片内有存储器子系统;芯片内有许多控制器,比如数据端口(UART、SPI等)、数据传输控制器(DMA等)。这些特点给功能验证工作带来诸多挑战,使功能验证成为Garfield芯片设计的瓶颈,其难点主要体现在以下三个方面:验证环境的构建、验证环境的可重用性、覆盖率评估机制。验证环境的构建主要解决Garfield芯片验证方案和激励生成机制的选择两大问题。通过比较基于平台的验证方案和Bottom-up的验证方案的仿真时间,最终确定Garfield芯片的验证方案是总体上采用Bottom-up的方法,把验证工作分为三个层次进行,模块级、子系统级和全芯片级。在全芯片级的验证中,由于Garfield芯片自身的特点,采用基于平台的验证方法。在激励生成机制问题上,通过从定性和定量两个方面分析评估,受限随机矢量生成机制总体上全面优于传统激励生成机制。Garfield芯片早期验证环境在可重用性方面存在五大缺陷:没有采用模块化设计的方法构建验证环境;没有做到验证环境和测试文件的分离;难以在同一个验证环境中描述并发激励;难以做到在同一个抽象层次上,把对DUV行为的描述和对DUV行为实现方式的描述分离;在不同验证层次上难以复用验证环境。本文针对这五个方面提出改进方法,提高了验证环境的可重用性。功能覆盖率是Garfield芯片验证的中心环节,本文深入研究了功能覆盖率在Garfield芯片验证中的应用。在引用功能覆盖率数学模型的基础上,讨论了建立功能覆盖率工程模型的方法和两种分析覆盖率空洞的算法,使用这些算法能够使功能覆盖率迅速提高。在此基础上建立覆盖率驱动的验证流程。Garfield项目的实践表明,采用本文的功能验证方案发现了大量设计错误,保证了流片的成功。经过对Garfield进行多目标圆片(MPW)试验和测试,Garfield芯片基本达到设计要求。