Input Space Fracturing for Verification Test Set Generation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The complexity of modern electronic designs makes it computationally infeasible to exhaustively test all possible input combinations, necessitating methods to prune the input space without affecting verification results, particularly for constraint-based verification test set generation.
Innovation Solution
The method involves fracturing the input space into subspaces, solving each to determine if it contains input vectors that satisfy coverage constraints, and only searching subspaces with solutions, while using multiple solvers to abort the search if no solutions exist, thereby reducing the search space efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If exhaustive testing of all input combinations is performed, then verification completeness is improved, but computational complexity becomes infeasible
Solution Approach 1:
The input space is divided into multiple subspaces based on constraint variables. Each subspace is independently solved to determine if it contains valid input vectors. This segmentation allows the verification process to focus only on promising regions of the input space rather than exhaustively searching the entire space, thereby reducing computational complexity while maintaining verification completeness.
Solution Approach 2:
The method extracts and removes portions of the input space that are proven to contain no valid solutions. By solving subspaces and identifying those with no valid input vectors, the search space is pruned and removed from further consideration. This extraction of useless search regions significantly reduces the computational burden while preserving all potentially valid test cases.
2Reliability
If the input space is searched exhaustively, then all valid test cases are found, but the search time becomes excessive
Solution Approach 1:
Before performing the full search, the method performs preliminary solving of subspaces to determine their solvability. By预先 determining which subspaces contain valid solutions and which do not, the algorithm can skip the time-consuming exhaustive search in unsolvable subspaces. This preliminary action filters out useless search regions and directs computational resources only to promising areas.
Solution Approach 2:
The method extracts and removes unsolvable subspaces from the search process. By identifying and removing portions of the input space that are guaranteed to contain no valid test cases, the search time is significantly reduced. Only the extracted solvable subspaces are subjected to full search, eliminating wasted time on hopeless search regions.
3Productivity
If multiple solvers are used to check subspaces, then the efficiency of test set generation is improved, but the system complexity increases
Solution Approach 1:
Multiple solvers are merged into a unified verification framework where they work cooperatively on the same subspace problems. The solvers share common data structures, constraint representations, and coordination mechanisms. This merging approach allows the benefits of multiple independent solvers (improved efficiency through parallelism and redundancy) while avoiding the complexity of completely independent systems by establishing a unified architecture for solver management and coordination.
Data Source
AI summary
Various implementations of the invention provide for the determination of a test set that satisfies a coverage model, where portions of the search space need not be searched in order to generate the test set. With various implementations of the invention, a search space defined by a set of inputs for an electronic design and a coverage model is identified. The search space is then fractured into subspaces. Subsequently, the subspaces are solved to determine if they include at least one input sequence that satisfies the coverage constraints defined in the coverage model. The subspaces found to include at least one input sequence that satisfies these coverage constraints, are then searched for unique input sequences in order to generate a test set. Subspaces found not to include at least one input sequence that satisfies the coverage constraints may be excluded from the overall search space.


