Overview
In constrained random simulation, the main workhorse in modern hardware verification flows, input stimuli are randomly generated to satisfy a set of declaratively specified input constraints. These stimuli are then applied to validate given design properties by simulation.
The efficiency of the overall verification flow depends critically on two factors:
- Performance of the constraint solver: How quickly solutions can be generated.
- Distribution of the generated solutions: How well the generated stimuli cover the valid input space.
A good solution distribution is essential for effective verification, as it helps ensure diverse coverage of the input space and reduces the risk of missing corner-case bugs.
Hybrid Constraint Solvers and Solution Distribution
For mixed Boolean/integer variable domains, new hybrid constraint solvers based on Markov-chain Monte Carlo (MCMC) methods have been proposed to address both performance and distribution concerns. These solvers aim to provide good performance while maintaining a high-quality distribution of generated solutions.