Skip to content
STIMSMITH

Verification Plan

Concept WIKI v3 · 6/9/2026

A verification plan is a structured artifact in hardware and system verification that documents the design under verification, its functional specification, coverage goals, and the verification activities (and often correction activities) required across development phases. In assertion-based functional verification (ABV) it bundles the design description, functional and code coverage targets, and the assertions that check for errors and measure coverage. At the system level it is cast as a sequential decision problem that selects verification and correction activities across development phases. Automatic test-program generators such as IBM Genesys and Genesys-Pro are designed to consume the knowledge captured in a verification plan in order to produce functional test programs for microprocessor designs.

Verification Plan

Definition

A verification plan is an artifact used in functional verification that specifies what must be verified, how it will be verified, and how completely it has been verified. The cited literature describes the verification plan in three complementary ways:

  • In assertion-based functional verification (ABV) of an RTL design, the verification plan is a document that bundles the design description and functional specification, the functional coverage goals, the code coverage goals, and the assertions used to check errors in the RTL model and to drive coverage. [arxiv:2106.11461v1]
  • In system-level verification planning, verification planning is formulated as a sequential decision-making problem that specifies a set of verification activities (VAs) and correction activities (CAs) to be carried out at different phases of system development. Verification activities identify errors and defects, while correction activities fix them. Traditional planning methods consider only VAs as decision choices; jointly planning VAs and CAs into a joint verification-correction strategy (JVCS) is the open formulation. [arxiv:2204.00925v1]
  • In microprocessor functional verification, the verification plan is the central input that drives automatic pseudo-random test-program generation: it "induces smart sets of tests that carry out the verification tasks" for the processor design. [IBM Research — Genesys, DATE 1999]

Typical Contents in ABV

Based on the cited ABV case study, a verification plan for an RTL block (e.g., a March-algorithm-based MBIST controller) typically enumerates:

  1. The design description and functional specification of the block being verified.
  2. Functional coverage goals — the behaviors and corner cases that must be exercised.
  3. Code coverage goals — structural coverage targets on the RTL.
  4. Assertions — properties that check for errors in the RTL model and that contribute to functional coverage measurement.

The plan is used to measure the level and quality of verification, typically by tracking how many of the planned functional coverage targets are reached during simulation. In the cited MBIST-controller study most functional metrics reached the planned goal of 100%, and an ABV-driven plan enabled roughly 32% fewer directed test cases (25 vs. a maximum of 88 random cases) while still achieving approximately 97% total functional coverage. [arxiv:2106.11461v1]

Role in Verification Planning as a Decision Problem

In larger-scale system verification, verification planning is cast as a sequential decision-making problem in which the plan selects a sequence of verification and correction activities across development phases. The JVCS literature observes that traditional planning methods consider only verification activities as decision choices; jointly planning verification and correction activities is challenging because the two activity spaces differ. A verification plan in this formulation thus encodes not only "what to check" but also "how to act on the defects found," and can be searched using bandit-based tree search and tree-based ensemble learning to handle large systems. [arxiv:2204.00925v1]

Tooling: Genesys and Genesys-Pro

The IBM Genesys tool (Adir et al., DATE 1999) is an automatic pseudo-random test-program generator whose methodology for microprocessor verification "relies on a verification plan which induces smart sets of tests that carry out the verification tasks." The methodology was applied to verify an x86 design, and the paper argues that following such a plan-driven methodology could have helped avoid known escape bugs such as the two infamous Pentium floating-point bugs. [IBM Research — Genesys, DATE 1999]

Genesys-Pro is the successor and the current main test-generation tool for functional verification of IBM processors, including several complex processors. Its template language "considerably reduces the effort needed to define and maintain knowledge specific to an implementation and verification plan," i.e. the tool consumes the implementation- and plan-specific knowledge captured in a verification plan in order to produce functional test programs. [IBM Research — Genesys-Pro, IEEE D&T]

In both cases the verification plan is the knowledge source that the test generator reads in order to produce a smart, directed set of tests that carries out the verification tasks.

See also

  • Genesys — automatic pseudo-random test-program generator for functional processor verification; uses a verification plan to induce targeted test sets.
  • Genesys-Pro — successor test-generation tool for functional processor verification; uses implementation- and plan-specific knowledge captured in a verification plan.
  • Assertion-based verification (ABV) — verification methodology in which a verification plan typically lists assertions alongside coverage goals.
  • Functional coverage — coverage dimension tracked against verification plan goals.
  • Code coverage — structural coverage dimension tracked against verification plan goals.

LINKED ENTITIES

1 links

CITATIONS

5 sources
5 citations
[1] In ABV of an RTL design, the verification plan bundles the design description and functional specification, functional coverage goals, code coverage goals, and the assertions used to check for errors and to drive coverage. Assertion Based Functional Verification of March Algorithm Based MBIST Controller
[2] A verification plan for an ABV-driven RTL block (e.g. MBIST controller) typically contains functional coverage goals, code coverage goals, and assertions, and the level/quality of verification is measured against the plan's coverage targets (the cited case reached ~100% on most functional metrics, with 25 directed tests vs. up to 88 random cases and ~97% total functional coverage). Assertion Based Functional Verification of March Algorithm Based MBIST Controller
[3] At the system level, verification planning is a sequential decision-making problem that specifies verification activities (VAs) and correction activities (CAs) across development phases; jointly planning VAs and CAs as a JVCS is an open problem because their activity spaces differ. A UCB-based Tree Search Approach to Joint Verification-Correction Strategy for Large Scale Systems
[4] The Genesys microprocessor verification methodology relies on a verification plan that induces smart sets of tests carrying out the verification tasks, and was applied to verify an x86 design, with the paper arguing it could have helped avoid known escape bugs such as the Pentium floating-point bugs. Functional verification methodology for microprocessors using the Genesys test-program generator. Application to the x86 microprocessors family (DATE 1999)
[5] Genesys-Pro is the main test-generation tool for functional verification of IBM processors (including several complex processors) and its template language considerably reduces the effort needed to define and maintain knowledge specific to an implementation and verification plan. Genesys-Pro: Innovations in test program generation for functional processor verification (IEEE D&T)

VERSION HISTORY

v3 · 6/9/2026 · minimax/minimax-m3 (current)
v2 · 6/9/2026 · minimax/minimax-m3
v1 · 5/25/2026 · gpt-5.5