Formal Circuit Liveness Checking With Loop-Length Counterexamples

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Verifying liveness properties in complex semiconductor circuits using formal verification is inefficient and prone to errors due to the time-consuming and resource-intensive process of finding counter-examples, which often requires manual effort and is tedious.

Innovation Solution

Implementing a method and system that sets a loop length for formal verification to efficiently find bugs by using a verification algorithm that executes for different loop lengths, allowing for parallel processing through multiple threads and displaying results in tabs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If formal verification is used to verify liveness properties of complex circuits, then verification accuracy is improved, but verification time and computational resources increase significantly

Engineering Contradiction:
Improveverification accuracyVSAvoidverification time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the verification process by dividing the state space exploration into different loop length iterations. Instead of attempting to verify all possible loop lengths simultaneously, the system divides the verification into discrete iterations where each iteration checks for counter-examples with a specific loop length, progressively increasing the length in subsequent iterations. This segmentation makes the otherwise intractable problem manageable and enables parallel processing of different loop length ranges.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies preliminary action by first checking for counter-examples with smaller loop lengths before proceeding to larger loop lengths. The system performs preliminary verification with constrained loop length ranges, and only when no counter-examples are found does it proceed to expand the search to larger loop lengths. This preliminary checking approach allows the system to quickly identify obvious bugs while preparing for more comprehensive verification if needed.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If manual effort is used to find counter-examples in liveness property verification, then verification precision is maintained, but productivity decreases

Engineering Contradiction:
Improveverification precisionVSAvoidbug detection speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent implements self-service by enabling the formal verification system to automatically explore the state space and find counter-examples without requiring manual intervention. The system autonomously performs loop length iteration, state space exploration, and counter-example identification. The automated process maintains verification precision by systematically checking liveness properties while significantly improving productivity through computer-based exhaustive search capabilities.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent applies parameter changes by dynamically adjusting the loop length parameter during verification. The system changes the loop length parameter across different iterations, starting from smaller values and progressively increasing to larger values. This parameter variation enables the system to efficiently search the state space while maintaining the ability to find counter-examples of different complexities, thereby balancing precision and productivity.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If exhaustive search is performed to find counter-examples, then bug detection completeness is improved, but computational resources are consumed excessively

Engineering Contradiction:
Improvebug detection completenessVSAvoidcomputational resources
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent applies dynamics by making the loop length parameter dynamic rather than fixed. The system adaptively adjusts the loop length across different iterations, starting with smaller lengths and progressively increasing to larger lengths. This dynamic approach allows the verification process to balance completeness and resource consumption by exploring the state space in a structured, progressive manner rather than attempting exhaustive search at maximum depth from the outset.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements periodic action through iterative verification cycles with different loop length ranges. The system performs verification in periodic iterations, where each iteration focuses on a specific loop length range. This periodic structure allows the system to systematically cover the entire state space while consuming computational resources in manageable increments, improving bug detection completeness without overwhelming resource requirements.

Inventive Principle:
Principle #19Periodic action

4Difficulty of detecting and measuring

If loop length is increased to find more complex bugs, then bug detection capability is improved, but verification time increases

Engineering Contradiction:
Improvebug detection capabilityVSAvoidverification time
Core Design Contradiction:
Difficulty of detecting and measuringVSLoss of time

Solution Approach 1:

The patent segments the bug detection process by dividing it into iterations focused on different loop length ranges. Each iteration is specialized for detecting bugs with specific loop length characteristics. This segmentation allows the system to methodically increase detection capability for more complex bugs while managing verification time by processing different loop length ranges in separate, manageable iterations rather than attempting to detect all bug types simultaneously.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12518076B1Method and system for bug finding by checking liveness properties of circuits with formal verification
Publication Date: 2026.01.06 CADENCE DESIGN SYST INC
  • US12518076B1 patent drawing
  • US12518076B1 patent drawing
  • US12518076B1 patent drawing

AI summary

Systems and methods of debugging a design under test (DUT) using formal verification are disclosed. In one aspect, a method includes receiving the DUT from a user and a command to find a counter-example of a liveness property of the DUT and a verification trace including a sequence of states structures as a stem followed by a loop. The method further includes receiving a length of the loop from the user and executing a verification algorithm based on the length of the loop. The method further includes determining that the counter-example is found when the execution of the verification algorithm ends after traversing the stem and the loop.