Abstract
Constrained random test generation is one of the most widely adopted methodsfor generating stimuli for simulation-based verification. Randomness leads totest diversity, but tests tend to repeatedly exercise the same design logic.Constraints are written (typically manually) to bias random tests towardsinteresting, hard-to-reach, and yet-untested logic. However, as verificationprogresses, most constrained random tests yield little to no effect onfunctional coverage. If stimuli generation consumes significantly lessresources than simulation, then a better approach involves randomly generatinga large number of tests, selecting the most effective subset, and onlysimulating that subset. In this paper, we introduce a novel method forautomatic constraint extraction and test selection. This method, which we callcoverage-directed test selection, is based on supervised learning from coveragefeedback. Our method biases selection towards tests that have a highprobability of increasing functional coverage, and prioritises them forsimulation. We show how coverage-directed test selection can reduce manualconstraint writing, prioritise effective tests, reduce verification resourceconsumption, and accelerate coverage closure on a large, real-life industrialhardware design.