微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > VMM验证方法在AXI总线系统中的实现

VMM验证方法在AXI总线系统中的实现

时间:05-04 来源:EETCHINA 点击:

主/从设备的全系统中,但是,由于这部分代码封装在自定义的Scoreboard类当中,可重用、可扩展,并且符合VMM平台的接口要求,可以很方便地合入将来的系统中。该Scoreboard类的核心部分SystemVerilog代码由Synopsys提供,如图3所示。


图3:自检测单元的结构框图。

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

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

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


表1:回调函数与相应管道的对应关系表。

依据这些回调函数对应的数据交易阶段,我们选取主设备的post_input_channel_get,从设备的pre_output_channel_put两函数来获取交易数据。

其它函数也可以用来获取数据,如监控设备的pre_activity_channel_put,就可以得到输入、输出两方面的数据。具体请参看AXI-VIP使用手册。另外,VMM回调函数还可以用于控制验证流程、插入错误数据等等,限于篇幅,本文不再展开。

本文小结

因为芯片验证工作的趋势是需要更多的软件知识和技巧。本文以中科院计算所的SoC项目为例,讲解了如何充分利用专业的验证语言基本库和商用的仿真模型快速建立测试平台。文中详细介绍了各部件的使用和AXI-VIP对象如何纳入VMM框架,以及这样做的实际意义。

VMM方法基于SystemVerilog语言,提供了完整的函数库,而作为补充的AXI-VIP,功能完备且易用性强。基于这一新方法,本所验证组工程师在五个工作日内快速建立了一套可方便扩展的测试平台。建立新系统的过程中,发现一个设计的漏洞,充分体现了该方法的高效性。

注:本文作者分别事张珩(中科院计算机所)与辜帆(Synopsys公司)

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top