Multi-dimensional Constraint Solver Using Modified Relaxation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional constraint solvers in EDA software tools face challenges in generating stimulus streams that comply with multi-dimensional constraints efficiently, leading to delays in circuit design development and increased production costs due to excessive backtracking and long processing times when dealing with complex, interdependent constraints.
Innovation Solution
A multi-dimensional constraint solver using a modified relaxation process with two sequentially executed revision phases: the first phase ensures compliance with one-dimensional constraints, and the second phase systematically revises test vector values to address non-compliance with remaining multi-dimensional constraints, facilitating rapid convergence to solutions that meet all constraints.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional constraint solvers are used to generate stimulus streams with multi-dimensional constraints, then the solution completeness is improved, but the processing time increases excessively due to backtracking
Solution Approach 1:
The constraint satisfaction problem is segmented into two distinct phases: a first revision phase that handles one-dimensional constraints, and a second revision phase that handles remaining multi-dimensional constraints. This segmentation allows each phase to focus on specific constraint types, reducing overall backtracking and processing time while maintaining solution completeness.
Solution Approach 2:
The first revision phase performs preliminary action by satisfying one-dimensional constraints before the second phase addresses multi-dimensional constraints. This preliminary satisfaction of simpler constraints reduces the search space for the second phase, minimizing backtracking and accelerating the overall solving process.
2Reliability
If conventional constraint solvers are used to generate stimulus streams with multi-dimensional constraints, then the solution completeness is improved, but the device complexity increases
Solution Approach 1:
The solver is divided into two specialized revision phases, each handling specific constraint dimensions. This segmentation reduces the complexity of individual phases compared to a monolithic solver, as each phase only needs to manage specific constraint types rather than all constraints simultaneously.
Solution Approach 2:
The first revision phase performs partial action by satisfying only one-dimensional constraints, leaving multi-dimensional constraints for the second phase. This partial satisfaction approach simplifies each phase's task, reducing overall solver complexity while ensuring complete constraint compliance through the two-phase process.
3Reliability
If conventional constraint solvers are used to generate stimulus streams with multi-dimensional constraints, then the constraint satisfaction is improved, but the productivity decreases
Solution Approach 1:
The stimulus stream generation process is segmented into two revision phases that can be executed sequentially with optimized operations. This segmentation enables faster processing by avoiding redundant backtracking operations that would otherwise slow down the generation rate, thus improving productivity while maintaining constraint satisfaction.
Solution Approach 2:
The first revision phase performs preliminary satisfaction of one-dimensional constraints, which are typically simpler and faster to resolve. This preliminary action reduces the computational burden on the second phase, accelerating the overall stimulus stream generation rate while ensuring all constraints are ultimately satisfied.
Data Source
AI summary
A constraint solver utilizes a modified relaxation process to generate multiple different stimulus stream arrays that comply with multi-dimensional (e.g., 2D or 3D) constraints. First, an array is generated including rows and columns of randomly generated test vector values. During a first revision phase, the array is modified to comply with first-dimension constraints (e.g., selected test vector values are changed in non-compliant rows until every row complies with all row constraints). A second revision phase is then performed in multiple cycles, where each cycle includes identifying a current element having a greatest impact on non-compliance of the array on second-dimension (e.g., column and/or diagonal) constraints, and revising the current element's test vector value in a way that both minimizes the non-compliance, and also maintains compliance of the array with the first-dimension constraints. The second revision phase repeats until the array converges on a solution that complies with all multi-dimensional constraints.


