Formal Verification Using Cached Search Path Information

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional formal verification tools require extensive CPU-intensive computations and significant memory resources to identify unchanged portions of circuit designs, leading to inefficient processing times during multiple verification sessions.

Innovation Solution

The method involves storing counterexample traces and proof artifacts from previous sessions to quickly verify previously proven or disproven properties in subsequent sessions, using search-path verification processes that recreate the sequence of search operations to achieve proof objects or counterexamples, thereby reducing the need for expensive search processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If traditional caching techniques use isomorphic graph checks and hash checks to identify unchanged circuit portions, then previously proven/disproven properties can be preserved, but extensive computations and significant memory resources (megabytes) are required at the beginning of each session

Engineering Contradiction:
Improveformal verification processing timeVSAvoidcomputation complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent extracts only the essential search path information (sequence of search operations, proof objects, counterexamples) from the full circuit verification process, storing only what is necessary to verify unchanged properties rather than entire circuit graphs or hash structures. This extraction reduces both computation and memory requirements while maintaining verification effectiveness.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs preliminary verification by checking whether stored search path information from previous sessions remains valid for current circuit versions. This preliminary check using stored proof objects and counterexamples allows the system to quickly determine if full verification is needed, avoiding extensive computations when circuits have not changed significantly.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If conventional formal verification tools perform CPU-intensive computations for every session to prove or disprove properties, then verification accuracy is maintained, but processing time becomes excessively long during regression mode and iterative debugging

Engineering Contradiction:
Improveproperty verification accuracyVSAvoidverification session throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies verification resources locally and selectively - storing and reusing search path information only for properties that have been proven or disproven in previous sessions. Instead of uniformly verifying all properties in every session, the system focuses computational resources only on properties whose status may have changed, maintaining accuracy while improving productivity.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent copies and reuses stored search path information (proof objects, counterexamples, search operation sequences) from previous verification sessions. By copying these verification results and checking their validity against current circuit versions, the system avoids redundant CPU-intensive computations while maintaining verification reliability through validation checks.

Inventive Principle:
Principle #26Copying

3Loss of time

If traditional caching techniques generate and compare isomorphic graphs for each design iteration, then unchanged portions can be identified, but significant memory space (megabytes) is required to store and compare these graphs

Engineering Contradiction:
Improveverification session timeVSAvoidmemory space
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The patent uses lightweight, disposable search path information structures that can be quickly created and discarded. Instead of maintaining large isomorphic graphs in memory, the system stores compact verification traces and regenerates them only when necessary. This approach reduces memory space requirements while maintaining verification efficiency through selective regeneration of verification data.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS10503853B1Formal verification using cached search path information to verify previously proved/disproved properties
Publication Date: 2019.12.10 SYNOPSYS INC
  • US10503853B1 patent drawing
  • US10503853B1 patent drawing
  • US10503853B1 patent drawing

AI summary

A formal verification tool that verifies multiple sequentially-generated versions of a core circuit design by obtaining search path information from the formal verification solver for each property that is proven or disproven during a first formal verification session involving an earlier-generated circuit design version, and utilizing the search path information to perform search-path verification processes during a subsequent formal verification session to quickly verify the proven/disproven properties in a later-generated circuit design version. Each property's search path information includes counterexample traces or proof artifacts identifying the search operations utilized to achieve a corresponding counterexample or proof object that proves/disproves the property. Search-path verification involves applying the stored search path information to the later-generated circuit design version, and determining if the same counterexample or proof object is achieved. The stored search path information is also utilized to perform efficient path-influenced search processes when the search-path verification process fails.