01 / RUNTIME BOUNDARY
Desktop, CLI, Python, and WASM use the same simulation core.
rspice-core elaborates SPICE-compatible netlists, evaluates devices, assembles modified-nodal-analysis systems, and dispatches analyses. Native builds can use configured parallel and SIMD paths; the browser build is single-threaded and exposes a smaller command set.
egui / wgpu
The native application provides schematic capture, waveform inspection, analysis views, and local file-system access.
CLI / Python
The CLI runs decks, converts formats, compares references, and writes reports. Python returns DC, transient, and AC data for numerical analysis.
WebAssembly
The JavaScript binding exposes netlist summaries plus DC operating-point, AC, and transient result snapshots.
02 / SOURCE BUILD
Build the CLI or desktop application from the checked-out revision.
Signed installers are not published. The commands below build the current CLI and desktop packages with the installed Rust toolchain.
git clone https://github.com/JaimeHW/RSpice.git
cd RSpice
cargo build --release -p rspice-cli
target/release/rspice --helpcd RSpice
cargo run --release -p rspice-uiOptional model-generation paths and platform dependencies vary by target. Use the repository README and CI configuration for the checked-out revision.
03 / ANALYSIS MAP
Implemented analyses and interface-specific entry points.
The native engine contains the core paths below. Statistical, periodic, and RF entry points currently span deck cards, CLI flags, and IDE controls rather than one uniform interface.
| FAMILY | DOCUMENTED COMMANDS / PATHS | ENGINEERING NOTE |
|---|---|---|
| Operating point & sweeps | .OP .DC .STEP .TEMP .TF .SENS | Includes two-source DC sweeps, temperature and parameter families, transfer functions, and sensitivity. |
| Transient & spectral | .TRAN .FOUR THD IMD | LTE-controlled adaptive timestepping, checkpoint/resume segmentation, Fourier output, and selected distortion metrics. |
| Linear frequency domain | .AC .NOISE .PZ | Complex small-signal sweeps, input/output-referred noise, and pole-zero extraction. |
| Measurement & comparison | .MEAS GOAL TOL compare | Measurement gating over TRAN, DC, AC, and NOISE plus CLI golden-reference comparison. |
| Statistical & corners | .mc --monte-carlo --corners | Seeded operating-point parameter variation and process-corner campaigns through selected deck, CLI, and IDE paths. |
| Periodic & RF | PSS HB .stb --sparam | Shooting PSS, harmonic balance, stability, and two-port S-parameters with interface-specific exposure. |
| Partial kernels | PAC PNOISE PXF PSTB ENV .DISTO | Conversion-matrix, monodromy, envelope, and multirate mathematics lack complete circuit extraction; .DISTO currently maps to AC. |
.DISTO does not yet use a dedicated Volterra engine.04 / INTERFACES
Interface scope.
- CLI executes requested analyses, validates and inspects decks, converts result formats, compares golden references, and emits machine-readable summaries and reports for scripted work.
- Python exposes simulation results for programmatic analysis, including transient and AC data returned to Python-oriented numerical workflows.
- WebAssembly runs client-side and single-threaded. It exposes netlist summaries and DC, AC, and transient results; it does not provide managed jobs, accounts, or collaboration.
- Desktop is the native graphical route. The current egui application and the Workbench redesign are separate implementations.
05 / VALIDATION DISCIPLINE
Validation targets in the source tree.
The workspace contains unit and integration tests, oracle replay for history-coupled device behavior, and corpus harnesses for ngspice and Xyce decks. Corpus runs record unsupported cases and use watchdog-supervised processes.
cargo test --release -p rspice-core
cargo test --release -p rspice-core --test ngspice_regression
cargo test --release -p rspice-core --test xyce_regressionThe validation methodology describes comparison inputs, failure states, and tolerance requirements. The generated validation page publishes source-controlled gate configuration, corpus inventories, benchmark context, and any exact-revision CI artifact available to the site build.