Formal Verification of Temporal Properties Using Local Variables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The verification complexity of SystemVerilog Assertions (SVA) and Property Specification Language (PSL) formulae with local variables is EXPSPACE-complete, making formal verification impractical due to the creation of large alternating and non-deterministic Büchi automata, especially when dealing with large domains like 64-bit bus protocols.

Innovation Solution

Identifying a subset of temporal properties with no conflicts in their alternating automata, referred to as the 'practical subset', which can be formally verified with PSPACE complexity or less, involving the construction of non-deterministic and deterministic satellite machines to determine satisfaction of hardware designs against these properties.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If formal verification is applied to temporal properties with local variables, then verification completeness is improved, but verification complexity increases to EXPSPACE-complete making it infeasible

Engineering Contradiction:
Improveverification completenessVSAvoidverification complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the verification problem by identifying a subset of temporal properties (practical subset) that can be verified with PSPACE complexity. This segmentation separates verifiable properties from unverified ones, allowing formal verification to be applied selectively to a manageable portion of properties while maintaining completeness for that subset.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the complexity parameter from EXPSPACE to PSPACE by restricting verification to properties without conflicts in their alternating automata. This parameter change enables feasible verification by transforming the complexity class, making previously infeasible verification problems now solvable within PSPACE resources.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If alternating automaton is constructed for temporal properties with local variables, then property coverage is improved, but automaton size becomes exponentially large making verification infeasible

Engineering Contradiction:
Improveproperty coverageVSAvoidautomaton size
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the problematic aspect (conflicts in alternating automata) and excludes properties with conflicts from the verification scope. By taking out the conflicting properties, the remaining practical subset can be verified with manageable automaton sizes, achieving feasibility while maintaining coverage for a significant portion of properties.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial verification by focusing only on the practical subset of properties that can be verified with PSPACE complexity. This partial action approach verifies a manageable portion of properties thoroughly rather than attempting to verify all properties with excessive computational resources.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If local variables with large domains are used, then assertion capability is improved, but verification becomes infeasible due to exponential state space

Engineering Contradiction:
Improveassertion capabilityVSAvoidverification feasibility
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent introduces dynamics by adapting the verification approach based on the property structure. Properties without conflicts in their alternating automata are verified using efficient PSPACE methods, while properties with conflicts are excluded. This dynamic adaptation maintains verification feasibility while preserving the ability to handle diverse property types.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9390208B2Formal verification of temporal properties expressed using local variables
Publication Date: 2016.07.12 SYNOPSYS INC
  • US9390208B2 patent drawing
  • US9390208B2 patent drawing
  • US9390208B2 patent drawing

AI summary

A certain subset of temporal properties defined using local variables can be formally verified with complexity of PSPACE or less. A subset with this characteristic, referred to as a practical subset, is therefore feasible to formally verify. For example, it can be shown that temporal properties that possess an alternating automaton with no conflicts fall within a practical subset. Temporal properties are analyzed to determine whether they are a member of the practical subset. Members of the practical subset can then be feasibly formally verified.