VMM验证方法在AXI总线系统中的实现
(data object)、数据传输管道(channel)、回调函数集(callback)、配置总集(dut_cfg与sys_cfg)、覆盖率统计部件,以及联接并集成以上所有部件的环境对象(environment object),如图2中所示。
图2:在测试平台中使用验证IP可大为降低工作量。
VMM中各个部件的使用,可参看Synopsys与ARM共同出版的手册。
2. 评估标准
该研究所之前的验证工作均采用高级验证语言Vera,使用SystemVerilog则是第一次。VMM方法的引入,究竟能在多大程度上提高验证效率?该项目既是实际工作又是一次评估。
我们设定预期值,是基于以下几点考虑:
a. 建立一个范例平台(包含简单的数据交易、自检测、覆盖率统计)需要多长时间?
b. 可扩展性,即随机测试向量的约束条件更改、自动比对机制按需求定制、功能覆盖点的添加及AXI协议的监控是否完备。
c. 验证流程可控性,如在已有的九步骤中插入额外动作;通过系统配置的改变,来控制各步骤执行的顺序和次数(比如一次reset多次cfg_dut以实现在线重复测试)。
d. 易用性也应当考虑在内。毕竟,VMM方法涵盖的内容很广,工程师们要完全掌握仍有个过程。在无法知其所以然的时候,能不能很快地知其然,并开展工作,显得非常重要。
后文的叙述都将围绕着这几方面展开。
AXI-VIP的集成
如前所述,VMM方法具备抽象分层结构、有九个执行步骤等优点,但它只是一个通用的方法,能否符合前边提出的四点判定标准还成问题。举例来说,计算所的AXI主设备(master)仿真模型是以Verilog编写的,无法在短期内实现与VMM平台的互联;完整的AXI协议检测,对本所第一颗基于该总线的片上系统显得尤为重要;由于时间仓促,AXI仿真模型还有待修正。这些都是项目进程中无法回避的问题,而VMM方法本身又没有提供解决方法。
1. 商用验证模型
AXI验证模型(VIP)是Synopsys公司的商用模型,可配置、数据交易严格符合AXI协议,具备完整的协议检查功能。最重要的一点是,AXI-VIP提供与VMM平台的接口。实际上,这个VIP本身就实现了VMM平台的驱动部件(Driver)加监控部件(Monitor)的功能:向下层是与DUT通过端口相联,向上层则有基于vmm_channel/vmm_xactor_callbacks的数据传输管道。如图2所示,除Test、Generator和Scoreboard之外的部分,AXI-VIP都已实现。这个商用模型对开发进度的实际贡献将取决于工程师能否快速上手。换言之,VIP的易用性决定了它的价值。
有鉴于此,Synopsys公司提供一个基于AXI-VIP的VMM范例。其中,DUT部分以AXI Bus VIP替代,TB部分实现了如图2所示的分层架构。工程师作为用户只需做如下修改,便能得到包含有简单数据交易、自检测、覆盖率统计等功能的验证平台:替换DUT,并修改接口信号名;改写测试例test_1的约束条件,得到自己的测试例;增加对DUT的配置操作。上述工作于一天内完成,仿真输出结果有波形文件、Log文件及覆盖率报告。
2. AXI-VIP支持的类
AXI- VIP定义的类都有相同的前缀名"dw_vip_axi",它们构成vmm_env当中的大部分:
a. dw_vip_axi_master_rvm;
b. dw_vip_axi_slave_rvm;
c. dw_vip_axi_monitor_rvm;
d. dw_vip_axi_master_transaction_scenario_gen;
e. dw_vip_axi_port_model_configuration;
f. dw_vip_axi_system_model_configuration;
g. dw_vip_axi_master_transaction_channel;
h. dw_vip_axi_slave_resp_transaction_channel;
i. dw_vip_axi_monitor_transaction_channel。
这些类将例化产生主设备部件、从设备部件、监控部件、配置对象、数据对象和数据传输管道等等。它们有着各自的变量、函数,提供了丰富的控制功能,涵盖所有类型的操作。
功能的完备并未损害AXI-VIP的易用性,这点在项目中得到了印证。通过三天的培训与实做,工程师们能够通过"修改约束条件来随机产生测试向量",按照芯片测试规范改写"自动比对机制",添加"功能覆盖点",并利用AXI监控部件"自动检查协议"并收集与AXI协议相关的覆盖率。
这当中,按照芯片测试规范改写"自动比对机制"没有现成的VMM基本类可用。我们是从Synopsys提供的简单范例入手,利用AXI-VIP提供的回调函数集,获取数据交易信息,并实时地比对流出与流入数据。如同其他的验证系统,这部分工作是最多样化,也是最为核心的任务,所以占用三天当中的大部分时间,也在意料之中。
基于VMM的Scoreboard实现
本所验证组以VMM方法为指导,利用AXI-VIP提供的回调函数集,快速建立了该测试平台的自动比对机制。尽管还不能最终应用在十几个
- 工作在扩展温度范围的带有温偿晶振的RTC(11-12)
- MAXQ3120电表参考设计的定制功能(09-13)
- 测量差分输出、电流模式数/模转换器(DAC)的线性度(10-21)
- TD-SCDMA射频测试总结(01-20)
- 低失真覆盖三个十倍频程同步正弦发生器(01-20)
- MAX274在电力参数测量中的应用(01-22)