Toolchain
SPICE Simulator
Our recommended open SPICE simulator is Ngspice, it is available for different operating systems and has been used for many academic and industry projects. Though other open simulators are acceptable, if different please specify the simulator used in your circuit entry.
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.
SPICE PDK Models
We need to use open SPICE models (open PDKs) that allow everyone to get familiar and gain some experience with integrated circuits. Please refer to the open PDKs page for more information.
Keep in mind that certain PDKs are available free (e.g. FreePDK), but can require academic/business e-mail accounts for access. This makes it harder for those just getting started to learn and contribute which is our main purpose with ICclopedia.
Remember to specify which open PDK was used for your simulations at the end of the article.
Schematic Entry
You can use any schematic tool you are most comfortable with.
Recommended schematic entry tools include:
The tools above offer netlist generation which can be used in the SPICE simulator. They also offer schematic plotting which can then be post-processed if/as needed and uploaded to ICclopedia (SVGs are the recommended format to upload to ICclopedia)
A good vector graphics software you can use for converting between formats or for post-processing schematic vector graphics is Inkscape.
Another simple option for small circuits is to write the netlists by hand -- for simulations -- and create/copy/update the schematic graphics by hand as well (helpful when creating similar articles).
Please feel free to use any tool(s) you find useful. Below you can find SVG icons for schematic components you can download and use if helpful.
Numerical System's Modeling
In certain instances we will use numerical modelling 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__