Constraint Solving Blockable Subset Identification
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If comprehensive constraint solving is performed on all circuit nodes, then verification completeness is ensured, but computational complexity increases
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.
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.
3Measurement precision
If detailed processing is applied to all constraint nodes, then solution accuracy is improved, but processing time increases
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.
Data Source
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.


