From ICclopedia

SPICE Simulator

Our recommended open SPICE simulator is Ngspice, it is available for different operating systems and has been used widely and reliably for many academic and industry projects. Though other open simulators are acceptable, if different please specify the simulator used in your circuit entry.

Please for every circuit entry provide the simulation netlist and test-bench used so that others can simulate, analyze your results and contribute as well, do not use closed simulators or proprietary formats for netlists/testbenches as others in the community would not be able to reproduce your results and give back constructive feedback.


We need to use open SPICE models that allow everyone to get familiar and gain some experience with integrated circuits.

Please refer to the open PDKs for more information. The easiest way to get started is with the CMOS PTM ASU 130nm open PDK.

Please keep in mind that certain models are available (e.g. FreePDK) but often require academic e-mail accounts for access which makes it harder for those just getting started which is our main purpose with ICclopedia.

Schematic Entry

We use EEschema as our schematic entry tool (some reference schematic symbols can be found here). EEschema allows for professional schematic plotting in SVGs which we can then post-process and upload to ICclopedia. It also offers netlist generation which can be used directly in our SPICE simulator which is very convenient. Minor post-processing of plotted schematic SVGs from EEschema is performed with Inkscape.

Other alternative schematic entry tools include Xschem and Xcircuit.

Please feel free to use other schematic and post-processing tools as long as we can keep the schematic symbols consistent across posts. Here are our current symbol conventions.

Numerical System's Modeling

In certain instances we will use numerical modeling to illustrate the dynamics of systems at a higher level or simply to describe circuit design procedures in a procedural style. We intend to use Python for these purposes or any other open programming language otherwise specified in each circuit post.

Please let us know your feedback in the discussion tab for this page. __NONSFOOTER__