Skip to content

eelab-dev/EEcircuit

Repository files navigation

Npm Build DOI

(formerly EEsim.dev)

EEcircuit

EEcircuit is a circuit simulator based on ngspice that operates directly in your browser using WebAssembly technology. It takes a spice-based netlist as input and produces analysis results from your simulations as output. You can visualize and plot the results in the browser using the high-performance WebGL plotting library, webgl-plot, or download the data in CSV format for further analysis. Importantly, your netlist and results are processed locally, meaning they always remain within your browser and are never uploaded to a server. This project focuses on facilitating rapid analysis and sharing of circuit ideas and results within the VLSI and chip-design communities. Additionally, since EEcircuit uses a text-based netlist as input, you can utilize Git for version control to track your changes effectively.

Getting started

Copy and paste this circuit into editor and click Run. Input is also compatible with ngspice netlist.

Basic RCL circuit

Basic RLC circuit
.include modelcard.CMOS90

r vdd 2 100.0
l vdd 2 1
c vdd 2 0.01
m1 2 1 0 0 N90 W=100.0u L=0.09u
vdd vdd 0 1.8

vin 1 0 0 pulse (0 1.8 0 0.1 0.1 15 30)
.tran 0.1 50

.end

Examples

💥 See here for more examples.

Usage

Use your mouse to pan & zoom on the plot. left click for area zoom and right click hold and drag for pan. To reset the view double click.

Documentation

📺 A brief presentation on the origins of EEcircuit (formerly EEsim.dev) and how it was developed. (slides)

To learn more about SPICE netlits refer to ngspice manual

Transistor Models

See Transistor Models for more information.

Acknowledgments

Thanks to Xuanhao Bao, Chang Liu, and Konstantinos Bantounos for testing.

Contributions

Ngspice, SPICE3f5, Emscripten, Docker, Chakra-UI, Vercel