weiqi7777

cadence vmanager(十) vplan与vmanager结合使用的例子

0
阅读(4708)

下面,用vplan与vmanager结合使用,来对一个验证环境,实现MDV的验证。

所验证的DUT,以及搭建的验证环境,是根据testbench.in网站上的systemverilog的demo来搭建的。demo的网站如下:

http://www.testbench.in/SL_00_INDEX.html

本demo,是使用vmanager的本地模式,如果使用CS模式,去掉相应选项即可。

一、目录结构

目录结果如下:

  • filelist: rtl以及tb源文件列表
  • Makefile: 实现环境编译与仿真
  • source目录:存放DUT和验证环境的代码
  • vmanager目录:包含两个2个目录
    • vplan:存放vplan.csv,verification feature的csv文件,用来制作vplan的project。将来vplanner工具的启动目录。
    • vmanager:存放setup.csh和vm_test.vsif,将来vmanager工具的启动目录。setup.csh是建立环境的脚本,vm_test.vsif,是启动session的必备文件

Makefile内容,使用irun工具,2步仿真法,第一步编译,第二步仿真。对于每次仿真,生成coverage。

首先,make,生成coverage数据,便于和之后的vplan进行关联。coverage数据包括ucm和ucd文件。

ucm是model文件,记录metric中的层次关系。

ucd是数据文件,记录环境中收集到的coverage数据。

二、vmanager环境建立

在使用vmanager之前,需要进行环境的建立,主要是文件的建立,以及一些环境变量的设置,环境建立,在setup.csh中。

MY_WORK_AREA: vmanager工具工作目录

MY_SESSIONS_AREA: vmanager的session的工作目录

MY_SOURCE_DIR : rtl和tb代码目录

这些环境变量,将来vmanager工具会用到。

三、vplan导入

在vmanager/vmanager目录下,启动vmanager工具,vplan工具可以从vmanager工具中启动。因为是本地模式,所以要加 –local 选项。

        vmanager –local

将来,都是在vmanager中进行操作的。

vmager软件的启动界面,如下:

在Analysis Center界面中,选择New vPlan,启动vplanner工具。

打开的vplanner软件,打开vmanager/vplane下的csv文件。

载入之后,工具就会自动生成vplan。

四、关联vplan

制定好vplan之后,就需要将vplan的feature,关联到验证环境中的coverage,或者checker上。

在右边的Implementation->Import manger中,选择Load run directory。

选择刚刚,生成coverage的目录。

在Implementaton->Metrics,就会显示层次关系。

将右边input_interface的toggle coverage关联到左边的input_interface上。

左边的input_intf的图标就会发生变化,并且在左下角显示框中,也会显示该feature关联的metric。

依次,将其他的feature,和环境中的coverage进行关联。

关联完毕之后,另存为该vplan,格式为vplanx。将来vmanager,会用到这个vplan。

五、vsif文件

vplan制定好之后,就可以使用vmanager工具,来工作了。

在vmanager工作之前,需要编写vsif文件,vsif文件,是指导vmanager工具如何工作的。

以下是 vm_test.vsif 内容。定义了一个session,定义了一个group,在group中,定义了3个test,因此会run 3次,而又指定了count参数,因此会run 9次。

六、vmanager设置

在vmanager工具运行之前,需要先设置下。主要是设置下,DRM的参数。

在View->Configuration。

选择Runner->Drm,将Drm,改为LSF,这样多个RUN,是可以通过bsub提交到lsf服务器,并且运行的。

七、运行session

选择vmanager界面中的Launch,启动运行session。

session运行,需要加载vsif文件,选择之前的vsif文件。

会弹出一个终端,显示执行结果。

执行完毕后,vmanager的regression center,会显示run的结果。

总共有9次run,9次run的结果都是passed的。

八、分析runs

对session,右键,选择Analyze All Runs。

会进入到 Analysis center。

在这个界面中,可以查看各个run的结果。

九、分析metrics

对session,右键,选择Analyze Metrics。

可以查看,metrics数据。vmanager工具,会自动将9个run的metrics结果,merge成一个,显示在这里。这样,就不需要我们去写脚本,合并各个run的metrics。

可以查看具体的,code coverage,FSM, function coverage。和IMC工具,查看是一样的。

十、分析vplan

对vplan的各个feature分析,并且提供可视化的结果,这个我觉得是vmanager亮点的地方。    

对session,右键,选择Analyze vPlan。

加载之前制定好的vplan。

然后就是见证奇迹的时候了,可以看到,vplan的各个feature,被vmanager工具进行了可视化,从分析结果可以看出,哪些feature,已经被验证到了,哪些feature验证比较少,以及各个feature的进度。

十一、合并session

vmanager不能合并session,只能将session下的run进行合并,组成一个新的session。

选择要合并的session,右键选择Analyze All Runs。

会切换到Analysis界面,选择所有的run,右键compact selected runs。

指定session保存的目录,以及session的名字。要注意,保存的目录,需要具备写权限,因为会创建目录,以及文件。

合并完成后,会弹出成功合并的对话框。

在session中,就会出现刚刚合并得到的session。

十二、删除session

选择要删除的session,右键Delete。

会弹出删除确认对话框,如果勾选delete session directory from file system,那么该session在磁盘中的文件,均会被删除掉。否则,不会被删除掉。