Constraint Solver Bias Correction for Verification Coverage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Constrained random verification (CRV) frameworks face challenges in generating high-quality and diverse random input stimuli, leading to 'coverage plateau' and inefficient verification cycles, as existing constraint solvers produce skewed distributions due to user-defined and solver-induced biases, resulting in low diversity and repeated stimuli.
Innovation Solution
The implementation of an input bias module that monitors and learns the distribution history, computing a correction probability distribution to bias the constraint solver, ensuring the generated stimuli match the intended diversity, thereby improving coverage closure and reducing repetition.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If constrained random verification is used to generate input stimuli, then verification coverage can be achieved, but the generated stimuli exhibit skewed distribution and low diversity due to solver biases
Solution Approach 1:
The patent implements a feedback mechanism where the constraint solver monitors the distribution of generated stimuli and adjusts its selection process accordingly. The solver tracks which stimuli have been generated and uses this information to bias future selections toward underrepresented regions of the input space, thereby correcting the skewed distribution caused by solver biases while maintaining verification coverage.
Solution Approach 2:
The patent dynamically changes the probability parameters used by the constraint solver during stimulus generation. By adjusting the bias parameters based on the observed distribution of generated stimuli, the solver can shift its focus to generate more diverse stimuli that have not yet been explored, thus improving stimuli diversity while maintaining reliable verification coverage.
2Reliability
If formal verification techniques are used to achieve coverage closure, then verification completeness can be achieved, but computational cost increases exponentially
Solution Approach 1:
The patent introduces an intermediary mechanism that bridges constrained random verification and formal verification. The constraint solver acts as an intermediary that uses feedback-driven biasing to generate diverse stimuli that systematically explore the input space, achieving coverage closure more efficiently than pure formal verification while avoiding the exponential computational cost associated with exhaustive formal methods.
3Productivity
If constraint solvers generate random stimuli based on user-defined constraints, then verification can proceed efficiently, but unintended skewed distribution occurs due to solver-induced biases
Solution Approach 1:
The patent implements feedback control where the constraint solver continuously monitors the distribution accuracy of generated stimuli compared to the intended uniform distribution. When skewed distribution is detected, the solver adjusts its internal bias parameters to correct the deviation, thereby maintaining both verification efficiency and accurate stimuli distribution without requiring changes to the user-defined constraints.
Data Source
AI summary
Techniques and systems for generating constrained random stimuli during functional verification of a design under verification (DUV) are described. Some embodiments can compute an observed probability distribution for each variable in a set of variables based on at least a first random solution generated using a set of constraints that are defined over the set of variables. The embodiments can then compute a correction probability distribution for each variable in the set of variables based on the observed probability distribution and an intended probability distribution. Next, while generating at least a second random solution using the set of constraints, the embodiments can select a random value for a given variable in the set of variables based on the correction probability distribution for the given variable. The observed probability distribution can be continuously updated and stored as constrained random stimuli are generated.


