VMM中各个部件的使用,可参看Synopsys与ARM共同出版的手册。
3.2 评估标准
本所此前的验证工作均采用高级验证语言ve-ra,使用SystemVerilog则是第一次。VMM方法的引入,究竟能在多大程度上提高验证效率?该项目既是实际工作,又是一次评估。
我们设定预期值是基于以下几点考虑:
(1) 建立一个范例平台,包含简单的数据交易、自检测、覆盖率统计,需要多长时间?
(2) 可扩展性,即随机测试向量的约束条件更改、自动比对机制按需求定制、功能覆盖点的添加及AXI协议的监控是否完备。
(3) 验证流程可控性,如在已有的九步骤中插入额外动作;通过系统配置的改变,来控制各步骤执行的顺序和次数(比如一次reset多次cfg_dut以实现在线重复测试)。
(4) 易用性也应当考虑在内。毕竟,VMM方法涵盖的内容很广,工程师们要完全掌握仍有个过程。在无法知其所以然的时候,能不能很快地知其然,并开展工作,显得非常重要。
后文的叙述,都将围绕着这几方面展开。
4 、AXI-VIP的集成
如前所述,VMM方法具备抽象分层结构、有九个执行步骤等优点,但它只是一个通用的方法,能否符合前面提出的四点判定标准,还是问题。
举例来说,计算所的AXI主设备(master)仿真模型,是以Verilog编写的,无法在短期内实现与VMM平台的互联;完整的AXI协议检测,对本所第一颗基于该总线的片上系统,显得尤为重要;由于时间仓促,AXI仿真模型还有待修正。
这些都是项目进程中无法回避的问题,而VMM方法本身又没有提供解决方法。
4.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所示的分层架构。工程师作为用户,只需做如下修改,便能得到包含有简单数据交易、自检测、覆盖率统计等功能的验证平台: