Canonical Representation Construction for BDD Blow-up Prevention

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvesolution reproducibilityVSAvoidstimulus generation speed
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvememory usageVSAvoidlogical function representation capability
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If existing constraint solvers are used, then constraint satisfaction is achieved, but BDD blow-up problems occur leading to performance degradation

Engineering Contradiction:
Improveconstraint satisfactionVSAvoidBDD size
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8370273B2Method and apparatus for constructing a canonical representation
Publication Date: 2013.02.05 SYNOPSYS INC
  • US8370273B2 patent drawing
  • US8370273B2 patent drawing
  • US8370273B2 patent drawing

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.