功能验证需要改变逻辑设计的状态,并测量设计产生的响应是否正确。验证环境通过以定向或约束随机输入的形式驱动激励来改变设计的状态。

无论激励类型如何,度量驱动验证(MDV)都是关于数据驱动的决策,提供易于理解的清晰度量,以提高验证的可预测性、生产力和质量。 MDV是一个闭环过程,从可执行验证计划(vPlan)到测试台创建、执行、以及完成测量和分析,以查看还有待完成的工作(图1)。

面向SoC开发人员的多引擎MDV可以透明地连接所有Cadence®验证引擎的指标,确保SoC的所有方面都得到执行和测量。从IP到互连和子系统,到软件驱动测试、加速、硬件仿真加速和FPGA原型验证,多引擎MDV是集成化的并全面覆盖的。我们的Incisive®模拟环境提供验证深度,JasperGold®形式技术提供验证自动化,Palladium®平台为全芯片仿真提供验证加速。

策划:MDV解决方案利用最强大的专用验证计划编写软件,完全集成到Cadence®Incisive®vManager™解决方案中。 MDV流程从自动规划开始,用验证意图注释现有规范或使用电子表格中捕获的团队成员输入创建可执行验证计划。计划指定要在测试平台中实现的验证环境要求,以确保设计意图可以交付。验证IP(VIP)通过提供协议特定的验证计划和测试套件,提供对基于计划的MDV方法的即时访问。验证计划,或称为vPlan,在嵌入到Incisive vManager环境中后即可执行。一个计划可以嵌入另一个计划中,并且可以参数化以便于对计划的重用,这提高了验证生产力。

构建:MDV包括了从简单的定向测试方法到基于寄存器传输级(RTL)的覆盖率驱动和软件驱动方法。对于RTL验证,通用验证方法(UVM)标准是专门设计用于提供强大的约束随机测试。对于SoC环境,Perspec™系统验证程序为软件驱动的测试场景提供了类似的功能。利用受约束的随机激励,自动生成向量,而不需要手动地拼出每组输入向量。

约束随机激励带来受约束的随机状态变化。在这种环境下,验证团队必须了解哪些状态已被探索,并且对于那些已探索到的状态,观察到对激励向量的正确响应,这就是为什么要使用功能覆盖率。功能覆盖率针对并捕获对于验证环境的观察和捕获具有重要意义的场景。因此,功能覆盖率在被用于指导确定验证工作的状态,以及何时工作已经完成并使利益相关者满意。功能覆盖率是您尝试了验证所有功能的定量测量,被用于IP、互连、子系统和SoC级别。作为对缺陷和完成率的前瞻性预测度量,功能覆盖率对所有验证团队都是至关重要的。

执行:使用Incisive vManager环境调度验证模拟、形式分析、模拟混合信号、加速和硬件仿真执行引擎,并管理来自多个验证引擎的结果的收敛。该环境:

  • 分析和优先处理故障
  • 分析回归和覆盖率
  • 开发对测试台的更改以达到收敛

测量/分析:MDV被用于根据所需信息测量实时进度,以及确定何时实现高质量验证收敛。从IP到SoC,使用测试、覆盖率、检查、断言和用户定义的属性这样的通用度量类型,并提供用于确定收敛的专用于验证的度量。验证作业的失败、错误和设计修订都提供了对项目的实际状态的了解。 Incisive vManager解决方案对企业集成开放,使用强大的API来连接大多数验证环境中的工具、人员和进程。进度跟踪、vPlan结果,基于Web的仪表板和HTML报告有助于验证团队和经理对其资源分配(人员和工具)进行调整,以更有效地实现签核,并更准确地衡量收敛。

MDV允许您捕获验证过程中的所有关键指标,从之前对于被测设备(DUT指标)描述的覆盖率概念,到可视化和管理必需的项目指标(图2)。 可用的指标列表是无穷无尽的,但MDV流程提供了可执行的验证计划,以便您可以用便于阅读和理解的方式来组织、管理和查看这些大量的指标。

图2  使用度量驱动验证(MDV),你能验证流程中所有的关键指标