下面 用vplan与vmanager结合使用 来对一个验证环境 实现MDV的验证。
所验证的DUT 以及搭建的验证环境 是根据testbench.in网站上的systemverilog的demo来搭建的。demo的网站如下
http://www.testbench.in/SL_00_INDEX.html
本demo 是使用vmanager的本地模式 如果使用CS模式 去掉相应选项即可。
一、目录结构目录结果如下
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的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。
vplan制定好之后 就可以使用vmanager工具 来工作了。
在vmanager工作之前 需要编写vsif文件 vsif文件 是指导vmanager工具如何工作的。
以下是 vm_test.vsif 内容。定义了一个session 定义了一个group 在group中 定义了3个test 因此会run 3次 而又指定了count参数 因此会run 9次。
在vmanager工具运行之前 需要先设置下。主要是设置下 DRM的参数。
在View- Configuration。
选择Runner- Drm 将Drm 改为LSF 这样多个RUN 是可以通过bsub提交到lsf服务器 并且运行的。
选择vmanager界面中的Launch 启动运行session。
session运行 需要加载vsif文件 选择之前的vsif文件。
会弹出一个终端 显示执行结果。
执行完毕后 vmanager的regression center 会显示run的结果。
总共有9次run 9次run的结果都是passed的。
对session 右键 选择Analyze All Runs。
会进入到 Analysis center。
在这个界面中 可以查看各个run的结果。
对session 右键 选择Analyze Metrics。
可以查看 metrics数据。vmanager工具 会自动将9个run的metrics结果 merge成一个 显示在这里。这样 就不需要我们去写脚本 合并各个run的metrics。
可以查看具体的 code coverage FSM function coverage。和IMC工具 查看是一样的。
对vplan的各个feature分析 并且提供可视化的结果 这个我觉得是vmanager亮点的地方。
对session 右键 选择Analyze vPlan。
加载之前制定好的vplan。
然后就是见证奇迹的时候了 可以看到 vplan的各个feature 被vmanager工具进行了可视化 从分析结果可以看出 哪些feature 已经被验证到了 哪些feature验证比较少 以及各个feature的进度。
vmanager不能合并session 只能将session下的run进行合并 组成一个新的session。
选择要合并的session 右键选择Analyze All Runs。
会切换到Analysis界面 选择所有的run 右键compact selected runs。
指定session保存的目录 以及session的名字。要注意 保存的目录 需要具备写权限 因为会创建目录 以及文件。
合并完成后 会弹出成功合并的对话框。
在session中 就会出现刚刚合并得到的session。
选择要删除的session 右键Delete。
会弹出删除确认对话框 如果勾选delete session directory from file system 那么该session在磁盘中的文件 均会被删除掉。否则 不会被删除掉。
本文链接: http://vplan.immuno-online.com/view-746496.html