RSpice

RSPICE / TECHNICAL SCOPE

Engine, analyses, interfaces, and build commands.

The current source contains the Rust simulation engine, desktop application, CLI, Python bindings, WebAssembly bindings, model libraries, and validation harnesses. Availability differs by analysis and target.

ENGINE
MNA / Newton / adaptive transient
HOSTS
Native / CLI / Python / WASM
BROWSER
Summaries / DC / AC / TRAN
AUTHORITY
Source README and test output

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.

DESKTOP

egui / wgpu

The native application provides schematic capture, waveform inspection, analysis views, and local file-system access.

AUTOMATION

CLI / Python

The CLI runs decks, converts formats, compares references, and writes reports. Python returns DC, transient, and AC data for numerical analysis.

BROWSER

WebAssembly

The JavaScript binding exposes netlist summaries plus DC operating-point, AC, and transient result snapshots.

WORKBENCHThe home page embeds the current 1440 × 900 Workbench HTML mockup in a non-interactive auto-fit frame. The experimental WASM lab is a separate route.

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.

shell / native CLIsource evaluation
git clone https://github.com/JaimeHW/RSpice.git
cd RSpice
cargo build --release -p rspice-cli
target/release/rspice --help
shell / desktop GUInative development path
cd RSpice
cargo run --release -p rspice-ui

Optional 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.

FAMILYDOCUMENTED COMMANDS / PATHSENGINEERING NOTE
Operating point & sweeps.OP .DC .STEP .TEMP .TF .SENSIncludes two-source DC sweeps, temperature and parameter families, transfer functions, and sensitivity.
Transient & spectral.TRAN .FOUR THD IMDLTE-controlled adaptive timestepping, checkpoint/resume segmentation, Fourier output, and selected distortion metrics.
Linear frequency domain.AC .NOISE .PZComplex small-signal sweeps, input/output-referred noise, and pole-zero extraction.
Measurement & comparison.MEAS GOAL TOL compareMeasurement gating over TRAN, DC, AC, and NOISE plus CLI golden-reference comparison.
Statistical & corners.mc --monte-carlo --cornersSeeded operating-point parameter variation and process-corner campaigns through selected deck, CLI, and IDE paths.
Periodic & RFPSS HB .stb --sparamShooting PSS, harmonic balance, stability, and two-port S-parameters with interface-specific exposure.
Partial kernelsPAC PNOISE PXF PSTB ENV .DISTOConversion-matrix, monodromy, envelope, and multirate mathematics lack complete circuit extraction; .DISTO currently maps to AC.
PARTIALPAC, PNoise, PXF, PSTB, envelope, and multirate kernels are not complete input-to-result analyses. .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.

shell / representative validation targetsrun against the checked-out revision
cargo test --release -p rspice-core
cargo test --release -p rspice-core --test ngspice_regression
cargo test --release -p rspice-core --test xyce_regression

The 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.