▶ Validation · evidence
Every release, diffed against the oracles.
For each release, RSpice and the reference engine run the same decks on an identical, locked time grid — no resampling, no interpolation — and every point of every saved probe is compared. Core analyses are diffed against ngspice-46; RF steady-state results are checked against closed-form analytic decks. A cluster passes only when its worst point agrees.
Release · oracles
oracle versions pinned per release
Decks passed · sample
111 / 113
grid-locked or contract-gated
Points compared · sample
2.4 M
every probe, every timestep
Max waveform deviation · sample
< 1e-9 V
worst point across grid-locked decks
Per-cluster results · v1.0.0
The suite, cluster by cluster.
Decks are grouped by the ngspice example corpus they came from. A cluster is listed as under review until its grid-lock policy is settled — close is not a pass. Decks that free-run pointwise comparison cannot judge gate on per-deck validation contracts: locked-grid replay, engineering-measure sidecars, or certified refusal where the oracle itself cannot solve the deck.
click a passing cluster to plot its overlay · click an under-review cluster to see why
| cluster | decks | status | max |Δ| | runtime |
|---|---|---|---|---|
| transient-sources | 18 | 2 under review | 3.1e-12 V | 1.8 s |
|
||||
| dc-sweep | 14 | pass | 6.4e-13 V | 0.9 s |
| ac-noise | 12 | pass | 2.2e-12 V | 1.2 s |
| vbic | 16 | pass | 3.4e-12 V | 6.1 s |
| transmission-lines | 12 | pass | ≤ 1e-6 V | 3.7 s |
| monte-carlo | 11 | pass | 4.7e-12 V | 12.6 s |
| digital-xspice | 13 | pass | 1.5e-12 V | 2.1 s |
| rf-pss | 8 | pass | 8.9e-10 V | 9.4 s |
| sp-analysis | 9 | pass | 7.5e-11 V | 3.3 s |
Methodology
How a pass is earned.
- 01Lock the grid. RSpice replays the oracle's exact timestep sequence, so both engines produce values at identical time points — any difference is numerics, never interpolation.
- 02Diff every point. Every saved probe of every deck is compared point-for-point; the table reports the worst absolute deviation in each cluster, not an average.
- 03Cross-check RF. Harmonic balance and PSS have no ngspice reference — they are pinned to closed-form analytic decks, and the Verilog-A BSIM4 is pinned to ngspice's native BSIM4 bias-for-bias.
Rerun this yourself
The evidence is a test target, not a webpage.
# from a clean checkout — decks and ngspice-46 goldens are in the repo
$ cargo test -p rspice-core --test ngspice_regression
# or pin against a live local ngspice build instead of the goldens
$ RSPICE_NGSPICE_LIVE_REFERENCES=1 cargo test -p rspice-core \
--test ngspice_regression
decks + golden waveforms live in the public repo — every pass in the table above is reproducible from a clean checkout, not a private CI bucket.