Skip to content
STIMSMITH

Completeness Analysis

Concept WIKI v1 · 5/26/2026

Completeness analysis is a formal-verification technique for determining whether a property suite covers every possible input scenario of a design and uniquely predicts states and outputs over time. In the cited processor-verification context, a complete property suite can serve as a model of the verified design, enabling uses such as generating an executable simulator.

Definition

Completeness analysis determines whether every possible input scenario of a design—described as a transaction sequence—can be covered by a chain of properties that predicts the values of states and outputs at every point in time. A property suite that passes this analysis is considered complete in the sense that any two designs satisfying all properties in the suite are formally equivalent. [C1]

Core checks

The analysis is described as reducing to checks at the end state of each property. For each property, the method checks that:

  1. there is always a successor property whose assumptions match;
  2. the successor property is uniquely determined; and
  3. each property uniquely describes the outputs and states of the design under verification (DUV). [C2]

Together, these checks ensure that the property suite does not leave unspecified transitions, ambiguous successor behavior, or multiple possible values for the DUV state and outputs. [C2]

Role in formal verification

Completeness analysis is used with property-based formal verification. In the cited work, the surrounding verification flow uses interval property checking (IPC), a SAT-based methodology for verifying safety properties. IPC uses arbitrary starting states rather than only initial states; properties that hold from arbitrary states also hold from reachable states, while false negatives from unreachable states may be removed using invariants. [C3]

The same source states that completeness analysis integrated within an IPC verification environment was commercially available, and that detailed methodology was referenced in prior work. [C4]

Complete property suites as design models

When verification completes successfully and the property suite is complete, the suite forms a model of the verified design: the properties describe the design transitions and output behavior in a unique way. [C5]

This model property is important because it can be exploited to derive an executable model. In the cited instruction-set-simulator work, the authors state that the fact that the properties form a model, together with abstraction used in verification, can be used to obtain a simulator that captures the entire behavior of the design. [C6]

Example application: instruction-set simulator generation

In the cited processor case study, a property suite written in ITL was checked for completeness against the processor design and was therefore treated as a correct and complete specification. The paper reports that the processor core source comprised about 10,000 lines of VHDL, while the final reformulated property suite comprised about 2,000 lines of ITL. [C7]

The same work used the complete property suite as the basis for generating an instruction set simulator (ISS). For an industrial design, the generated ISS reached 1.2 MIPS, while a commercial just-in-time compiled simulator reached 2.5 MIPS; the authors concluded that the generated ISS showed performance comparable to modern custom-made instruction set simulators. [C8]

Verification-language context

The properties in the cited work are written in ITL. ITL uses temporal-logic expressions to describe the behavior of a synchronous sequential system, with discrete time steps corresponding to clock cycles. [C9]

CITATIONS

9 sources
9 citations
[1] Completeness analysis determines whether every possible input scenario can be covered by a chain of properties that predicts states and outputs over time, and any two designs fulfilling a complete property suite are formally equivalent. Generating an Efficient Instruction Set Simulator from a Complete Property Suite
[2] Completeness analysis checks for a matching successor property, a uniquely determined successor property, and unique description of outputs and states for the DUV. Generating an Efficient Instruction Set Simulator from a Complete Property Suite
[3] The cited verification flow uses interval property checking, a SAT-based method for safety properties that uses arbitrary starting states and may require invariants to remove false negatives from unreachable states. Generating an Efficient Instruction Set Simulator from a Complete Property Suite
[4] Completeness analysis integrated within an IPC verification environment was commercially available according to the cited paper. Generating an Efficient Instruction Set Simulator from a Complete Property Suite
[5] If verification is completed successfully, the property suite forms a model of the verified design by uniquely describing transitions and output behavior. Generating an Efficient Instruction Set Simulator from a Complete Property Suite
[6] The model character of a verified complete property suite, together with abstraction, can be exploited to obtain a simulator capturing the entire design behavior. Generating an Efficient Instruction Set Simulator from a Complete Property Suite
[7] In the cited case study, a processor core of about 10,000 lines of VHDL had a final reformulated property suite of about 2,000 lines of ITL, and the suite and its completeness were checked against the processor design. Generating an Efficient Instruction Set Simulator from a Complete Property Suite
[8] For an industrial design, the generated ISS reached 1.2 MIPS versus 2.5 MIPS for a commercial just-in-time compiled simulator, supporting the authors' conclusion that generated ISS performance was comparable to modern custom-made ISSs. Generating an Efficient Instruction Set Simulator from a Complete Property Suite
[9] The cited properties are written in ITL, where temporal-logic expressions describe synchronous sequential-system behavior and discrete time steps correspond to clock cycles. Generating an Efficient Instruction Set Simulator from a Complete Property Suite