论文部分内容阅读
随着系统芯片(SoC)设计规模的不断增长和设计复杂度的不断提高,集成电路的验证工作变得越来越困难。传统方法已经不能满足于芯片规模达到百万门甚至千万门以上的功能验证,因此验证在当今集成电路设计中面临着更大的挑战。大量的测试激励及系统级别验证平台的编写意味着繁重的工作量。如何保证高效的验证开发是IC设计工程师的重要任务之一。AXI总线以其高性能、高带宽的优势,在SoC设计中被广泛使用。由于AXI总线接口在使用中必须严格遵循一定的规范和标准。因此,AXI总线接口的验证是SoC设计中功能验证的重点。基于传统的Specman Elite验证平台层次化不清晰,验证组件各自的功能模糊的缺点,本文应用perl脚本语言构建了层次化清晰的验证架构,使得各组件的功能明确,继承性和移植性强。较好地实现验证平台从模块级向系统级的顺利转换。在深入研究AXI总线的基础上,本文基于IC验证的高级语言Specman E-language搭建AXI总线的验证环境。验证平台采用参数化的设计思想,使得AXI验证平台的建立和验证过程具有可配置性。在搭建平台的过程中采用基于事务级传输的IP格式激励,可构造传输数据位宽自适应的猝发操作。数据输出结果采用自动回收和对比的方式,协议的检查采用断言的方法,可以实时地检查时序的有效性和因果特性。该验证平台具有IP复用性,适用范围广,不仅能够运用在模块级、系统级,更可运用在以AXI为总线的其它产品上。该平台还可以识别AXI总线中一些重要的事件,如监视违反协议规定的交易、警告等,从而一定程度上实现AXI验证平台的智能化。为了更好地保证AXI总线功能的正确性,在验证平台统计代码覆盖率的基础上,本文引入了功能覆盖率来驱动验证的完备性,此方法可推广到其他协议和相应模块中使用。此平台已被运用于一款商业通信芯片中的验证,通过与传统AXI验证平台比较,验证速度提高10%,证明此平台的性能更高,验证收敛速度更快。