Verification Plan
A verification plan is a comprehensive document that outlines the entire verification process for a particular design or system. It specifies the verification objectives, the verification environment, the verification strategy, the methodology to be used, the metrics to be collected, and the criteria for completion.
The verification plan also defines the verification tasks to be performed and their priorities, the tools to be used, the schedules and milestones, and the resources required. A verification plan serves as a guide for the verification team and helps ensure that the verification process is complete, consistent, and effective.
Contents of a verification plan
A verification plan is typically documented in a spreadsheet or a document that outlines the verification goals, objectives, methodologies, and strategies for verifying a digital design. The document typically includes the following sections:
- Overview: A brief overview of the digital design being verified and the verification objectives.
- Scope and Goals: A description of the scope of the verification, the goals to be achieved, and the verification objectives.
- Methodology: A description of the verification methodology to be used, including the tools and techniques to be used, such as simulation, formal verification, emulation, and hardware acceleration.
- Testbench Architecture: A description of the testbench architecture, including the interfaces and test sequences to be used.
- Test Cases: A detailed list of test cases that will be executed, including the test case description, the expected results, and the pass/fail criteria.
- Coverage Metrics: A description of the coverage metrics to be used, including functional coverage, code coverage, and assertion coverage.
- Sign-off Criteria: A description of the criteria for sign-off, including the minimum coverage requirements and the criteria for verifying the design.
Such a plan is created early in the design process to also identify the effort and resources required to execute the plan. These efforts are documented in weeks or months and fit according to project schedule. No plan is perfect, and hence many project schedules allow a certain level of timeline slip.
Plan Review
Verfication plan reviews are usually held between peers and design faculty in the team to fill the gap in understanding project requirements and implementation details. There may be multiple revisions of the verification plan until a consensus is reached amongst all involved members. Allocation of time for planning is crucial in order to think through project requirements, get clarifications from different teams, understand risks and prioritize tasks to avoid a respin of the chip.
Example
Here is a sample template of a verification plan:
- Introduction
- Description of the design and its purpose
- Goals of the verification process
- Verification Environment
- Description of the simulation environment
- List of all verification components
- Details of the simulation flow
- Features to be Verified
- List of all design features to be verified
- Description of the expected behavior of each feature
- Test Plan
- List of all test cases
- Description of the purpose and scope of each test case
- Expected results for each test case
- Pass/fail criteria for each test case
- Code/Functional/Assertion Coverage Plan
- Description of the code coverage metrics to be used
- Goal for each coverage metric
- Methodology for measuring code coverage
- Bug Tracking
- Methodology for tracking and reporting bugs
- Reporting format for each bug
- Bug severity levels and priority
- Sign-off Criteria
- Criteria for determining when verification is complete
- Criteria for determining if the design is ready for tapeout
- Verification closure process