Deck & directives
Cards, expressions, analysis order, saves, measures, includes, and libraries.
01 / RSPICE WORKBENCH / ANALOG · MIXED-SIGNAL · RF
RSpice joins SPICE-compatible netlist elaboration, nonlinear and complex sparse solving, compact models, verification, and four local interfaces in one Rust workspace. The current Workbench design below is rendered as HTML at 1440 × 900 and scales to the available viewport.
02 / SYSTEM ARCHITECTURE
RSpice does not treat a simulation as a plot disconnected from its inputs. The parsed deck, elaborated hierarchy, selected model implementations, solver controls, status, measurements, and exported datasets form one run contract.
Cards, expressions, analysis order, saves, measures, includes, and libraries.
Flattened subcircuits, evaluated parameters, model sections, and instance graph.
Real or complex sparse matrices, device state, sources, and analysis-specific stamps.
Continuation, Newton, transient integration, sweeps, or frequency-domain execution.
Status, measurements, comparison evidence, provenance, and machine-readable output.
.SUBCKT, .PARAM, expressions, .INCLUDE, .LIB, .OPTIONS, .TEMPSchematic capture, local projects, analysis configuration, and waveform inspection.
SOURCE BUILDDeck execution, reports, conversion, comparison, time budgets, and CI gating.
SOURCE BUILDProgrammatic DC, transient, and AC results inside numerical workflows.
SOURCE BUILDNetlist summaries plus selected DC, AC, and transient result snapshots.
EXPERIMENTALPlanned queued sweeps, retained artifacts, organization policy, and result links.
NOT ACTIVE03 / SOLVER & RUN RECORD
The run records parsed cards, evaluated parameters, flattened subcircuits, include paths, model selection, and the generated netlist used for assembly.
Unsupported model physics, invalid cards, non-convergence, non-finite values, comparison failures, and timeouts return distinct statuses.
Measurements, golden-reference differences, random seeds, solver options, model identity, and build information remain attached to exported results.
The engine distinguishes convergence aids, matrix backends, integration policy, reproducibility, and termination conditions instead of reducing every failure to “simulation failed.”
Merit-based line search, model-aware limiting, gmin stepping, source stepping, and pseudo-transient continuation establish the nonlinear operating state.
--maxiter / --gminThe in-tree sparse path handles real-valued MNA systems for operating point, sweeps, and transient steps without routing through a dense fallback.
Complex small-signal systems retain magnitude and phase for AC-family results, noise, transfer, and frequency-domain extraction.
Trap, Gear, automatic trap/Gear, and Euler modes operate under minimum and maximum step bounds, truncation error control, source breakpoints, and safe cancellation points.
--trtol / min / max stepAC points, Monte Carlo samples, and configured corner workers use Rayon where runs can be separated without sharing mutable solver state.
Parse, topology, convergence, non-finite, timeout, interruption, measurement, comparison, configuration, and I/O outcomes remain distinguishable to callers and CI.
04 / ANALYSIS MAP
Core analyses run through the native engine. Selected statistical, periodic, and RF paths use deck, CLI, or IDE-specific entry points; the status column distinguishes complete paths from partial kernels.
01.OP .DC .STEP .TEMP .TF .SENS
02.TRAN .FOUR THD IMD
03.AC .NOISE .PZ
04.MEAS GOAL TOL COMPARE
05.MC --monte-carlo --corners
06PSS HB .STB S-PARAM
07PAC PNOISE PXF PSTB ENV .DISTO
.DISTO currently maps to AC rather than a Volterra engine.KERNEL / PARTIALNative models cover the principal silicon paths; bundled Verilog-A sources provide generated implementations for additional compact-model families.
Device registration includes junction models, magnetic components, and ideal or lossy transmission-line elements.
Independent and controlled sources provide time-domain stimulus, behavioral expressions, switching, and analog/digital conversion.
The parser resolves parameters, includes, libraries, and subcircuits before matrix assembly; Verilog-A uses interpreted, JIT, and generated-Rust paths.
.SUBCKT, .PARAM, expressions, .INCLUDE, and .LIB.OPTIONS, .TEMP, engineering suffixes, and flattened elaborationCLI exit codes and report formats allow measurement failures, timeouts, invalid results, and golden-reference mismatches to stop CI jobs.
run, info, check, compare, convert, and compile-vaThe egui application, CLI, Python bindings, and WebAssembly bindings use the same core, with target-specific analysis exposure.
05 / DEVICE & MODEL SYSTEM
Native device implementations and generated Verilog-A devices share the simulator, but they are not presented as interchangeable black boxes. Requested modes that are not implemented are rejected with typed errors rather than silently approximated.
MBSIM4 v4.8, BSIM3v3.3, VDMOS, EKV3, MOS1/2/3/6, legacy BSIM1/2; generated BSIM-SOI and EKV 2.6 where bundled sources are available.
Unsupported levels and unported mode selectors fail explicitly.QGummel-Poon BJT plus generated VBIC, HICUM, and MEXTRAM implementations where redistributable Verilog-A sources are bundled.
Generated devices are canonical when their source package is enabled.D/J/ZDiode, JFET level 1, Parker-Skellern JFET2, an internal Xyce JFET2 compatibility mode, MES/MESA/HFET-family devices, and a physics-style GaN HEMT path.
CMC ASM-HEMT and MVSG qualification remains future work.R/C/L/KTemperature-aware resistance, capacitance, and inductance; coupled and multi-winding transformers; Jiles–Atherton saturable-inductor hysteresis.
State and history participate in transient checkpointing.T/O/PIdeal lines, LTRA and TXL lossy paths, and CPL coupled transmission-line elements for time- and frequency-domain use.
Analysis availability follows each registered device path.A/XXSPICE-style analog/digital elements, tri-state drivers, controlled switches, behavioral sources, and A/D–D/A bridges.
Digital/event surface maturity varies by element.VAParser, semantic analysis, canonical IR, bytecode VM, x64-first native JIT, and a generated-Rust backend for feature-gated built-ins.
Native JIT requests either construct fully or return a typed error.External module or bundled CMC package with its original source identity.
Parsed disciplines, parameters, branches, contributions, and typed expressions.
Bytecode VM, requested native JIT, or generated Rust for bundled built-ins.
Explicit model level, parameter schema, runtime state, and analysis stamps.
Focused tests, oracle replay, corpus decks, and typed unsupported behavior.
For example, a BSIM4 card that requests unported gate/body resistance networks, NQS behavior, material modes, or unsupported mode selectors is rejected. A plausible current from incomplete physics is not treated as a successful simulation.
Search the generated device reference06 / ENGINEERING WORKFLOW
The workflow below describes the current HTML Workbench redesign rendered at the top of this page. The native egui application and simulation engine already exist; this redesigned shell is a design target, not a claim that every panel is released.
01Project files, cell hierarchy, symbols, instances, nets, ports, parameters, model references, and generated netlists stay navigable from the same design context.
02Analyses, PVT dimensions, corners, parameter sweeps, seeds, solver policy, outputs, and qualification checks form a versioned simulation plan rather than a transient dialog state.
03Local runs and planned remote jobs expose queued, running, completed, cancelled, timed-out, failed, and verification-blocked states with retained diagnostics.
04Waveforms, spectra, measurements, tables, overlays, and exported datasets remain scoped to an immutable result manifest so a viewer cannot silently combine incompatible runs.
05Specification matrices, corner coverage, regression comparisons, model qualification, reliability checks, review comments, and approvals are represented as evidence attached to a run.
06CLI, Python, reports, deterministic seeds, checkpoints, output conversion, and explicit exit codes let the same engineering checks operate outside the graphical client.
07 / AUTOMATION & DATA
The CLI executes deck analyses in declared order, reports measurements, enforces time budgets, distinguishes verification failures from simulator failures, and writes analysis-shaped datasets for downstream tools.
$ rspice run afe.sp \
--corners tt,ss,ff \
--corner-lib pdk/corners.lib \
--timeout 600 \
--meas --meas-format json \
--report-format junit \
--report-file results.xml \
--summary run-summary.json
TRAN accepted 1,053 points
MEAS vpeak 4.999773e+00 PASS
MEAS risetime 2.197215e-04 PASS
RUN 3 corners / 0 failed
EXIT 0
0SUCCESSSimulation ran and every configured check passed.
1SIMULATIONConvergence, non-finite, Verilog-A compile, or conversion failure.
3VERIFICATIONA measurement failed or could not evaluate, or golden comparison mismatched.
65INPUTNetlist parse failure or singular topology found by checking.
124TIME BUDGETRun exceeded --timeout and stopped at a safe point.
130INTERRUPTEDCtrl-C requested controlled termination.
Multi-analysis decks receive tagged outputs. Table-shaped TF, pole-zero, and sensitivity results use compatible formats rather than being forced into an unsuitable HDF5 section.
Two-port extraction writes S11, S21, S12, and S22 across the deck’s AC sweep, with .s2p output when Touchstone is selected.
Tool version, per-run status, measurements, written files, and the overall verdict can be consumed without parsing terminal prose.
DC, transient, and AC result data can be returned directly to Python for numerical analysis, regression work, and custom plotting.
The experimental single-threaded browser binding exposes netlist summaries and selected DC, AC, and transient execution without a hosted upload.
Monte Carlo defaults to a deterministic seed; transient resume requires a byte-identical deck fingerprint; outputs retain run configuration and model identity.
08 / VALIDATION EVIDENCE
The public validation page is regenerated from the exact RSpice source commit. A CI conclusion is shown only when the downloaded artifact names that same commit; otherwise the site reports configuration and inventories without inventing a pass percentage.
Commit used for the generated reference and validation inventory.
Configured aggregate; no more than 2 failing decks.
Numeric, smoke, locked-grid, measure, scripted, and expected-unsolvable modes.
Retained deck and wrapper requirements, not a claim of successful execution.
Parser, expressions, device equations, assembly, solvers, analyses, formats, and interface errors.
Retained inputs and outputs for history-coupled devices and numerical state transitions.
Deck-by-deck execution with probe-aware floors, relative tolerance, watchdogs, and explicit aggregate output.
Runtime decks plus retained wrapper requirements that remain visible until the harness implements them.
Source-controlled host, executable paths, repeats, deck names, medians, and raw scoreboard JSON.
09 / AVAILABILITY
Source code, the experimental browser path, the Workbench mockup, and planned hosted services are separate deliverables with different availability.
The Rust engine, CLI, Python bindings, validation harnesses, and desktop egui application are present in the public source tree.
Build from sourceParser, semantic IR, bytecode VM, x64-first JIT, standalone compilation, and generated-Rust built-in paths are present behind their applicable features.
Inspect compiler surfaceThe WASM interface exposes netlist summaries plus DC, AC, and transient runs; WebGPU and single-thread limits apply.
Open WASM labThe embedded desktop, tablet, and phone layouts are HTML design mockups, not the current egui application.
Inspect mockupThe catalog, gate configuration, manifest counts, benchmark context, and raw files are generated from the source commit named on each page.
Open generated statusLive collaboration, cloud saves, managed simulation, and published circuit URLs are planned services; they are not live.
View hosted plan10 / HOSTED SERVICES
Planned services add identity, project synchronization, collaboration, managed simulation, and public or private result links. Local files and local simulation remain independent of those services.
Files, models, engine, and results stay on the engineer’s device.
Authentication belongs to the future application service, not the public website.
File revisions, permissions, presence, comments, and public, unlisted, or private sharing.
Queued runs, runner selection, cost estimates, retained outputs, and shareable result URLs.
The public site remains account-free. Registration, organization management, billing, and authenticated project access will use the hosted application.
Planned result pages distinguish public, unlisted, and private access and retain the input revision, run configuration, expiration, revocation, and export settings.
Local simulation does not require a hosted plan. Managed corner, Monte Carlo, and optimization jobs show estimated runner and storage cost before submission.
Registration, SSO options, organization membership, editor/reviewer roles, seat assignment, and billing ownership.
Hosted identity and policy data; no circuit upload required for a local license.NOT ACTIVEVersioned files, model references, project revisions, restore points, branch/merge policy, and per-project retention.
Opt-in project content encrypted in transit and at rest; local-only projects remain local.NOT ACTIVEPresence, selections, comments, review threads, edit conflict handling, and an auditable history tied to project revisions.
Only authorized project members and invited reviewers; role-controlled write access.NOT ACTIVEPreflight, runner class, queue state, resource estimate, cancellation, logs, retained datasets, and downloadable artifacts.
Submitted run package and selected model dependencies; private-runner option planned for controlled environments.NOT ACTIVEProposed short URLs for a circuit, frozen result, report, or interactive viewer with public, unlisted, private, expiring, and revocable visibility.
A publication is a deliberate copy with its own visibility and revision, not an implicit exposure of the source project.NOT ACTIVEOrganization policy, SSO enforcement, export controls, audit records, retention policy, support bundles, and administrative exports.
Enterprise control plane; private runner and offline licensing remain separate deployment choices.NOT ACTIVENative desktop, CLI, Python, local model libraries, and local result export remain usable when hosted services are unavailable or intentionally disabled.
The future application service—not this public site—owns registration, sessions, organization policy, billing, collaboration, managed jobs, and shared URLs.
11 / LICENSING PLAN
These prices are planning assumptions, not active offers. Commercial editing uses named seats; view-only review is free; managed runner time and storage are billed separately.
$0source and non-commercial preview
$149named user / month, billed annually
$249editor / month, billed annually
Customannual commitment
No account, payment flow, cloud storage, managed compute, or subscription checkout is active on this site today. Any hosted compute will be billed separately from seats.
Professional and Team prices are shown as monthly equivalents but billed annually. This supports predictable engineering budgets and recurring product development.
Stakeholders can inspect and comment without consuming an editor seat; users who modify projects, plans, or organization policy require a paid seat.
Hosted runner class, wall time, memory tier, retained artifact volume, and storage duration are metered separately with an estimate before submission.
Offline activation, floating entitlement, SSO, private runners, audit export, deployment review, and response commitments sit behind an annual minimum.
SOURCE / BROWSER EVALUATION