Toolchain

From ICclopedia

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 are free to use any schematic tool you are most comfortable with. One example is EEschema. 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, but try to keep the schematic symbols consistent across posts. Here are our current symbol conventions.

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__