Canonical Representation Construction for BDD Blow-up Prevention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Constraint satisfaction problems in constrained random simulation methodologies are NP-complete, leading to performance issues in stimulus generation, as the speed of stimulus generation lags behind simulation, and existing constraint solvers struggle with reproducibility and uniform distribution of solutions, causing BDD blow-up problems.
Innovation Solution
A system that constructs and combines canonical representations (CRs) of logical functions, detects CR-size limits, and reports errors, allowing users to identify and fix issues, while iteratively combining CRs with heuristic ordering to avoid BDD blow-ups, and automatically adjusts CR-size limits to facilitate efficient stimulus generation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If constraint solvers are used to generate random vectors that satisfy constraints, then solution accuracy and reproducibility are improved, but the speed of stimulus generation deteriorates and lags behind simulation speed
Solution Approach 1:
The patent segments the constraint satisfaction problem into multiple independent phases: (1) constructing individual CRs for each constraint, (2) ordering CRs using heuristic methods, and (3) iteratively combining CRs. This segmentation allows parallel construction of individual CRs while maintaining sequential combination for correctness, improving overall generation speed without sacrificing solution reliability.
Solution Approach 2:
The patent performs preliminary actions by constructing and ordering all CRs before the actual stimulus generation process. The heuristic ordering of CRs is performed in advance, and the iterative combination is pre-computed, so that during simulation the pre-ordered and pre-combined CR structure can be efficiently utilized without real-time computation overhead.
2Quantity of substance
If the CR-size limit is set low to prevent BDD blow-up, then memory usage is controlled, but the ability to represent complex logical functions deteriorates
Solution Approach 1:
The patent introduces dynamic CR-size limits that adapt during the iterative combination process. The system monitors CR size during combination and dynamically adjusts the size limit based on the current intermediate CR size and the remaining CRs to be combined. This dynamic adjustment allows the system to represent more complex logical functions when necessary while preventing memory exhaustion in other cases.
Solution Approach 2:
The patent changes the CR-size limit parameter dynamically during the combination process. Instead of using a fixed size limit, the system adjusts the limit based on the current state of CR combination, allowing flexible representation of logical functions with varying complexity while controlling memory usage through parameter adaptation.
3Reliability
If existing constraint solvers are used, then constraint satisfaction is achieved, but BDD blow-up problems occur leading to performance degradation
Solution Approach 1:
The patent extracts the CR construction and combination process from the traditional BDD-based constraint solving approach. By separating CR construction from BDD manipulation and using iterative combination with size monitoring, the system avoids the exponential growth characteristic of traditional BDD methods while maintaining constraint satisfaction capability.
Solution Approach 2:
The patent introduces CRs as an intermediary representation between the constraint definitions and the final stimulus generation. This intermediary CR structure with controlled size and heuristic ordering mediates between the input constraints and the output stimuli, preventing the direct BDD blow-up problem while preserving the logical relationships required for constraint satisfaction.
Data Source
AI summary
Some embodiments provide systems and techniques to facilitate construction of a canonical representation (CR) which represents a logical combination of a set of logical functions. During operation, the system can receive a CR-size limit. Next, the system can construct a set of CRs based on the set of logical functions, wherein each CR in the set of CRs represents a logical function in the set of logical functions. The system can then combine a subset of the set of CRs to obtain a combined CR. Next, the system can identify a problematic CR which when combined with the combined CR causes the CR-size limit to be exceeded. The system can then report the problematic CR and/or a logical function associated with the problematic CR to a user, thereby helping the user to identify an error in the set of logical functions.


