验证计划是一份全面的文件,概述了特定设计或系统的整个验证过程。它规定了验证目标、验证环境、验证策略、要收集的指标和完成标准。
验证计划还定义了要执行的验证任务及其优先级、要使用的工具、时间表和里程碑以及所需的资源。验证计划是验证团队的指南,有助于确保验证过程完整、一致和有效。
验证计划的内容
验证计划通常记录在电子表格或文档中,该文档概述了验证数字设计的验证目标、方法和策略。该文件通常包括以下部分:
- 概述:正在验证的数字设计和验证目标的简要概述。
- 范围和目标:对验证范围、要实现的目标的描述。
- 方法论:对要使用的验证方法的描述,包括要使用的工具和技术,如仿真、形式验证和硬件加速。
- Testbench架构:测试平台架构的描述,包括要使用的接口和测试序列。
- Test case:将要执行的test case的详细列表,包括test case描述、预期结果和pass/fail标准。
- 覆盖率指标:对要使用的覆盖率指标的描述,包括功能覆盖率、代码覆盖率和断言覆盖率。
- sign off标准:对sign off标准的描述,包括最低覆盖率要求和验证的标准。
这样的计划是在设计过程的早期制定的,以确定执行计划所需的努力和资源。这些努力在几周或几个月内记录下来,并根据项目时间表进行调整。没有完美的计划,因此许多项目时间表允许一定程度的调整。
Review计划
验证计划review通常在团队中的同行和专家之间进行,以填补理解项目要求和实施细节方面的空白。在所有相关成员达成共识之前,验证计划可能会进行多次修订。验证计划review对于思考项目要求、从不同团队获得澄清、了解风险和确定任务优先次序以避免芯片重新流片至关重要。
示例:
这是验证计划的样本模板:
1-介绍
设计及其目的描述
验证的目标
2-验证环境
仿真环境的描述
所有验证组件的列表
仿真流程的细节
3-待验证的特性
所有待验证的设计特征列表
描述每个特性的预期行为
4-测试计划
所有测试用例的列表
每个测试用例的目的和范围的描述
每个测试案例的预期结果
每个测试案例的pass/fail标准
5-代码/功能/断言覆盖计划
要使用的代码覆盖指标的描述
每个覆盖指标的目标
测量代码覆盖率的方法
6-bug追踪
跟踪和报告bug的方法
每个bug的报告格式
bug严重程度和优先级
7-signoff标准
确定验证何时完成的标准
确定设计是否准备好进行tape out的标准
验证收敛过程