Cadence Vmanager介绍(一)概述

  • 2022/07/18

本文版权归本公众号所有。

Vmanager介绍

 在最近做项目的过程中,无意之中了解到这软件,开始学习,感受到这软件的强大,并且成功将该软件,用到了我们部门的flow中。因此,准备一系列的博文,来介绍下cadence的vmanager工具。强烈建议,做数字的团队,使用这个工具,并建立相应的flow。在介绍vmanager工具之前,首先要先介绍一下功能验证方法学。

验证方法学

 

directed-test Drive:直接给dut施加激励,然后判断DUT输出是否正确,来验证DUT的各个功能,但是带来的问题,验证不能完备,会遗漏很多隐藏的bug。

coverage drive:基于coverage,施加激励,然后最后收集coverage,来判断功能验证是否完备,但是带来的问题是,编写coverage可能会遗漏,造成验证不能完备,并且很难去预估验证是否完成。

metric drive:是目前新提出的功能验证方法学。基于验证计划的各个feature,施加激励,最后收集各个feature的metric,反标到验证计划中,得到可视化结果,从而确定验证是否完备

Metric Drive Verification(MDV)

MDV,是一种新的功能验证方法学。核心还是基于coverage,但是将coverage和验证plan进行了结合。将验证得到的metric(本质就是覆盖率),反标到验证计划,得到可视化结果,从这可视化结果,从而确定验证到达了哪一个阶段,下一步的验证方向应该是什么,以及最终判断验证是否完备。保证了验证的快速收敛。cadence,为了实现MDV,提供了vmanager和vplan工具,并制定了一套MDV流程。

Cadence将MDV流程,分成了4部分,如下图所示:

 

  • plan:制定验证计划,根据验证的testpoint(测试点),利用vplan工具,转化为vplan工程,供后续metric反标使用。construct:根据验证计划,编写coverage和checker。来保证,各个testpoint是否有验证到。execute:利用各个工具,如irun,PXP,formal等工具,对验证环境进行仿真。measure/analyze:coverage收集和分析,反标到vplan,确定验证是否signoff。

其中,最核心的部分,就是验证管理和数据管理。这部分,就是由cadence的vmanager工具来负责的。总之,coverage是MDV的关键,验证中,时时刻刻以coverage为中心,将coverage反标到vplan中,判断vplan中的各个测试点,是否有达到,从而指导下一步的验证方向。MDV,可以让你知道,下一步你应该怎么做,并且怎么快速的实现他(Know where you are going and get there faster)。

Vmanager任务流程

Vmanager的任务流程如下图所示:

最开始,使用vplan建立验证计划,并且建立验证环境。使用vmanager运行回归,之后分析fail的case,以及收集的metric,确定状态。根据状态判断,是否收敛,如果收敛,那么验证就结束了,可以signoff,如果验证没有收敛,那么就重新运行回归。这里,就引出了vmanager的两大功能:

  • 回归管理(regression management):使用那个vmanager内部的runner,可以调用众多的工具(如IRUN,pxp,formal工具),运行回归,并且在回归运行完毕后,自动收集run的结果,并且进行整合。回归分析(regression analysis):利用vmanager,可以很便捷,可视化的分析回归结果,包括case成功失败状态,以及metric。最关键的是,可以进行vplan的反标。

下图是vmanager的工作说明:

vmanager支持运行多个验证工具,如irun,formal,PXP等,运行完毕后,将数据进行收集。在planning center,制定验证计划,关联testbench以及spec。在regression center,启动回归。在analysis center,对回归结果数据进行分析。在tracking center,对历史的结果进行分析。

Vmanager工作模式

在vmanager中,提供了2种工作模式:

  • client-server模式:有一个集中的server,各个client连接这个server进行工作,server管理所有的数据。下文,均简称为CS模式。local模式:没有server,各个client在自己本地进行工作。

这里,推荐大家用CS模式,这个模式下,各个client,连接一个指定的server进行工作,得到的结果和数据,是会自动上传到这个server,并且进行集中显示,这样可以让大家都可以看到实时的状态。不再需要像之前,要大家指定一个共享目录,大家将自己跑出来的结果和数据,放到该目录下,实现共享。以下,只介绍CS工作模式,local工作模式和CS工作模式使用是一样的,只是没有server进行集中的数据显示与管理。在CS模式下,又分为了single-project和multi-project。Single-project        Server上,只有1个工程,所有的client,均在这个工程下工作。

 

server需要2个东西:SQL DB:server所需要的数据库。profile:存放vmanager的配置文件。        Server会对应一个port,client根据server的ip以及port,就可以连接到这个server上。在下一篇中,会详细介绍如何搭建一个vmanager server。Multi-project

Server上,有多个工程。client连接server的时候,要选择将来工作的工程。

Server所需要的2个东西,和single-project,是一样的。CS模式下,可以不只有1个server,可以有多个server。各个client,可以选择server,选择project进行连接,然后工作。

在下一篇中会详细介绍,如何创建一个vmanager server。

NOTE:欢迎大家多多转发文章,这样我写文章的动力就会更足。

人工客服
(售后/吐槽/合作/交友)

相关资讯

  1. 1.
  2. 2.
  3. 3.
  4. 4.
  5. 5.
  6. 6.
  7. 7.
  8. 8.
  9. 9.
  10. 10.
  11. 11.
  12. 12.
  13. 13.
  14. 14.
  15. 15.
  16. 16.
  17. 17.
  18. 18.
  19. 19.
  20. 20.
查看全部20条内容