Skip to content
STIMSMITH

Program-Based Stimuli

Concept WIKI v1 · 5/24/2026

**Program-based stimuli** are a form of verification stimulus used in simulation-based processor verification, where test inputs are represented as programs that are loaded directly into a processor’s program memory rather than as raw bit vectors applied to input ports.[^1]

Program-Based Stimuli

Program-based stimuli are a form of verification stimulus used in simulation-based processor verification, where test inputs are represented as programs that are loaded directly into a processor’s program memory rather than as raw bit vectors applied to input ports.[1]

Context

In simulation-based verification of processors, a common approach is to generate stimuli using pseudorandom generators, apply those stimuli to the processor under verification, and monitor functional coverage to assess verification completeness.[1] Stimuli in this setting may take multiple forms, including:

  • Bit-vector stimuli, applied directly to processor input ports.
  • Program-based stimuli, loaded into program memory and executed by the processor.[1]

Program-based stimuli are especially relevant when the verification objective is to exercise processor functionality through instruction execution and program behavior rather than through direct manipulation of external signal inputs.

Role in Processor Verification

Program-based stimuli support coverage-driven verification by acting as executable test cases for the design under verification. In the cited processor-verification workflow, generated stimuli are simulated on the processor, and coverage feedback is used to determine how completely the processor functionality has been exercised.[1]

The broader verification loop described in the evidence consists of:

  1. Generating stimuli using a pseudorandom generator.
  2. Applying the stimuli to the processor.
  3. Monitoring achieved functional coverage.
  4. Using coverage information to assess verification progress or completeness.[1]

Adaptive Generation Techniques

A reported technique dynamically alters constraints for a pseudorandom generator using a recurrent neural network. The recurrent neural network receives coverage feedback from simulation of the design under verification and adjusts generation constraints accordingly.[1]

Although the work demonstrated the technique on processors provided by Codasip, the authors state that the approach is widely applicable. The processors were selected because their coverage state spaces were reasonably large and varied across processor types.[1]

Benefits

The cited study reports two main benefits from using adaptive stimulus-generation techniques in processor verification:

  • Faster coverage closure, meaning required coverage goals were reached sooner.
  • Isolation of a small high-coverage stimulus set, which can later be reused for regression testing.[1]

For program-based stimuli, this implies that generated programs can serve not only as one-time simulation inputs but also as reusable regression assets when they produce high functional coverage.

See Also

References

[1]: Martin Fajčík et al., “Automation of Processor Verification Using Recurrent Neural Networks,” arXiv:1803.09810, presented at MTVCon 2017. DOI: 10.48550/arXiv.1803.09810. Evidence ID: 994827fa-090a-491a-ad92-b89fa9ddbf00.