Overview
In processor verification workflows, simulation points are used with phase analysis to identify important phases of a program and capture them in a portable checkpoint format. This allows a verification run to focus on representative execution phases rather than replaying an entire long-running workload from the beginning. [simulation-points-phase-analysis]
Use with checkpoints
A checkpoint-based workflow can split long executions, such as a Linux boot sequence, into several checkpoints to speed up verification. The same checkpoint mechanism can also be applied at simulation points so that benchmarks are represented by important program phases. [checkpoint-benefits]
For example, the cited MICRO-54 paper describes leveraging phase analysis and checkpointing benchmarks at simulation points, then co-simulating SPEC benchmarks more quickly by loading simulation points that represent different phases of the program. [spec-cosimulation]
Benefits
Simulation-point checkpointing can provide several practical benefits in verification:
- Portable phase capture: important phases can be stored in checkpoint form. [simulation-points-phase-analysis]
- Faster co-simulation: representative benchmark phases can be loaded directly instead of re-running all prior execution. [spec-cosimulation]
- Parallel execution: a long-running program can be checkpointed and run in parallel, reducing simulation cost. [checkpoint-benefits]
Relationship to Dromajo-based co-simulation
The evidence appears in the context of Dromajo co-simulation infrastructure. Dromajo can be compiled as a shared library and linked into a simulator, with Verilog DPI wrapper calls invoking Dromajo APIs during simulation. The same source discusses using checkpointed infrastructure to obtain deterministic architectural state in evaluated cores. [dromajo-integration]
In that context, simulation points are a checkpointing strategy that can be used to accelerate benchmark co-simulation by loading representative program phases. [spec-cosimulation]