Restricted Randomization for Hardware Design Verification Test Cases
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing design verification processes for hardware designs are inefficient due to the generation of invalid test cases caused by naive randomization approaches that do not consider variable dependencies, leading to an overinclusive set of test cases that are not supported by the design, thus wasting simulation resources and engineering time.
Innovation Solution
A restricted randomization process is implemented in the design verification system, where a set of restrictions representing dependencies between variables is used to exclude infeasible scenarios, and algorithms resolve conflicts between variable pairs based on these restrictions, ensuring only valid test cases are generated.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If a naïve randomization approach is used to generate test cases by assigning random values to each variable, then the quantity of test cases increases, but the validity of test cases decreases due to generation of infeasible combinations
Solution Approach 1:
The patent applies preliminary action by pre-defining validity rules and constraints for variable combinations before generating test cases. The system establishes a set of rules that specify which variable combinations are valid, and these rules are applied during test case generation to filter out invalid combinations before they are created, thus ensuring high validity while maintaining quantity.
Solution Approach 2:
The patent changes the parameters of the randomization process by introducing constraint-based selection instead of pure random assignment. The system modifies how variable values are selected by incorporating validity checks that adjust the parameter selection based on previously assigned variables, transforming the naive randomization into a constrained randomization that maintains diversity while ensuring validity.
2Quantity of substance
If invalid test cases are generated and included in the regression test suite, then the coverage of test scenarios increases, but the waste of simulation resources increases
Solution Approach 1:
The patent converts the potential harm of generating invalid test cases into a benefit by using the validity rules to guide the generation process. Instead of generating invalid cases and then discarding them (which wastes resources), the system uses the same validity rules to directly generate only valid cases, transforming the filtering step into a guiding principle for efficient generation.
Solution Approach 2:
The system implements self-service by having the test case generation process automatically enforce its own validity constraints without requiring external validation. The generation algorithm inherently produces valid cases by respecting the predefined rules, eliminating the need for separate validation steps and reducing resource waste.
3Reliability
If a restricted randomization process with conflict resolution is implemented, then the validity of test cases improves, but the complexity of the generation process increases
Solution Approach 1:
The patent applies segmentation by dividing the test case generation process into distinct phases: variable assignment, conflict detection, and conflict resolution. Each phase handles a specific aspect of the generation process, making the overall complex task manageable through modular organization. The conflict resolution itself is segmented into identifying conflicting variables and then resolving individual conflicts.
4Measurement precision
If pre-assigned values are provided for some variables, then the focus on specific features improves, but the number of possible test case combinations decreases
Solution Approach 1:
The patent applies local quality by allowing different variables to have different levels of constraint. Pre-assigned values provide fixed constraints for specific variables that are critical to the feature being tested, while other variables maintain full randomness to preserve diversity. This localized application of constraints ensures focus on important features while maintaining overall test case versatility.
Data Source
AI summary
Systems and methods for generating design verification test cases using a restricted randomization process are provided. According to one embodiment, a processor of a hardware design verification system receives a set of restrictions and defines a scenario involving the values that is to be excluded from the test case. The processor also receives pre-assigned values for one or more variables. For each variable other than the one or more variables, the processor assigns a first random value to the variable that is within a valid range for the variable. The processor then identifies a conflict between a first pair of variables, and resolves the conflict by assigning a second random value to a first variable or a second variable of the first pair of variables within their respective valid ranges.


