Constraint Solver Phase Identification for Inconsistent Subset Localization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Constraint solvers face challenges in identifying and isolating inconsistent constraints within a set of constraints, which hinders the generation of valid random vectors for complex design verification, leading to incomplete verification and potential design flaws.

Innovation Solution

The system identifies the phase where an inconsistency is detected in a series of phases within the constraint solver and then processes only up to that phase for different subsets of constraints to pinpoint the smallest subset of inconsistent constraints, allowing for efficient reporting and correction of inconsistencies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the constraint solver processes all phases to solve the complete set of constraints, then the solution completeness is improved, but the time consumption increases when trying to identify inconsistent constraints

Engineering Contradiction:
Improvesolution completenessVSAvoidtime consumption
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the complete set of constraints into multiple subsets and processes them in separate phases. By segmenting the constraint set and using binary search methodology, the system identifies inconsistent constraints in fewer phases compared to processing all constraints sequentially, thus reducing time consumption while maintaining identification accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary action by first attempting to solve the complete set of constraints to detect inconsistency, then uses this information to guide subsequent binary search phases. This preliminary detection enables the system to focus subsequent processing only on identifying the specific inconsistent subset rather than exhaustively processing all possible combinations.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If the constraint solver processes only up to the identified inconsistent phase for subsets of constraints, then the time consumption is reduced, but the ability to detect all inconsistencies may be compromised

Engineering Contradiction:
Improvetime consumptionVSAvoidinconsistency detection accuracy
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent implements feedback by using the result from each phase processing to determine the next steps. When an inconsistency is detected in a specific phase, the system feeds this information back to guide the binary search process, adjusting which subsets are processed in subsequent phases. This feedback mechanism ensures that time is not wasted on processing phases that will not contribute to identifying the inconsistent constraints.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent applies dynamics by making the processing depth adaptive based on detected inconsistency locations. The system dynamically adjusts how many phases to process for each subset based on feedback from previous phases, rather than statically processing all phases for all subsets. This dynamic approach optimizes time consumption while maintaining detection accuracy.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9069699B2Identifying inconsistent constraints
Publication Date: 2015.06.30 SYNOPSYS INC
  • US9069699B2 patent drawing
  • US9069699B2 patent drawing
  • US9069699B2 patent drawing

AI summary

Methods and apparatuses are described for identifying inconsistent constraints. During operation, a system can receive a set of constraints, wherein each constraint is defined over one or more random variables from a set of random variables. If an inconsistency or conflict is detected while solving the set of constraints, the system can identify a phase in a series of phases of the constraint solver where the inconsistency was detected. The system can then try to solve different subsets of the set of constraints to identify smaller subsets of the set of constraints that contain the inconsistency. When the system tries to solve a subset of the set of constraints, the system can determine whether or not an inconsistency is detected in the identified phase while solving the subset of the set of constraints. Next, the system can report the smallest subset of inconsistent constraints that was found to a user.