(1) 替换DUT,并修改接口信号名;

(2) 改写测试例test_1的约束条件,得到自己的测试例;

(3) 增加对DUT的配置操作。

上述工作于一天内完成,仿真输出结果有波形文件、Log文件、及覆盖率报告。

4.2 AXI-VIP支持的类

AXI VIP定义的类,都有相同的前缀名“dw_vip_axi”,它们构成vmm_env当中的大部分:

这些类将例化产生主设备部件、从没备部件、监控部件、配置对象、数据对象、和数据传输管道等等。它们有着各自的变量、函数,提供了丰富的控制功能,涵盖所有类型的操作。

功能的完备并未损害AXI-VIP的易用性,这点在项目中得到了印证。通过三天的培训与实做,工程师们能够通过“修改约束条件来随机产生测试向量”,按照芯片测试规范改写“自动比对机制”,添加“功能覆盖点”,并利用AXI监控部件“自动检查协议”并收集与AXI协议相关的覆盖率。

这当中,按照芯片测试规范改写“自动比对机制”没有现成的VMM基本类可用。我们是从Synopsys提供的简单范例人手,利用AX-I-VIP提供的回调函数集,获取数据交易信息,并实时地比对流出与流入数据。如同其他的验证系统,这部分工作是最多样化,也是最为核心的任务,所以占用三天当中的大部分时问,也在意料之中。

我们在下一节中简单介绍本项目“自动比对机制”的实现。

5.基于VMM的Scoreboard实现

本所验证组以VMM方法为指导,利用AXI-VIP提供的回调函数集,快速建立了该测试平台的自动比对机制。尽管还不能最终应用在十几个主/从设备的全系统中,但是,由于这部分代码封装在自定义的Scoreboard类当中,可重用,可扩展,并且符合VMM平台的接口要求,可以很方便地合入将来的系统中。

该Scoreboard类的核心部分SystemVerilog代码由Synopsys提供,如图3所示。左端是主设备数据缓冲及比对,右端为从设备数据缓冲及比对,中间的1到N和N到1转换,实现数据比对任务的分配。N个从设备的比对代码,都扩展自相同的类。正因为这种设计它是可无限扩展的。基于本项目只有两个主设备的特点,我们对左边的结构做了大幅度简化。

核心的比对部分之外,关键任务就是实时地获取各主/从没备的数据流。这在AXI-VIP(也包括Synopsys公司的其他VIP)中,已经有现成函数可用。本所工程师在两天时间内就学会使用,并结合实际完成了代码的开发与调试。

AXI-VIP包括主设备、从设备、与监控设备。它们在数据交易的几个关键点将得到一次函数回调(callback)的机会,如表1所示。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查