论文部分内容阅读
随着集成电路工艺技术的不断发展,设计能力不断提高,系统级芯片SoC复杂度持续增加,功能也愈加强大。这使得SoC的验证工作成为集成电路设计过程中的极大挑战。本论文结合作者在超威半导体(AMD)公司实习的项目,完成了PCI-AMBA协议转换桥IP核的验证工作,在研究通用验证方法学(UVM)的基础上,搭建了一套验证平台,并对待验证设计进行了仿真验证。PCI-AMBA协议转换桥为PCI总线和AHB总线之间的传输创建了一个通路,实现协议之间的转换。PCI总线负责发起操作,并将PCI命令和数据传递给AHB总线,在AHB总线上加以执行。基于待验证设计的功能,本文采用UVM验证方法搭建验证平台,完成验证平台整体架构的设计。根据PCI-AMBA协议转换桥的设计需求,提取了功能测试点,并根据提取的功能测试点在验证平台中设计了sequence组件,产生随机激励发送给pci_msr_drv组件,使用虚接口完成多种激励的同步,针对总线协议的特点对随机激励中的数据项添加了特定的约束,提高验证效率。pci_msr_drv组件模拟PCI主机模型,从pci_msr_sqr中反复的获取事务包pci_pkt,通过pci_if接口将事务包转换成逻辑电平信号驱动到PCI2AHB模块。pci_mtr通过pci_mtr_if收集事务级信号pci_pkt,监测driver发送给DUV的激励是否满足协议规范,若满足协议的规定则从DUV上采样接口信息,并转化为抽象事务发送给predictor组件。pci2ahb_scb组件收集predictor预测的结果以及DUV实际的输出结果,并对两个结果做出比较,以此检测输入的数据经过DUV处理之后的正确性。在验证平台中采用仿真阶段方法控制验证的实施,通过配置参数对环境进行配置。并且收集代码覆盖率,为功能覆盖率建模来收集功能覆盖率以及采用断言机制完成对接口协议的检测。最终实现整个验证平台的工作。本文采用受约束的随机方法和覆盖率驱动方法生成测试激励,根据产生数据包pci_pkt和ahb_pkt的不同序列场景的要求,对相应数据项设置不同的约束。对于随机激励很难覆盖到的地方,再采用覆盖率驱动的激励生成方法添加定向激励,最终使得功能覆盖率达到100%,代码覆盖率达到94%以上,断言覆盖率达到100%。