Constraint Solving Blockable Subset Identification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current constraint solving methods for digital electronic circuits are inefficient, particularly in verifying the functionality and timing of complex integrated circuits, as they require faster and more accurate methods to handle the increasing complexity and shrinking product development times.

Innovation Solution

The development of techniques to identify and utilize a 'blockable subset' within constraint solving processes, allowing nodes to be marked as 'blocked' to skip unnecessary processing, combined with the use of implication engines, pivot node learning, and case-based learning to enhance computing speed and efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If traditional constraint solving methods are used to verify digital electronic circuits, then verification accuracy is maintained, but solving time increases significantly

Engineering Contradiction:
Improveconstraint solving timeVSAvoidverification efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The constraint solving process is segmented by identifying and separating blockable subsets of constraints that can be independently solved. The system divides the overall constraint set into multiple independent or loosely-coupled subsets, allowing parallel processing and reducing the sequential solving time while maintaining verification accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary analysis to identify blockable subsets of constraints before the main solving process. By pre-processing the constraint set to detect independent subsets and prepare solving strategies in advance, the system avoids redundant computations during the actual verification process, significantly reducing total solving time.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If comprehensive constraint solving is performed on all circuit nodes, then verification completeness is ensured, but computational complexity increases

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

Solution Approach 1:

The system applies different solving strategies to different subsets of constraints based on their local characteristics. Blockable subsets are identified and handled with simplified solving approaches, while critical paths require more comprehensive analysis. This localized differentiation reduces overall computational complexity while maintaining verification completeness for critical areas.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system extracts and separates blockable subsets of constraints from the main constraint set. By taking out independent subsets that can be solved separately, the system reduces the complexity of the main solving process while ensuring these extracted subsets are still verified, maintaining overall verification completeness with reduced computational burden.

Inventive Principle:
Principle #2Taking out (Extraction)

3Measurement precision

If detailed processing is applied to all constraint nodes, then solution accuracy is improved, but processing time increases

Engineering Contradiction:
Improvesolution accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system applies detailed processing selectively to critical constraint nodes rather than uniformly to all nodes. Blockable subsets are processed with appropriate levels of detail based on their impact on overall verification accuracy. This partial action approach maintains solution accuracy for critical paths while reducing processing time for less critical areas.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7353216B2Method and apparatus for improving efficiency of constraint solving
Publication Date: 2008.04.01 SYNOPSYS INC
  • US7353216B2 patent drawing
  • US7353216B2 patent drawing
  • US7353216B2 patent drawing

AI summary

Techniques are presented for identifying blockable subsets. Blockable subsets can increase the efficiency by which solutions to a constraint set representation (CSR) can be found. Nodes of a blockable subset can be marked as “blocked” and learning or implication procedures, used as part of a CSR solving process, can be designed to skip nodes marked as blocked. The identification of a particular blockable subset is typically associated with certain conditions being true. If and when the conditions no longer hold, the nodes of the blockable subset need to be unblocked. One type of blockable subset can be identified during the operation of an implication engine (IE) by a technique called justified node blocking (JNB). Another type of blockable subset can be identified by a technique called pivot node learning (PNL). PNL can be applied in-between application of an IE and application of case-based learning.