summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/browser/UserManual.py20
-rw-r--r--src/browser/pages/User-Manual/eSim.html4296
-rw-r--r--src/browser/pages/User-Manual/figures/3d.pngbin0 -> 71482 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/3dv.pngbin0 -> 14820 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/555-ref-change.pngbin0 -> 52970 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/555-schematic.pngbin0 -> 62445 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/8-file.pngbin0 -> 36740 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/B-Rectifier-schematic.pngbin0 -> 43217 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/BJT_amplifier_kn.pngbin0 -> 48005 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/BJT_amplifier_model_builder.pngbin0 -> 15433 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/BJT_amplifier_model_parameter.pngbin0 -> 24012 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/BJT_amplifier_model_select.pngbin0 -> 8162 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/BJT_amplifier_ngspice.pngbin0 -> 70681 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/CvPCB-window.pngbin0 -> 31327 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/Documentation.zip.abcbin0 -> 1475609 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/IMG_0575.jpgbin0 -> 1717609 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/IMG_0576.jpgbin0 -> 974815 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/IMG_0577-short-rotated.jpgbin0 -> 102950 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/IMG_0577-short.jpgbin0 -> 97542 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/IMG_0577-short.tiffbin0 -> 780312 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/IMG_0577.jpgbin0 -> 1854567 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/IMG_0578.jpgbin0 -> 1472835 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/IMG_0579.jpgbin0 -> 1983361 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/RC.pngbin0 -> 24792 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/RC1.pngbin0 -> 9168 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/SMCSim-B-Rectifier.pngbin0 -> 43217 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/SMCSim-simulation.pngbin0 -> 59971 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/aakash_br.pngbin0 -> 3079655 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/aakash_kicad_ngspice.pngbin0 -> 5942062 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/aakash_ngspice.pngbin0 -> 6487461 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/aakash_setup-low.jpgbin0 -> 268922 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/aakash_setup-low.tiffbin0 -> 1839626 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/aakash_setup.pngbin0 -> 7657391 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/ac1.pngbin0 -> 93160 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/afterplace.pngbin0 -> 5564 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/analysis-inserter.pngbin0 -> 30818 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/analysis.pngbin0 -> 72022 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/anno.pngbin0 -> 143129 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/annotate.pngbin0 -> 755 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd1.pngbin0 -> 3720 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd10.pngbin0 -> 57293 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd11.pngbin0 -> 5126 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd12.pngbin0 -> 25634 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd13.pngbin0 -> 37334 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd14.pngbin0 -> 77268 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd15.pngbin0 -> 7127 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd16.pngbin0 -> 30288 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd17.pngbin0 -> 27944 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd18.pngbin0 -> 97384 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd19.pngbin0 -> 5627 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd2.pngbin0 -> 169735 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd20.pngbin0 -> 28014 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd21.pngbin0 -> 15328 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd22.pngbin0 -> 19118 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd23.pngbin0 -> 9634 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd24.pngbin0 -> 28335 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd25.pngbin0 -> 86340 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd26.pngbin0 -> 5735 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd27.pngbin0 -> 25409 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd3.pngbin0 -> 122977 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd31.pngbin0 -> 56060 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd32.pngbin0 -> 85661 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd33.pngbin0 -> 6874 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd34.pngbin0 -> 29178 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd35.pngbin0 -> 38867 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd36.pngbin0 -> 71199 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd37.pngbin0 -> 9093 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd38.pngbin0 -> 25439 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd39.pngbin0 -> 38704 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd4.pngbin0 -> 30049 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd40.pngbin0 -> 97252 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd5.pngbin0 -> 146208 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd6.pngbin0 -> 23793 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd7.pngbin0 -> 23785 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd8.pngbin0 -> 99658 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/apd9.pngbin0 -> 63401 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/bjt_amplifier_ana.pngbin0 -> 31039 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/blockdiagram.pngbin0 -> 65691 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/bridge-rectifier-circuit.pngbin0 -> 37150 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/bridgerectifier.pngbin0 -> 12424 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/brnet.pngbin0 -> 102662 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/cancel-model-b.pngbin0 -> 9976 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/ch06_ac_exm_ana1.pngbin0 -> 119958 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/comp.pngbin0 -> 21214 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/componentlibrary.pngbin0 -> 32176 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/confirm.pngbin0 -> 11401 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/conn.pngbin0 -> 72365 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/convert.pngbin0 -> 97077 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/curplace.pngbin0 -> 3822 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/dc1.pngbin0 -> 93126 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/dc2.pngbin0 -> 111144 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/devicemodel.pngbin0 -> 76967 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/diode-linear-cropped.jpgbin0 -> 28031 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/diode-linear-cropped.tiffbin0 -> 45426 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/diode-linearization.pngbin0 -> 28871 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/diode-model-select.pngbin0 -> 16864 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/diode-model.pngbin0 -> 18590 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/ha/ha_analysistab.pngbin0 -> 71465 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/ha/ha_netlistgeneration.pngbin0 -> 40132 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/ha/ha_ngspicemodeltab.pngbin0 -> 69988 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/ha/ha_ngspiceplot.pngbin0 -> 21477 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/ha/ha_pythonplot.pngbin0 -> 69447 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/ha/ha_schematic.pngbin0 -> 9674 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/ha/ha_sourcedetailstab.pngbin0 -> 85029 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/ha/ha_subcircuitstab.pngbin0 -> 32988 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/hwr/hwr_analysistab.pngbin0 -> 71187 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/hwr/hwr_chematic.pngbin0 -> 5751 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/hwr/hwr_devicemodelingtab.pngbin0 -> 33588 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/hwr/hwr_netlistgeneration.pngbin0 -> 40743 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/hwr/hwr_ngspiceplot.pngbin0 -> 22902 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/hwr/hwr_pythonplot.pngbin0 -> 74453 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/hwr/hwr_sourcedetailstab.pngbin0 -> 45594 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/ia/ia_analysistab.pngbin0 -> 71136 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/ia/ia_netlistgeneration.pngbin0 -> 40152 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/ia/ia_ngspiceplot.pngbin0 -> 23147 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/ia/ia_pythonplot.pngbin0 -> 100096 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/ia/ia_schematic.pngbin0 -> 6689 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/ia/ia_sourcedetailstab.pngbin0 -> 45664 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/ia/ia_subcircuitstab.pngbin0 -> 32156 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/pr/pr_analysistab.pngbin0 -> 71117 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/pr/pr_devicemodelingtab.pngbin0 -> 46925 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/pr/pr_netlistgeneration.pngbin0 -> 39686 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/pr/pr_ngspiceplot.pngbin0 -> 26064 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/pr/pr_pythonplot.pngbin0 -> 98758 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/pr/pr_schematic.pngbin0 -> 7926 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/pr/pr_sourcedetailstab.pngbin0 -> 45600 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/pr/pr_subcircuitstab.pngbin0 -> 32181 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/rc/rc_analysistab.pngbin0 -> 71244 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/rc/rc_netlistgeneration.pngbin0 -> 39192 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/rc/rc_ngspiceplot.pngbin0 -> 22091 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/rc/rc_pythonplot.pngbin0 -> 78958 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/rc/rc_schematic.pngbin0 -> 7303 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/documentation/rc/rc_sourcedetailstab.pngbin0 -> 46035 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/drc.pngbin0 -> 70299 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/druleedit.pngbin0 -> 119647 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/drules.pngbin0 -> 134518 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/eeschema.pngbin0 -> 32647 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/eeschema1.pngbin0 -> 48576 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/eeschema1_corctd.pngbin0 -> 109951 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/eeschema1_mod.pngbin0 -> 151508 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/eeschema1_mod2.pngbin0 -> 121028 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/eeschema2.pngbin0 -> 9170 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/eeschema2_mod.pngbin0 -> 37422 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/eeschema3.pngbin0 -> 4956 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/eeschema3_mod.pngbin0 -> 31965 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/eeschema4.pngbin0 -> 1876 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/eeschema4_mod.pngbin0 -> 10749 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/erc1.pngbin0 -> 8784 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/ercgnd.pngbin0 -> 475 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/error.pngbin0 -> 18833 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/examples.pngbin0 -> 502912 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/export-subcircuit.pngbin0 -> 13231 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/extract.pngbin0 -> 48385 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/fe.pngbin0 -> 95999 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/field.pngbin0 -> 7790 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/footprint-c1.pngbin0 -> 25568 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/fplace.pngbin0 -> 3794 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/fulladder.pngbin0 -> 57386 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/fwdupdated_images_bjt.zipbin0 -> 186686 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/global.pngbin0 -> 459 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/ha_analysistab.pngbin0 -> 71465 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/ha_netlistgeneration.pngbin0 -> 40132 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/ha_ngspicemodeltab.pngbin0 -> 69988 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/ha_ngspiceplot.pngbin0 -> 21477 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/ha_pythonplot.pngbin0 -> 69447 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/ha_schematic.pngbin0 -> 9674 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/ha_sourcedetailstab.pngbin0 -> 85029 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/ha_subcircuitstab.pngbin0 -> 32988 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/half_adder.pngbin0 -> 58224 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/halfadderblock.pngbin0 -> 5710 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/halfschematic.pngbin0 -> 12363 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/hwr_analysistab.pngbin0 -> 71187 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/hwr_devicemodelingtab.pngbin0 -> 33588 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/hwr_netlistgeneration.pngbin0 -> 40743 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/hwr_ngspiceplot.pngbin0 -> 22902 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/hwr_pythonplot.pngbin0 -> 74453 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/hwr_schematic.pngbin0 -> 5751 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/hwr_sourcedetailstab.pngbin0 -> 45594 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/ia_analysistab.pngbin0 -> 71136 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/ia_netlistgeneration.pngbin0 -> 40152 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/ia_ngspiceplot.pngbin0 -> 23147 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/ia_pythonplot.pngbin0 -> 100096 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/ia_schematic.pngbin0 -> 6689 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/ia_sourcedetailstab.pngbin0 -> 45664 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/ia_subcircuitstab.pngbin0 -> 32156 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/iitblogo.pngbin0 -> 11623 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/import-0.pngbin0 -> 15301 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/import-mod.pngbin0 -> 11282 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/import-subckt.pngbin0 -> 13786 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/install0-short.jpgbin0 -> 63214 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/install0-short.pngbin0 -> 32058 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/install0-short.tiffbin0 -> 171300 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/install0.pngbin0 -> 71365 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/install3-short.jpgbin0 -> 120630 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/install3-short.pngbin0 -> 63242 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/install3-short.tiffbin0 -> 201070 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/install3.pngbin0 -> 109207 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/install4.pngbin0 -> 29389 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/install5.pngbin0 -> 43173 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/install6.pngbin0 -> 59575 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/install7.pngbin0 -> 108847 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/install9.pngbin0 -> 139453 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/installer1-short.jpgbin0 -> 90654 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/installer1-short.pngbin0 -> 46051 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/installer1-short.tiffbin0 -> 150478 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/installer1.pngbin0 -> 86854 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/layer.pngbin0 -> 123794 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/lib.pngbin0 -> 98706 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/libbrowse.pngbin0 -> 55659 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/logo-trimmed.pngbin0 -> 22169 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/logo-trimmed.tiffbin0 -> 115858 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/main-window.pngbin0 -> 49544 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/maingui.pngbin0 -> 80843 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/map.pngbin0 -> 33586 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/measspice.pngbin0 -> 52040 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/model-build-export.pngbin0 -> 15686 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/model-builder-diode.pngbin0 -> 17179 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/model-builder.pngbin0 -> 16429 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/model-change-field.pngbin0 -> 81080 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/model-edit-val-field.pngbin0 -> 10279 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/model-parameters.pngbin0 -> 22981 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/model.pngbin0 -> 45807 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/modeladd.pngbin0 -> 47401 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/modeledit.pngbin0 -> 77489 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/modeleditor.pngbin0 -> 25293 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/modeleditor_new.pngbin0 -> 58190 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/modelnew.pngbin0 -> 59583 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/modelremove.pngbin0 -> 37910 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/mosfet1.pngbin0 -> 7296 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/mosfet2.pngbin0 -> 26255 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/mosfet3.pngbin0 -> 28538 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/mosfet4.pngbin0 -> 107063 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/movep.pngbin0 -> 152157 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/net.pngbin0 -> 69205 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/netlist-converter.pngbin0 -> 19865 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/netlist-generation.pngbin0 -> 60618 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/netlist.pngbin0 -> 48349 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/netlistpcb.pngbin0 -> 31002 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/netlisttop.pngbin0 -> 1591 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/new-model-0.pngbin0 -> 16143 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/ngspice-simulation.pngbin0 -> 47321 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/ngspicemodel.pngbin0 -> 72896 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/ngspiceoutput.pngbin0 -> 18267 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/ngspicewindow.pngbin0 -> 144891 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/one.pngbin0 -> 26456 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/open-project-directory.pngbin0 -> 16359 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/openua741.pngbin0 -> 13121 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/output.pngbin0 -> 75976 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/pcb-rc.pngbin0 -> 77995 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/pcbed.pngbin0 -> 4479 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/pcbedges.pngbin0 -> 132328 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/pcbnew.pngbin0 -> 131838 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/pcbschfin.pngbin0 -> 4091 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/plot.pngbin0 -> 91770 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/plot2.pngbin0 -> 179803 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/powerlib.pngbin0 -> 60757 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/pr_analysistab.pngbin0 -> 71117 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/pr_devicemodelingtab.pngbin0 -> 46925 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/pr_netlistgeneration.pngbin0 -> 39686 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/pr_ngspiceplot.pngbin0 -> 26064 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/pr_pythonplot.pngbin0 -> 98758 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/pr_schematic.pngbin0 -> 7926 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/pr_sourcedetailstab.pngbin0 -> 45600 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/pr_subcircuitstab.pngbin0 -> 32181 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/print.pngbin0 -> 17763 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/project-name.pngbin0 -> 7414 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/pwrflag.pngbin0 -> 55036 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/pythonplot.pngbin0 -> 49818 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/pythonplot1.pngbin0 -> 99009 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/rc_analysistab.pngbin0 -> 71244 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/rc_netlistgeneration.pngbin0 -> 39192 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/rc_ngspiceplot.pngbin0 -> 22091 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/rc_pythonplot.pngbin0 -> 78958 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/rc_schematic.pngbin0 -> 7303 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/rc_sourcedetailstab.pngbin0 -> 46035 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/rcpcb.pngbin0 -> 116958 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/rotate.pngbin0 -> 914 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/run.pngbin0 -> 44597 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/schemRC.pngbin0 -> 3940 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/schematic-editor-existingprj.pngbin0 -> 47699 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/schematic-editor-newprj.pngbin0 -> 49488 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/schematic-error.pngbin0 -> 40304 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/schematic.pngbin0 -> 7608 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/schemfin.pngbin0 -> 6538 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/scilab-mode.pngbin0 -> 9616 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/scilab.pngbin0 -> 101756 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/scilabFig.pngbin0 -> 20323 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/scilabRC.pngbin0 -> 155806 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/screenshot1.pngbin0 -> 311395 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/select-SMCSim.pngbin0 -> 28930 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/select-mod-type.pngbin0 -> 25880 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/select-model.pngbin0 -> 18232 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/select-subckt.pngbin0 -> 9909 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/select.pngbin0 -> 100174 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/shortcut.pngbin0 -> 13847 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/simulation-op.pngbin0 -> 94563 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/sine.pngbin0 -> 22982 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/sm.pngbin0 -> 77524 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/sourcedetails.pngbin0 -> 45604 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/subcircuit-created.pngbin0 -> 14379 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/subcircuit-parameters.pngbin0 -> 56312 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/subcircuit.pngbin0 -> 53375 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/subcircuit_window.pngbin0 -> 20710 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/subcircuitscm.pngbin0 -> 25819 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/subcuircuit_new.pngbin0 -> 38992 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/success.pngbin0 -> 16090 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/tb_fe.pngbin0 -> 28815 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/tool-window.pngbin0 -> 27937 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/tools.pngbin0 -> 38987 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/tools2.pngbin0 -> 39024 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/toptble.pngbin0 -> 38292 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/track1.pngbin0 -> 3821 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/track2.pngbin0 -> 3709 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/track3.pngbin0 -> 3586 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/trans1.pngbin0 -> 92101 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/voltage-divider.pngbin0 -> 55201 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/warning.pngbin0 -> 21084 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/wire1.pngbin0 -> 5352 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/wirefin.pngbin0 -> 5597 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/workspace.pngbin0 -> 204842 bytes
-rw-r--r--src/browser/pages/User-Manual/figures/zoom.pngbin0 -> 6556 bytes
-rw-r--r--src/browser/pages/welcome.html2
-rwxr-xr-xsrc/frontEnd/Application.py2
-rw-r--r--src/frontEnd/DockArea.py28
324 files changed, 4346 insertions, 2 deletions
diff --git a/src/browser/UserManual.py b/src/browser/UserManual.py
new file mode 100644
index 00000000..fd0d94d9
--- /dev/null
+++ b/src/browser/UserManual.py
@@ -0,0 +1,20 @@
+from PyQt4 import QtGui,QtCore
+
+
+class UserManual(QtGui.QWidget):
+ """
+ This class creates Welcome page of eSim.
+ """
+ def __init__(self):
+ QtGui.QWidget.__init__(self)
+ self.vlayout = QtGui.QVBoxLayout()
+
+ self.browser = QtGui.QTextBrowser()
+ self.browser.setSource(QtCore.QUrl("../browser/pages/User-Manual/eSim.html"))
+ self.browser.setOpenExternalLinks(True)
+ #self.setSource(QtCore.QUrl("../browser/pages/welcome.html"))
+ #self.setOpenExternalLinks(True)
+
+ self.vlayout.addWidget(self.browser)
+ self.setLayout(self.vlayout)
+ self.show() \ No newline at end of file
diff --git a/src/browser/pages/User-Manual/eSim.html b/src/browser/pages/User-Manual/eSim.html
new file mode 100644
index 00000000..b98a4fa2
--- /dev/null
+++ b/src/browser/pages/User-Manual/eSim.html
@@ -0,0 +1,4296 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html >
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)">
+<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)">
+<!-- html -->
+<meta name="src" content="eSim.tex">
+<meta name="date" content="2015-07-31 15:26:00">
+<link rel="stylesheet" type="text/css" href="eSim.css">
+</head><body
+>
+
+<!--l. 62--><p class="indent" >
+
+<div class="center"
+>
+<!--l. 1--><p class="noindent" >
+<!--l. 2--><p class="noindent" ><span
+class="cmbx-12x-x-207">eSim</span><br /><br />
+<span
+class="cmbx-12x-x-144">An open source EDA tool for circuit design,</span>
+<span
+class="cmbx-12x-x-144">simulation, analysis and PCB design</span><br />
+
+<img
+src="figures/logo-trimmed.png" alt="PIC"
+>
+
+<img
+src="figures/iitblogo.png" alt="PIC"
+><br />
+Indian Institute of Technology Bombay<br />
+August 2015</div>
+<div class="center"
+>
+<!--l. 22--><p class="noindent" >
+<!--l. 23--><p class="noindent" >To<br />
+<span
+class="cmr-12">Mr. Narendra Kumar Sinha, IAS</span><br />
+<span
+class="cmr-12">An Electronics Engineer and a Bureaucrat,</span><br />
+<span
+class="cmr-12">Who dreamt of educating all Indians through NMEICT and</span><br />
+<span
+class="cmr-12">Who envisioned and made possible the Aakash Tablet </span></div>
+
+<!--l. 31--><p class="noindent" >
+
+
+<!--l. 66--><p class="indent" >
+
+ <h2 class="likechapterHead"><a
+ id="x1-1000"></a>Contents</h2> <div class="tableofcontents">
+ <span class="chapterToc" > <a
+href="#Q1-1-3">Preface </a></span>
+<br /> <span class="chapterToc" > <a
+href="#Q1-1-5">Acknowledgements </a></span>
+<br /> <span class="chapterToc" > <a
+href="#Q1-1-7">List of Acronyms </a></span>
+<br /> <span class="chapterToc" >1 <a
+href="#x1-50001" id="QQ2-1-8">Introduction</a></span>
+<br /> <span class="chapterToc" >2 <a
+href="#x1-60002" id="QQ2-1-9">Installing and Setting up eSim</a></span>
+<br /> <span class="chapterToc" >3 <a
+href="#x1-70003" id="QQ2-1-10">Architecture of eSim</a></span>
+<br /> &#x00A0;<span class="sectionToc" >3.1 <a
+href="#x1-80003.1" id="QQ2-1-11">Modules used in eSim</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >3.1.1 <a
+href="#x1-90003.1.1" id="QQ2-1-12">EEschema</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >3.1.2 <a
+href="#x1-100003.1.2" id="QQ2-1-13">CvPcb</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >3.1.3 <a
+href="#x1-110003.1.3" id="QQ2-1-14">Pcbnew</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >3.1.4 <a
+href="#x1-120003.1.4" id="QQ2-1-15">KiCad to Ngspice converter</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >3.1.5 <a
+href="#x1-180003.1.5" id="QQ2-1-21">Model Builder</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >3.1.6 <a
+href="#x1-190003.1.6" id="QQ2-1-22">Subcircuit Builder</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >3.1.7 <a
+href="#x1-200003.1.7" id="QQ2-1-23">KiCad to Ngspice netlist converter</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >3.1.8 <a
+href="#x1-210003.1.8" id="QQ2-1-24">Ngspice</a></span>
+<br /> &#x00A0;<span class="sectionToc" >3.2 <a
+href="#x1-220003.2" id="QQ2-1-25">Work flow of eSim</a></span>
+<br /> <span class="chapterToc" >4 <a
+href="#x1-230004" id="QQ2-1-27">Getting Started</a></span>
+<br /> &#x00A0;<span class="sectionToc" >4.1 <a
+href="#x1-240004.1" id="QQ2-1-28">eSim Main Window</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >4.1.1 <a
+href="#x1-250004.1.1" id="QQ2-1-29">Workspace</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >4.1.2 <a
+href="#x1-260004.1.2" id="QQ2-1-31">Main-GUI</a></span>
+<br /> <span class="chapterToc" >5 <a
+href="#x1-320005" id="QQ2-1-48">Schematic Creation</a></span>
+<br /> &#x00A0;<span class="sectionToc" >5.1 <a
+href="#x1-330005.1" id="QQ2-1-49">Familiarising the Schematic Editor interface</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.1.1 <a
+href="#x1-340005.1.1" id="QQ2-1-51">Top menu bar</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.1.2 <a
+href="#x1-350005.1.2" id="QQ2-1-53">Top toolbar</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.1.3 <a
+href="#x1-360005.1.3" id="QQ2-1-55">Toolbar on the right</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.1.4 <a
+href="#x1-370005.1.4" id="QQ2-1-57">Toolbar on the left</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.1.5 <a
+href="#x1-380005.1.5" id="QQ2-1-59">Hotkeys</a></span>
+<br /> &#x00A0;<span class="sectionToc" >5.2 <a
+href="#x1-390005.2" id="QQ2-1-60">Schematic creation for simulation</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.2.1 <a
+href="#x1-400005.2.1" id="QQ2-1-62">Selection and placement of components</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.2.2 <a
+href="#x1-410005.2.2" id="QQ2-1-66">Wiring the circuit</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.2.3 <a
+href="#x1-420005.2.3" id="QQ2-1-68">Assigning values to components</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.2.4 <a
+href="#x1-430005.2.4" id="QQ2-1-70">Annotation and ERC</a></span>
+
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >5.2.5 <a
+href="#x1-440005.2.5" id="QQ2-1-74">Netlist generation</a></span>
+<br /> <span class="chapterToc" >6 <a
+href="#x1-450006" id="QQ2-1-76">Simulation</a></span>
+<br /> &#x00A0;<span class="sectionToc" >6.1 <a
+href="#x1-460006.1" id="QQ2-1-77">Analysis Inserter</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >6.1.1 <a
+href="#x1-470006.1.1" id="QQ2-1-79">Types of analysis</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >6.1.2 <a
+href="#x1-510006.1.2" id="QQ2-1-83">DC analysis inserter</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >6.1.3 <a
+href="#x1-520006.1.3" id="QQ2-1-85">AC analysis inserter</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >6.1.4 <a
+href="#x1-530006.1.4" id="QQ2-1-87">Transient analysis inserter</a></span>
+<br /> &#x00A0;<span class="sectionToc" >6.2 <a
+href="#x1-540006.2" id="QQ2-1-89">Adding Source Details</a></span>
+<br /> &#x00A0;<span class="sectionToc" >6.3 <a
+href="#x1-550006.3" id="QQ2-1-92">Adding Ngspice Model</a></span>
+<br /> &#x00A0;<span class="sectionToc" >6.4 <a
+href="#x1-560006.4" id="QQ2-1-93">Adding Device Model Library</a></span>
+<br /> &#x00A0;<span class="sectionToc" >6.5 <a
+href="#x1-570006.5" id="QQ2-1-96">Adding Sub Circuit</a></span>
+<br /> &#x00A0;<span class="sectionToc" >6.6 <a
+href="#x1-580006.6" id="QQ2-1-97">Kicad to Ngspice Conversion</a></span>
+<br /> &#x00A0;<span class="sectionToc" >6.7 <a
+href="#x1-590006.7" id="QQ2-1-99">Simulation</a></span>
+<br /> <span class="chapterToc" >7 <a
+href="#x1-600007" id="QQ2-1-104">PCB Design</a></span>
+<br /> &#x00A0;<span class="sectionToc" >7.1 <a
+href="#x1-610007.1" id="QQ2-1-105">Schematic creation for PCB design</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >7.1.1 <a
+href="#x1-620007.1.1" id="QQ2-1-107">Netlist generation for PCB</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >7.1.2 <a
+href="#x1-630007.1.2" id="QQ2-1-109">Mapping of components using Footprint Editor</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >7.1.3 <a
+href="#x1-640007.1.3" id="QQ2-1-110">Familiarising the Footprint Editor tool</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >7.1.4 <a
+href="#x1-660007.1.4" id="QQ2-1-114">Viewing footprints in 2D and 3D</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >7.1.5 <a
+href="#x1-670007.1.5" id="QQ2-1-118">Mapping of components in the RC circuit</a></span>
+<br /> &#x00A0;<span class="sectionToc" >7.2 <a
+href="#x1-680007.2" id="QQ2-1-120">Creation of PCB layout</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >7.2.1 <a
+href="#x1-690007.2.1" id="QQ2-1-121">Familiarising the Layout Editor tool</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >7.2.2 <a
+href="#x1-710007.2.2" id="QQ2-1-125">Hotkeys</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >7.2.3 <a
+href="#x1-720007.2.3" id="QQ2-1-126">PCB design example using RC circuit</a></span>
+<br /> <span class="chapterToc" >8 <a
+href="#x1-730008" id="QQ2-1-141">Model Editor</a></span>
+<br /> &#x00A0;<span class="sectionToc" >8.1 <a
+href="#x1-740008.1" id="QQ2-1-143">Creating New Model Library </a></span>
+<br /> &#x00A0;<span class="sectionToc" >8.2 <a
+href="#x1-750008.2" id="QQ2-1-148">Editing Current Model Library</a></span>
+<br /> &#x00A0;<span class="sectionToc" >8.3 <a
+href="#x1-760008.3" id="QQ2-1-150">Converting Library file to XML file</a></span>
+<br /> <span class="chapterToc" >9 <a
+href="#x1-770009" id="QQ2-1-151">Sub-Circuit Builder</a></span>
+<br /> &#x00A0;<span class="sectionToc" >9.1 <a
+href="#x1-780009.1" id="QQ2-1-153">Creating a Sub-Circuit</a></span>
+<br /> <span class="appendixToc" >A <a
+href="#x1-79000A" id="QQ2-1-156">Solved Examples</a></span>
+<br /> &#x00A0;<span class="sectionToc" >A.1 <a
+href="#x1-80000A.1" id="QQ2-1-157">Solved Examples</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >A.1.1 <a
+href="#x1-81000A.1.1" id="QQ2-1-158">Basic RC Circuit</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >A.1.2 <a
+href="#x1-84000A.1.2" id="QQ2-1-167">Half Wave Rectifier</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >A.1.3 <a
+href="#x1-87000A.1.3" id="QQ2-1-177">Inverting Amplifier</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >A.1.4 <a
+href="#x1-90000A.1.4" id="QQ2-1-187">Precision Rectifier</a></span>
+<br /> &#x00A0;&#x00A0;<span class="subsectionToc" >A.1.5 <a
+href="#x1-93000A.1.5" id="QQ2-1-198">Half Adder Example</a></span>
+ </div>
+
+ <h2 class="likechapterHead"><a
+ id="x1-2000"></a>Preface</h2> <a
+ id="Q1-1-3"></a>
+<!--l. 5--><p class="noindent" >eSim was formerlly known as freeEDA/Oscad. Seeds for eSim were sown when the National
+Mission on Education through ICT (NMEICT) was launched: the mission document identified
+<span
+class="cmti-10x-x-109">Adaption &amp; deployment of open source simulation packages equivalent to Matlab,</span>
+<span
+class="cmti-10x-x-109">OrCAD, etc.</span>, as one of the areas NMEICT would concentrate on. The FOSSEE
+(free and open source software in science and engineering education) group at IIT
+Bombay, of which we are a part of, initially started working on Python and Scilab. The
+Standing Committee of NMEICT encouraged us to contribute to other open source
+software as well. This push helped us develop eSim, an open source alternative to
+OrCAD.
+<!--l. 18--><p class="indent" > eSim is an electronic design automation (EDA) tool, developed using KiCad and Ngspice.
+We have made the netlist files generated by KiCad suitable for simulation through
+Ngspice. In order to provide an explanation facility, we have developed a method to
+automatically generate differential equations that describe a given analog circuit.
+Once satisfied with simulation results, the user can create a Gerber file for PCB
+fabrication.
+<!--l. 24--><p class="indent" > The FOSSEE team has also created more than 160 Scilab Textbook Companions,
+each of which contains Scilab code for worked out examples of standard textbooks,
+mostly in engineering and science. These have been created by the students and
+professors from various educational institutions in India. These textbooks can be
+downloaded free of cost from <span class="cite">&#x00A0;[<span
+class="cmbx-10x-x-109">?</span>]</span>. They can also be executed remotely on GARUDA cloud
+<span class="cite">&#x00A0;[<span
+class="cmbx-10x-x-109">?</span>]</span>.
+<!--l. 32--><p class="indent" > We are embarking on a similar methodology for eSim as well: we have solved most of the
+worked out examples of <span class="cite">&#x00A0;[<span
+class="cmbx-10x-x-109">?</span>]</span> and given the solution in Appendix&#x00A0;<a
+href="#x1-79000A">A<!--tex4ht:ref: ch:appen --></a>. We hope to create eSim
+Textbook Companions for all other relevant standard textbooks as well in the near future,
+once again through students and other volunteers.
+<!--l. 38--><p class="indent" > Solving the worked out examples of <span class="cite">&#x00A0;[<span
+class="cmbx-10x-x-109">?</span>]</span> was a good exercise, as it helped identify and
+include some missing features. The yet to be created eSim Textbook Companions
+are expected to help in this regard, while simultaneously increasing the available
+documentation.
+<!--l. 44--><p class="indent" > Lab migration is another important activity that the FOSSEE team is involved in. It
+provides equivalent Scilab code for Matlab based labs. This is also carried out through
+students and volunteers. We are starting this activity for eSim as well: we will try to provide
+
+equivalent eSim based solution to all circuit design labs that currently use proprietary
+software.
+<!--l. 51--><p class="indent" > Another important project supported by NMEICT is the Teach 10,000 Teachers (T10KT)
+programme. This methodology, pioneered at IIT Bombay <span class="cite">&#x00A0;[<span
+class="cmbx-10x-x-109">?</span>,&#x00A0;<span
+class="cmbx-10x-x-109">?</span>]</span> has demonstrated that it is
+possible for the best people in the field to provide extremely high quality training
+to a large number of learners simultaneously. eSim is expected to be used in the
+forthcoming T10KT course on Analog Electronics, organised by IIT Kharagpur
+<span class="cite">&#x00A0;[<span
+class="cmbx-10x-x-109">?</span>]</span>.
+<!--l. 60--><p class="indent" > We invite all EDA enthusiasts to work with us through the following resources:
+<a
+ id="x1-2001r1"></a>1.&#x00A0;URL for all FOSSEE activities: http://fossee.in <a
+ id="x1-2002r2"></a>2.&#x00A0;URL for all eSim resources:
+http://oscad.in <a
+ id="x1-2003r3"></a>3.&#x00A0;Textbook companion: textbook-companion@oscad.in <a
+ id="x1-2004r4"></a>4.&#x00A0;Lab migration:
+lab-migration@oscad.in <a
+ id="x1-2005r5"></a>5.&#x00A0;SELF workshops: SELF-workshop@oscad.in <a
+ id="x1-2006r6"></a>6.&#x00A0;eSim
+development and enhancing its capabilities: Oscad-dev@oscad.in <a
+ id="x1-2007r7"></a>7.&#x00A0;Feedback on this book:
+Oscad-textbook@oscad.in.
+We also hope to establish forum based discussion services for eSim.
+<!--l. 75--><p class="indent" > Finally, an electronic version of this book is available for noncommercial purposes at
+http://oscad.in.
+
+ <h3 class="likesectionHead"><a
+ id="x1-3000"></a>Acknowledgements</h3>
+<a
+ id="Q1-1-5"></a>
+<!--l. 81--><p class="noindent" >We would first like to thank Mr. N. K. Sinha, IAS, for without him, there would
+have been no National Mission on Education through ICT (NMEICT), without
+which, there would have been no FOSSEE, without which, there would have been
+no eSim. The idealistic guiding principles of NMEICT, namely, reliance on open
+source software, providing free access to e-content and Internet connectivity for all
+educational institutions, egged us to contribute our best and one of the outcomes is
+eSim.
+<!--l. 90--><p class="indent" > We would like to thank the former Human Resource Development Minister (HRM) Mr.
+Arjun Singh for getting NMEICT started. We would like to acknowledge the former HRM Mr.
+Kapil Sibal for his unstinting support and the faith he had in the NMEICT administration
+team. We would like to thank the current HRM Dr. Pallam Raju for extending the tenure of
+NMEICT by five more years.
+<!--l. 97--><p class="indent" > We want to thank the Members of the Standing Committee of NMEICT who met once in
+two weeks for almost two years to review project proposals and to recommend them for
+funding or giving suggestions for improvement. We also want to thank them for urging us to
+work on more FOSS systems than what we were prepared for. Without this kind of active
+support, the ecosystem required for projects like eSim to flourish, established at IIT
+Bombay through the many projects funded through NMEICT, would not have
+materialised.
+<!--l. 106--><p class="indent" > We want to thank the FOSSEE faculty members Profs. Prabhu Ramachandran, Madhu
+Belur, Mani Bhushan, Shiva Gopalakrishnan, Jayendran Venkateswaran, Ashutosh
+Mahajan and Supratik Chakraborty for establishing a vibrant FOSSEE group at
+IIT Bombay. We want to thank Prof. D. B. Phatak for being a constant source
+of inspiration and encouragement and for supporting our activities. We want to
+thank other faculty members with NMEICT projects at IIT Bombay, namely, Profs.
+Kavi Arya, Ravi Poovaiah, Santosh Noronha, Anil Kulkarni, Sridhar Iyer, Sahana
+Murthy and Shishir Jha for sharing their dreams, processes and facilities. We want to
+thank the staff members of all NMEICT projects at IIT Bombay in general and of
+FOSSEE and Spoken Tutorial projects in particular, for providing a wonderful work
+environment.
+<!--l. 119--><p class="indent" > We want to thank the IIT Bombay administration in general and R&amp;D office in particular
+for providing us with an excellent environment to make us work efficiently. We want to thank
+the researchers and faculty members in our departments for providing us with necessary space
+and for putting up with our tantrums.
+<!--l. 125--><p class="indent" > We would like to thank the professors, staff and students affiliated with the Wadhwani
+Electronics lab at IIT Bombay for trying out eSim in lab courses and for the useful
+suggestions. We would like to thank Abhishek Pawar for creating Spoken Tutorials on KiCad.
+We would like to thank Saket Choudhary for making the netlist files generated by KiCad
+
+compatible with Ngspice.<br
+class="newline" />
+<div class="center"
+>
+<!--l. 134--><p class="noindent" >
+<div class="tabular"> <table id="TBL-1" class="tabular"
+cellspacing="0" cellpadding="0"
+><colgroup id="TBL-1-1g"><col
+id="TBL-1-1"><col
+id="TBL-1-2"><col
+id="TBL-1-3"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-1-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-1-1-1"
+class="td11"></td><td style="white-space:nowrap; text-align:center;" id="TBL-1-1-2"
+class="td11">Kannan M. Moudgalya</td>
+</tr><tr
+class="vspace" style="font-size:14.22636pt"><td
+>&nbsp;</td><td
+>&nbsp;</td><td
+>&nbsp;</td></tr><tr
+ style="vertical-align:baseline;" id="TBL-1-2-"><td style="white-space:nowrap; text-align:center;" id="TBL-1-2-1"
+class="td11"> </td><td style="white-space:nowrap; text-align:center;" id="TBL-1-2-2"
+class="td11"> IIT Bombay </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-1-3-"><td style="white-space:nowrap; text-align:center;" id="TBL-1-3-1"
+class="td11"> </td><td style="white-space:nowrap; text-align:center;" id="TBL-1-3-2"
+class="td11"> 22 August 2015 </td></tr></table>
+</div></div>
+
+ <h3 class="likesectionHead"><a
+ id="x1-4000"></a>List of Acronyms</h3>
+<a
+ id="Q1-1-7"></a>
+ <div class="tabular"> <table id="TBL-2" class="tabular"
+cellspacing="0" cellpadding="0"
+><colgroup id="TBL-2-1g"><col
+id="TBL-2-1"><col
+id="TBL-2-2"></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-2-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-1-1"
+class="td11"> </td></tr><tr
+ style="vertical-align:baseline;" id="TBL-2-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-2-1"
+class="td11">ADC</td><td style="white-space:wrap; text-align:left;" id="TBL-2-2-2"
+class="td11"><!--l. 4--><p class="noindent" >Analog to Digital Converter </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-3-1"
+class="td11">BJT </td><td style="white-space:wrap; text-align:left;" id="TBL-2-3-2"
+class="td11"><!--l. 5--><p class="noindent" >Bipolar Junction Transistor </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-4-1"
+class="td11">BV </td><td style="white-space:wrap; text-align:left;" id="TBL-2-4-2"
+class="td11"><!--l. 6--><p class="noindent" >Breakdown Voltage </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-5-1"
+class="td11">CCCS </td><td style="white-space:wrap; text-align:left;" id="TBL-2-5-2"
+class="td11"><!--l. 7--><p class="noindent" >Current Controlled Current Source </td></tr><tr
+ style="vertical-align:baseline;" id="TBL-2-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-6-1"
+class="td11">CCVS </td> <td style="white-space:wrap; text-align:left;" id="TBL-2-6-2"
+class="td11"><!--l. 8--><p class="noindent" >Current Controlled Voltage Source</td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-7-1"
+class="td11">CPU </td><td style="white-space:wrap; text-align:left;" id="TBL-2-7-2"
+class="td11"><!--l. 9--><p class="noindent" >Central Processing Unit </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-8-1"
+class="td11">DAC </td><td style="white-space:wrap; text-align:left;" id="TBL-2-8-2"
+class="td11"><!--l. 10--><p class="noindent" >Digital to Analog Converter </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-9-1"
+class="td11">DRC </td><td style="white-space:wrap; text-align:left;" id="TBL-2-9-2"
+class="td11"><!--l. 11--><p class="noindent" >Design Rules Check </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-10-1"
+class="td11">DXF </td><td style="white-space:wrap; text-align:left;" id="TBL-2-10-2"
+class="td11"><!--l. 12--><p class="noindent" >Drawing Interchange Format or Drawing Exchange Format </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-11-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-11-1"
+class="td11">EDA </td><td style="white-space:wrap; text-align:left;" id="TBL-2-11-2"
+class="td11"><!--l. 13--><p class="noindent" >Electronic Design Automation </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-12-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-12-1"
+class="td11">ERC </td><td style="white-space:wrap; text-align:left;" id="TBL-2-12-2"
+class="td11"><!--l. 14--><p class="noindent" >Electric Rules Check </td></tr><tr
+ style="vertical-align:baseline;" id="TBL-2-13-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-13-1"
+class="td11">FOSS </td> <td style="white-space:wrap; text-align:left;" id="TBL-2-13-2"
+class="td11"><!--l. 15--><p class="noindent" >Free and Open Source Software</td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-14-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-14-1"
+class="td11">FPGA </td><td style="white-space:wrap; text-align:left;" id="TBL-2-14-2"
+class="td11"><!--l. 16--><p class="noindent" >Field Programmable Gate Array </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-15-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-15-1"
+class="td11">gEDA </td><td style="white-space:wrap; text-align:left;" id="TBL-2-15-2"
+class="td11"><!--l. 17--><p class="noindent" >Electronic Design Automation released under GPL </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-16-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-16-1"
+class="td11">GUI </td><td style="white-space:wrap; text-align:left;" id="TBL-2-16-2"
+class="td11"><!--l. 18--><p class="noindent" >Graphical User Interface </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-17-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-17-1"
+class="td11">HDL </td><td style="white-space:wrap; text-align:left;" id="TBL-2-17-2"
+class="td11"><!--l. 19--><p class="noindent" >Hardware Descrition Language </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-18-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-18-1"
+class="td11">HPGL </td><td style="white-space:wrap; text-align:left;" id="TBL-2-18-2"
+class="td11"><!--l. 20--><p class="noindent" >Hewlett-Packard Graphics Language </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-19-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-19-1"
+class="td11">IC </td><td style="white-space:wrap; text-align:left;" id="TBL-2-19-2"
+class="td11"><!--l. 21--><p class="noindent" >Integrated Circuit </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-20-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-20-1"
+class="td11">ICT </td><td style="white-space:wrap; text-align:left;" id="TBL-2-20-2"
+class="td11"><!--l. 22--><p class="noindent" >Information and Communication Technology </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-21-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-21-1"
+class="td11">IGBT </td><td style="white-space:wrap; text-align:left;" id="TBL-2-21-2"
+class="td11"><!--l. 23--><p class="noindent" >Insulated Gate Bipolar Transistor </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-22-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-22-1"
+class="td11">JFET </td><td style="white-space:wrap; text-align:left;" id="TBL-2-22-2"
+class="td11"><!--l. 24--><p class="noindent" >Junction Field Effect Transistor </td></tr><tr
+ style="vertical-align:baseline;" id="TBL-2-23-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-23-1"
+class="td11">KCE </td> <td style="white-space:wrap; text-align:left;" id="TBL-2-23-2"
+class="td11"><!--l. 25--><p class="noindent" >Kirchoff&#8217;s Current Law</td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-24-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-24-1"
+class="td11">KVE </td><td style="white-space:wrap; text-align:left;" id="TBL-2-24-2"
+class="td11"><!--l. 26--><p class="noindent" >Kirchoff&#8217;s Voltage Law </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-25-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-25-1"
+class="td11">LXDE </td><td style="white-space:wrap; text-align:left;" id="TBL-2-25-2"
+class="td11"><!--l. 27--><p class="noindent" >Lightweight X11 Desktop Environment </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-26-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-26-1"
+class="td11">MNA </td><td style="white-space:wrap; text-align:left;" id="TBL-2-26-2"
+class="td11"><!--l. 28--><p class="noindent" >Modified Nodal Analysis </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-27-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-27-1"
+class="td11">MOSFET</td><td style="white-space:wrap; text-align:left;" id="TBL-2-27-2"
+class="td11"><!--l. 29--><p class="noindent" >Metal Oxide Semiconductor Field Effect Transistor </td></tr><tr
+ style="vertical-align:baseline;" id="TBL-2-28-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-28-1"
+class="td11">NMEICT </td> <td style="white-space:wrap; text-align:left;" id="TBL-2-28-2"
+class="td11"><!--l. 30--><p class="noindent" >National Mission on Education through ICT</td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-29-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-29-1"
+class="td11">Op-amp </td><td style="white-space:wrap; text-align:left;" id="TBL-2-29-2"
+class="td11"><!--l. 31--><p class="noindent" >Operational Amplifier </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-30-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-30-1"
+class="td11">OTC </td><td style="white-space:wrap; text-align:left;" id="TBL-2-30-2"
+class="td11"><!--l. 32--><p class="noindent" >Oscad Textbook Companion </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-31-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-31-1"
+class="td11">PCB </td><td style="white-space:wrap; text-align:left;" id="TBL-2-31-2"
+class="td11"><!--l. 33--><p class="noindent" >Printed Circuit Board </td></tr><tr
+ style="vertical-align:baseline;" id="TBL-2-32-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-32-1"
+class="td11">RS </td> <td style="white-space:wrap; text-align:left;" id="TBL-2-32-2"
+class="td11"><!--l. 34--><p class="noindent" >Ohmic Resistance</td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-33-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-33-1"
+class="td11">SELF </td><td style="white-space:wrap; text-align:left;" id="TBL-2-33-2"
+class="td11"><!--l. 35--><p class="noindent" >Spoken Tutorial based Education and Learning through Free
+FOSS study </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-34-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-34-1"
+class="td11">SMCSim </td><td style="white-space:wrap; text-align:left;" id="TBL-2-34-2"
+class="td11"><!--l. 36--><p class="noindent" >Scilab based Mini Circuit Simulator </td></tr><tr
+ style="vertical-align:baseline;" id="TBL-2-35-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-35-1"
+class="td11">SVF </td> <td style="white-space:wrap; text-align:left;" id="TBL-2-35-2"
+class="td11"><!--l. 37--><p class="noindent" >Serial Vector Format</td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-36-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-36-1"
+class="td11">T10KT </td><td style="white-space:wrap; text-align:left;" id="TBL-2-36-2"
+class="td11"><!--l. 38--><p class="noindent" >Teach 10,000 Teachers </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-37-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-37-1"
+class="td11">VCCS </td><td style="white-space:wrap; text-align:left;" id="TBL-2-37-2"
+class="td11"><!--l. 39--><p class="noindent" >Voltage Controlled Current Source </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-38-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-38-1"
+class="td11">VCVS </td><td style="white-space:wrap; text-align:left;" id="TBL-2-38-2"
+class="td11"><!--l. 40--><p class="noindent" >Voltage Controlled Voltage source </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-2-39-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-39-1"
+class="td11"> </td> </tr></table></div>
+
+<!--l. 73--><p class="indent" >
+
+
+<!--l. 8--><p class="indent" >
+
+ <h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;1</span><br /><a
+ id="x1-50001"></a>Introduction</h2> Electronic systems are an integral part of human life. They have
+simplified our lives to a great extent. Starting from small systems made of a few
+discrete components to the present day integrated circuits (ICs) with millions of
+logic gates, electronic systems have undergone a sea change. As a result, design of
+electronic systems too have become extremely difficult and time consuming. Thanks to
+a host of computer aided design tools, we have been able to come up with quick
+and efficient designs. These are called <span
+class="cmtt-10x-x-109">Electronic Design Automation </span>or <span
+class="cmtt-10x-x-109">EDA</span>
+<a
+ id="dx1-5001"></a>tools.
+<!--l. 20--><p class="noindent" >Let us see the steps involved in EDA.<a
+ id="dx1-5002"></a> In the first stage, the specifications of the system are
+laid out. These specifications are then converted to a design. The design could be in
+the form of a circuit schematic, logical description using an HDL language, etc.
+The design is then simulated and re-designed, if needed, to achieve the desired
+results. Once simulation achieves the specifications, the design is either converted to
+a PCB, a chip layout, or ported to an FPGA. The final product is again tested
+for specifications. The whole cycle is repeated until desired results are obtained
+<span class="cite">&#x00A0;[<span
+class="cmbx-10x-x-109">?</span>]</span>.
+<!--l. 31--><p class="indent" > A person who builds an electronic system has to first design the circuit, produce a virtual
+representation of it through a schematic for easy comprehension, simulate it and finally
+convert it into a Printed Circuit Board (PCB). <a
+ id="dx1-5003"></a>There are various tools available that help do
+this. Some of the popular EDA tools are those of <span
+class="cmtt-10x-x-109">Cadence</span>, <span
+class="cmtt-10x-x-109">Synopys</span>, <span
+class="cmtt-10x-x-109">Mentor Graphics </span>and
+<span
+class="cmtt-10x-x-109">Xilinx</span>. Although these are fairly comprehensive and high end, their licences are expensive,
+being proprietary.
+<!--l. 40--><p class="indent" > There are some free and open source EDA tools like <span
+class="cmtt-10x-x-109">gEDA</span>, <span
+class="cmtt-10x-x-109">KiCad </span>and <span
+class="cmtt-10x-x-109">Ngspice</span>. The main
+drawback of these open source tools is that they are not comprehensive. Some of them are
+capable of PCB design (e.g. <span
+class="cmtt-10x-x-109">KiCad</span>) while some of them are capable of performing simulations
+(e.g. <span
+class="cmtt-10x-x-109">gEDA</span>). To the best of our knowledge, there is no open source software that can perform
+circuit design, simulation and layout design together. eSim is capable of doing all of the
+above.
+<!--l. 49--><p class="indent" > eSim is a free and open source EDA tool. It is an acronym for <span
+class="cmbx-10x-x-109">O</span>pen <span
+class="cmbx-10x-x-109">s</span>ource <span
+class="cmbx-10x-x-109">c</span>omputer
+<span
+class="cmbx-10x-x-109">a</span>ided <span
+class="cmbx-10x-x-109">d</span>esign. eSim is created using open source software packages, such as KiCad, Ngspice,
+Scilab and Python. <a
+ id="dx1-5004"></a><a
+ id="dx1-5005"></a> <a
+ id="dx1-5006"></a><a
+ id="dx1-5007"></a> Using eSim, one can create circuit schematics, perform simulations
+and design PCB layouts. It can create or edit new device models, and create or
+edit subcircuits for simulation. It also has a Scilab based Mini Circuit Simulator
+(SMCSim), <a
+ id="dx1-5008"></a>which is capable of giving the circuit equations for each simulation
+step. This feature is unique to eSim. Because of these reasons, eSim is expected to
+be useful to students, teachers and other professionals who would want to study
+and/or design electronic systems. eSim is also useful for entrepreneurs and small scale
+enterprises who do not have the capability to invest in heavily priced proprietary
+tools.
+<!--l. 66--><p class="indent" > This book introduces eSim to the reader and illustrates all the features of eSim with
+examples. Chapter&#x00A0;<span
+class="cmbx-10x-x-109">??</span> gives step by step instructions to install eSim on a typical computer
+
+system and to validate the installation. The software architecture of eSim is presented in
+Chapter&#x00A0;<a
+href="#x1-70003">3<!--tex4ht:ref: chap3 --></a>. Chapter&#x00A0;<a
+href="#x1-230004">4<!--tex4ht:ref: chap4 --></a> gets the user started with eSim. It takes them through a tour of eSim
+with the help of a simple RC circuit example. Chapter&#x00A0;<a
+href="#x1-320005">5<!--tex4ht:ref: chap5 --></a> explains how to create circuit
+schematics using eSim, in detail using examples. Chapter&#x00A0;<a
+href="#x1-450006">6<!--tex4ht:ref: chap6 --></a> illustrates how to simulate
+circuits using eSim. Chapter&#x00A0;<a
+href="#x1-600007">7<!--tex4ht:ref: chap7 --></a> explains PCB design using eSim, in detail. The advanced
+features of eSim such as Model Builder covered in Chapter&#x00A0;<span
+class="cmbx-10x-x-109">??</span> and Sub circuiting is
+covered in Chapter&#x00A0;<span
+class="cmbx-10x-x-109">??</span>. Appendix&#x00A0;<a
+href="#x1-79000A">A<!--tex4ht:ref: ch:appen --></a> presents examples, that have been worked
+out using eSim, from the book <span
+class="cmtt-10x-x-109">Microelectronic Circuits </span>by Sedra and Smith
+<span class="cite">&#x00A0;[<span
+class="cmbx-10x-x-109">?</span>]</span>. Appendix&#x00A0;<span
+class="cmbx-10x-x-109">??</span> explains the resources available for the use and promotion of
+eSim.
+<!--l. 79--><p class="indent" > The following convention has been adopted throughout this book. All the menu names,
+options under each menu item, tool names, certain points to be noted, etc., are given in
+<span
+class="cmti-10x-x-109">italics</span>. Some keywords, names of certain windows/dialog boxes, names of some
+files/projects/folders, messages displayed during an activity, names of websites, component
+references, etc., are given in <span
+class="cmtt-10x-x-109">typewriter </span>font. Some key presses, e.g. <span
+class="cmtt-10x-x-109">Enter </span>key, <span
+class="cmtt-10x-x-109">F1 </span>key, <span
+class="cmtt-10x-x-109">y </span>for
+yes, etc., are also mentioned in <span
+class="cmtt-10x-x-109">typewriter </span>font.
+
+ <h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;2</span><br /><a
+ id="x1-60002"></a>Installing and Setting up eSim</h2>
+
+<!--l. 2--><p class="indent" >
+
+ <h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;3</span><br /><a
+ id="x1-70003"></a>Architecture of eSim</h2>
+<!--l. 6--><p class="noindent" >eSim is a CAD <a
+ id="dx1-7001"></a>tool that helps electronic system designers to design, test and analyse their
+circuits. But the important feature of this tool is that it is open source and hence the user can
+modify the source as per his/her need. The software provides a generic, modular and
+extensible platform for experiment with electronic circuits. This software runs on all
+Ubuntu Linux distributions. It uses <span
+class="cmtt-10x-x-109">Python</span>, <span
+class="cmtt-10x-x-109">KiCad</span>, <span
+class="cmtt-10x-x-109">Ngspice </span>and <span
+class="cmtt-10x-x-109">Scilab </span>(5.4.0 or
+above).
+<!--l. 15--><p class="indent" > The objective behind the development of eSim is to provide an open source EDA solution
+for electronics and electrical engineers. The software should be capable of performing
+schematic creation, PCB design and circuit simulation (analog, digital and mixed signal). It
+should provide facilities to create new models and components. In addition to this, it should
+have the capability to explain the circuit by giving symbolic equations and numerical
+values. The architecture of eSim has been designed by keeping these objectives in
+mind.
+ <h3 class="sectionHead"><span class="titlemark">3.1 </span> <a
+ id="x1-80003.1"></a>Modules used in eSim</h3>
+<!--l. 25--><p class="noindent" >Various open-source tools have been used for the underlying build-up of eSim. In this section
+we will give a brief idea about all the modules used in eSim.
+<!--l. 27--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">3.1.1 </span> <a
+ id="x1-90003.1.1"></a>EEschema</h4>
+<a
+ id="dx1-9001"></a>
+<a
+ id="dx1-9002"></a>
+<!--l. 28--><p class="noindent" >EEschema is an integrated software where all functions of circuit drawing, control, layout,
+library management and access to the PCB design software are carried out within itself. It is
+the schematic editor tool used in KiCad <span class="cite">&#x00A0;[<span
+class="cmbx-10x-x-109">?</span>]</span>. EEschema is intended to work with PCB layout
+software such as Pcbnew. It provides netlist that describes the electrical connections of the
+PCB. EEschema also integrates a component editor which allows the creation, editing and
+visualisation of components. It also allows the user to effectively handle the symbol
+libraries i.e; import, export, addition and deletion of library components. EEschema
+also integrates the following additional but essential functions needed for a modern
+schematic capture software: <a
+ id="x1-9003r1"></a>1.&#x00A0;Design rules check <a
+ id="dx1-9004"></a>(<span
+class="cmtt-10x-x-109">DRC</span>) for the automatic control of
+incorrect connections and inputs of components left unconnected. <a
+ id="x1-9005r2"></a>2.&#x00A0;Generation of
+layout files in <span
+class="cmtt-10x-x-109">POSTSCRIPT</span> <a
+ id="dx1-9006"></a>or <span
+class="cmtt-10x-x-109">HPGL</span> <a
+ id="dx1-9007"></a>format. <a
+ id="x1-9008r3"></a>3.&#x00A0;Generation of layout files printable via
+printer. <a
+ id="x1-9009r4"></a>4.&#x00A0;Bill of material generation. <a
+ id="x1-9010r5"></a>5.&#x00A0;Netlist generation for PCB layout or for
+simulation.
+This module is indicated by the label 1 in Fig.&#x00A0;<a
+href="#x1-220011">3.1<!--tex4ht:ref: blockd --></a>.
+<!--l. 49--><p class="indent" > As Eeschema is originally intended for PCB Design, there are no fictitious
+
+components<span class="footnote-mark"><a
+href="eSim2.html#fn1x3"><sup class="textsuperscript">1</sup></a></span><a
+ id="x1-9011f1"></a>
+such as voltage or current sources. Thus, we have added a new library for different types of
+voltage and current sources such as sine, pulse and square wave. We have also built a library
+which gives printing and plotting solutions. This extension, developed by us for eSim, is
+indicated by the label 2 in Fig.&#x00A0;<a
+href="#x1-220011">3.1<!--tex4ht:ref: blockd --></a>.
+ <h4 class="subsectionHead"><span class="titlemark">3.1.2 </span> <a
+ id="x1-100003.1.2"></a>CvPcb</h4>
+<a
+ id="dx1-10001"></a>
+<!--l. 62--><p class="noindent" >CvPcb is a tool that allows the user to associate components in the schematic to component
+footprints when designing the printed circuit board. CvPcb is the footprint editor tool in
+KiCad <span class="cite">&#x00A0;[<span
+class="cmbx-10x-x-109">?</span>]</span>. Typically the netlist file generated by EEschema does not specify which printed
+circuit board footprint is associated with each component in the schematic. However, this is
+not always the case as component footprints can be associated during schematic capture by
+setting the component&#8217;s footprint field. CvPcb provides a convenient method of associating
+footprints to components. It provides footprint list filtering, footprint viewing, and 3D
+component model viewing to help ensure that the correct footprint is associated with each
+component. Components can be assigned to their corresponding footprints manually or
+automatically by creating equivalence files. Equivalence files are look up tables
+associating each component with its footprint. This interactive approach is simpler
+and less error prone than directly associating footprints in the schematic editor.
+This is because CvPcb not only allows automatic association, but also allows to
+see the list of available footprints and displays them on the screen to ensure the
+correct footprint is being associated. This module is indicated by the label 3 in
+Fig.&#x00A0;<a
+href="#x1-220011">3.1<!--tex4ht:ref: blockd --></a>.
+<!--l. 84--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">3.1.3 </span> <a
+ id="x1-110003.1.3"></a>Pcbnew</h4>
+<a
+ id="dx1-11001"></a>
+<!--l. 85--><p class="noindent" >Pcbnew is a powerful printed circuit board software tool. It is the layout editor tool
+used in KiCad <span class="cite">&#x00A0;[<span
+class="cmbx-10x-x-109">?</span>]</span>. It is used in association with the schematic capture software
+EEschema, which provides the netlist. Netlist describes the electrical connections of
+the circuit. CvPcb is used to assign each component, in the netlist produced by
+EEschema, to a module that is used by Pcbnew. The features of Pcbnew are given
+below:
+
+ <ul class="itemize1">
+ <li class="itemize">It manages libraries of modules. Each module is a drawing of the physical
+ component including its footprint<a
+ id="dx1-11002"></a> - the layout of pads providing connections to the
+ component. The required modules are automatically loaded during the reading of
+ the netlist produced by CvPcb.
+ </li>
+ <li class="itemize">Pcbnew integrates automatically and immediately any circuit modification by
+ removal of any erroneous tracks, addition of new components, or by modifying
+ any value (and under certain conditions any reference) of the old or new modules,
+ according to the electrical connections appearing in the schematic.
+ </li>
+ <li class="itemize">This tool provides a rats nest display, a hairline connecting the pads of modules
+ connected on the schematic. These connections move dynamically as track and
+ module movements are made.
+ </li>
+ <li class="itemize">It has an active Design Rules Check (<span
+class="cmtt-10x-x-109">DRC</span>) which automatically indicates any error
+ of track layout in real time.
+ </li>
+ <li class="itemize">It automatically generates a copper plane, with or without thermal breaks on the
+ pads.
+ </li>
+ <li class="itemize">It has a simple but effective auto router to assist in the production of the
+ circuit. An export/import in <span
+class="cmtt-10x-x-109">SPECCTRA </span>dsn format allows to use more advanced
+ auto-routers.
+ </li>
+ <li class="itemize">It provides options specifically for the production of ultra high frequency circuits
+ (such as pads of trapezoidal and complex form, automatic layout of coils on the
+ printed circuit).
+ </li>
+ <li class="itemize">Pcbnew displays the elements (tracks, pads, texts, drawings and more) as actual size
+ and according to personal preferences such as:
+ <ul class="itemize2">
+ <li class="itemize">display in full or outline.
+ </li>
+ <li class="itemize">display the track/pad clearance.</li></ul>
+
+ </li></ul>
+<!--l. 125--><p class="noindent" >This module is indicated by the label 4 in Fig.&#x00A0;<a
+href="#x1-220011">3.1<!--tex4ht:ref: blockd --></a>.
+ <h4 class="subsectionHead"><span class="titlemark">3.1.4 </span> <a
+ id="x1-120003.1.4"></a>KiCad to Ngspice converter</h4>
+<!--l. 128--><p class="noindent" >It converts KiCad generated netlists to Ngspice compatible format. Also it facilitates adding
+model library of components and subcircuits. Following are the different functionality lies
+under conversion.
+ <h5 class="subsubsectionHead"><a
+ id="x1-130003.1.4"></a>Analysis Inserter</h5>
+<!--l. 130--><p class="noindent" >This feature helps the user to perform different types of analysis such as Operating
+point analysis, <a
+ id="dx1-13001"></a>DC analysis, <a
+ id="dx1-13002"></a>AC analysis, <a
+ id="dx1-13003"></a>transient analysis, <a
+ id="dx1-13004"></a>etc. It has the facility
+to
+ <ul class="itemize1">
+ <li class="itemize">Insert type of analysis such as AC or DC or Transient
+ </li>
+ <li class="itemize">Insert values for analysis</li></ul>
+<!--l. 139--><p class="noindent" >
+ <h5 class="subsubsectionHead"><a
+ id="x1-140003.1.4"></a>Source Details</h5>
+<!--l. 140--><p class="noindent" >eSim sources are added from eSim-sources package. Sources auch as SINE, AC, DC, PULSE
+are in this lobrary. Input to allthe sources adde in the circuit are given in source
+details.
+ <h5 class="subsubsectionHead"><a
+ id="x1-150003.1.4"></a>Ngspice Model</h5>
+<!--l. 142--><p class="noindent" >eSim adds Ngspice model using this facility.
+ <h5 class="subsubsectionHead"><a
+ id="x1-160003.1.4"></a>Device Modeling</h5>
+<!--l. 144--><p class="noindent" >Devices like Diode, JFET, MOSFET, IGBT, MOS etc added in the circut can be modeled
+using device model libraries. eSim also proveides editing and adding new model libraries.
+While converting Kicad to Ngspice these library files added to the corresponding devices uesd
+in the circuit.
+
+ <h5 class="subsubsectionHead"><a
+ id="x1-170003.1.4"></a>Subcircuits</h5>
+<!--l. 146--><p class="noindent" >Subcircuits are the circuits within a circuits. Subcircuiting helps to reuse the part of the
+circuits. The sub circuit in the main circuits are added using this facility. Also, eSim provides
+us with editing the already exixting subcircuits. Sub circuits are saved separately in different
+folders.
+ <h4 class="subsectionHead"><span class="titlemark">3.1.5 </span> <a
+ id="x1-180003.1.5"></a>Model Builder</h4>
+<a
+ id="dx1-18001"></a>
+<!--l. 149--><p class="noindent" >This tool provides the facility to define a new model for devices such as, <a
+ id="x1-18002r1"></a>1.&#x00A0;Diode <a
+ id="x1-18003r2"></a>2.&#x00A0;Bipolar
+Junction Transistor (BJT) <a
+ id="x1-18004r3"></a>3.&#x00A0;Metal Oxide Semiconductor Field Effect Transistor
+(MOSFET) <a
+ id="x1-18005r4"></a>4.&#x00A0;Junction Field Effect Transistor (JFET) <a
+ id="x1-18006r5"></a>5.&#x00A0;IGBT and <a
+ id="x1-18007r6"></a>6.&#x00A0;Magnetic
+core.
+This module also helps edit existing models. It is developed by us for eSim and it is indicated
+by the label 5 in Fig.&#x00A0;<a
+href="#x1-220011">3.1<!--tex4ht:ref: blockd --></a>.
+<!--l. 163--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">3.1.6 </span> <a
+ id="x1-190003.1.6"></a>Subcircuit Builder</h4>
+<a
+ id="dx1-19001"></a>
+<!--l. 163--><p class="noindent" >This module allows the user to create a subcircuit for a component. Once the subcircuit for a
+component is created, the user can use it in other circuits. It has the facility to define new
+components such as, Op-amps and IC-555. This component also helps edit existing
+subcircuits. This module is developed by us for eSim and it is indicated by the label 6 in
+Fig.&#x00A0;<a
+href="#x1-220011">3.1<!--tex4ht:ref: blockd --></a>.
+<!--l. 171--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">3.1.7 </span> <a
+ id="x1-200003.1.7"></a>KiCad to Ngspice netlist converter</h4>
+<a
+ id="dx1-20001"></a>
+<a
+ id="dx1-20002"></a>
+<a
+ id="dx1-20003"></a>
+<!--l. 173--><p class="noindent" >It converts KiCad generated netlists to Ngspice (see Sec.&#x00A0;<a
+href="#x1-210003.1.8">3.1.8<!--tex4ht:ref: sec:ngspice --></a>) compatible format. It has the
+capability to <a
+ id="x1-20004r1"></a>1.&#x00A0;Insert parameters for fictitious components <a
+ id="x1-20005r2"></a>2.&#x00A0;Convert IC into discrete
+blocks <a
+ id="x1-20006r3"></a>3.&#x00A0;Insert D-A and A-D converter at appropriate places <a
+ id="x1-20007r4"></a>4.&#x00A0;Insert plotting
+and printing statements in netlist and <a
+ id="x1-20008r5"></a>5.&#x00A0;Find current through all components.
+<!--l. 184--><p class="indent" > This module is developed by us for eSim and it is indicated by the label 7 in
+Fig.&#x00A0;<a
+href="#x1-220011">3.1<!--tex4ht:ref: blockd --></a>.
+
+<!--l. 187--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">3.1.8 </span> <a
+ id="x1-210003.1.8"></a>Ngspice</h4>
+<a
+ id="dx1-21001"></a>
+<!--l. 188--><p class="noindent" >Ngspice is a general purpose circuit simulation program for nonlinear dc, nonlinear transient,
+and linear ac analyses <span class="cite">&#x00A0;[<span
+class="cmbx-10x-x-109">?</span>]</span>. Circuits may contain resistors, capacitors, inductors, mutual
+inductors, independent voltage and current sources, four types of dependent sources, lossless
+and lossy transmission lines (two separate implementations), switches, uniform
+distributed RC lines, and the five most common semiconductor devices: diodes,
+<a
+ id="dx1-21002"></a>BJTs, <a
+ id="dx1-21003"></a>JFETs, MESFETs, and MOSFET. <a
+ id="dx1-21004"></a>This module is indicated by the label 9 in
+Fig.&#x00A0;<a
+href="#x1-220011">3.1<!--tex4ht:ref: blockd --></a>.
+<!--l. 199--><p class="noindent" >
+ <h3 class="sectionHead"><span class="titlemark">3.2 </span> <a
+ id="x1-220003.2"></a>Work flow of eSim</h3>
+<!--l. 200--><p class="noindent" >Fig.&#x00A0;<a
+href="#x1-220011">3.1<!--tex4ht:ref: blockd --></a> shows the work flow in eSim. The block diagram consists of mainly three
+parts:
+ <ul class="itemize1">
+ <li class="itemize">Schematic Editor
+ </li>
+ <li class="itemize">PCB Layout Editor
+ </li>
+ <li class="itemize">Circuit Simulators</li></ul>
+<!--l. 208--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-220011"></a>
+
+
+<!--l. 211--><p class="noindent" ><img
+src="figures/blockdiagram.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;3.1: </span><span
+class="content">Work flow in eSim. Boxes with dotted lines denote the modules developed
+in this work.</span></div><!--tex4ht:label?: x1-220011 -->
+
+<!--l. 216--><p class="indent" > </div><hr class="endfigure">
+<!--l. 218--><p class="indent" > Here we explain the role of each block in designing electronic systems. Circuit design is the
+first step in the design of an electronic circuit. Generally a circuit diagram is drawn on a
+paper, and then entered into a computer using a schematic editor. EEschema is the schematic
+editor for eSim. Thus all the functionalities of EEschema are naturally available in eSim.
+<a
+ id="dx1-22002"></a>
+<!--l. 225--><p class="indent" > Libraries for components, explicitly or implicitly supported by Ngspice, have been created
+using the features of EEschema. As EEschema is originally intended for PCB design, there are
+no fictitious components such as voltage or current sources. Thus, a new library for different
+types of voltage and current sources such as sine, pulse and square wave, has been added in
+eSim. A library which gives the functionality of printing and plotting has also been
+created.
+<!--l. 234--><p class="indent" > The schematic editor provides a netlist file, which describes the electrical connections of
+the design. In order to create a PCB layout, physical components are required to be mapped
+into their footprints. To perform component to footprint mapping, CvPcb is used. Footprints
+have been created for the components in the newly created libraries. Pcbnew is used to draw
+a PCB layout.
+<!--l. 242--><p class="indent" > After designing a circuit, it is essential to check the integrity of the circuit design. In the
+case of large electronic circuits, breadboard testing is impractical. In such cases, electronic
+system designers rely heavily on simulation. The accuracy of the simulation results can be
+increased by accurate modeling of the circuit elements. Model Builder provides the facility to
+define a new model for devices and edit existing models. Complex circuit elements can be
+created by hierarchical modeling. Subcircuit Builder provides an easy way to create a
+subcircuit.
+<!--l. 253--><p class="indent" > The netlist generated by Schematic Editor cannot be directly used for simulation
+due to compatibility issues. Netlist Converter converts it into Ngspice compatible
+format. The type of simulation to be performed and the corresponding options are
+provided through a graphical user interface (GUI). This is called Analysis Inserter in
+eSim.
+<!--l. 260--><p class="indent" > eSim uses Ngspice for analog, digital, mixed-level/mixed-signal circuit simulation. Ngspice
+is based on three open source software packages<span class="cite">&#x00A0;[<span
+class="cmbx-10x-x-109">?</span>]</span>:
+ <ul class="itemize1">
+ <li class="itemize">Spice3f5 (analog circuit simulator)
+ </li>
+ <li class="itemize">Cider1b1 (couples Spice3f5 circuit simulator to DSIM device simulator)
+ </li>
+ <li class="itemize">Xspice (code modeling support and simulation of digital components through an
+ event driven algorithm)</li></ul>
+<!--l. 268--><p class="noindent" >It is a part of gEDA <a
+ id="dx1-22003"></a>project. Ngspice is capable of simulating devices with BSIM, <a
+ id="dx1-22004"></a>EKV, HICUM, <a
+ id="dx1-22005"></a><a
+ id="dx1-22006"></a>
+
+HiSim, <a
+ id="dx1-22007"></a>PSP, <a
+ id="dx1-22008"></a>and PTM <a
+ id="dx1-22009"></a>models. It is widely used due to its accuracy even for the latest
+technology devices.
+
+ <h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;4</span><br /><a
+ id="x1-230004"></a>Getting Started</h2>
+<!--l. 5--><p class="noindent" >In this chapter we will get started with eSim. We will run through the various options
+available with an example circuit. Referring to this chapter will make one familiar with
+eSim and will help plan the project before actually designing a circuit. Lets get
+started.
+ <h3 class="sectionHead"><span class="titlemark">4.1 </span> <a
+ id="x1-240004.1"></a>eSim Main Window</h3>
+<!--l. 12--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">4.1.1 </span> <a
+ id="x1-250004.1.1"></a>Workspace</h4>
+<!--l. 13--><p class="noindent" >After installtion is completed, when the eSim is run the first window that appears is
+workspace dialog as shown in Fig.&#x00A0;<a
+href="#x1-250011">4.1<!--tex4ht:ref: workspace --></a>. <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-250011"></a>
+
+
+<!--l. 16--><p class="noindent" ><img
+src="figures/workspace.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;4.1: </span><span
+class="content">eSim-Workspace</span></div><!--tex4ht:label?: x1-250011 -->
+
+<!--l. 19--><p class="indent" > </div><hr class="endfigure">
+<!--l. 21--><p class="indent" > The defalut eSim-Workspace can be chosen if the <span
+class="cmti-10x-x-109">ok </span>or <span
+class="cmti-10x-x-109">cancel </span>button is clicked. Else to
+create new workspace <span
+class="cmti-10x-x-109">browse </span>button is used.
+ <h4 class="subsectionHead"><span class="titlemark">4.1.2 </span> <a
+ id="x1-260004.1.2"></a>Main-GUI</h4>
+<!--l. 24--><p class="noindent" >The main GUI window of eSim is as shown in Fig.&#x00A0;<a
+href="#x1-260012">4.2<!--tex4ht:ref: maingui --></a> <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-260012"></a>
+
+
+<!--l. 27--><p class="noindent" ><img
+src="figures/maingui.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;4.2: </span><span
+class="content">eSim Main GUI</span></div><!--tex4ht:label?: x1-260012 -->
+
+<!--l. 30--><p class="indent" > </div><hr class="endfigure">
+<!--l. 31--><p class="indent" > The eSim main GUI window consists the following symbols.
+ <dl class="enumerate"><dt class="enumerate">
+ 1. </dt><dd
+class="enumerate">Toolbar
+ </dd><dt class="enumerate">
+ 2. </dt><dd
+class="enumerate">Menubar
+ </dd><dt class="enumerate">
+ 3. </dt><dd
+class="enumerate">Project explorer
+ </dd><dt class="enumerate">
+ 4. </dt><dd
+class="enumerate">Dockarea
+ </dd><dt class="enumerate">
+ 5. </dt><dd
+class="enumerate">Console area</dd></dl>
+ <h5 class="subsubsectionHead"><a
+ id="x1-270004.1.2"></a>Toolbar</h5>
+ <ul class="itemize1">
+ <li class="itemize">Open Schematic The first tool on the toolbar i.e. <span
+class="cmti-10x-x-109">Schematic Editor</span><a
+ id="dx1-27001"></a>. Doing so
+ will open EEschema, the schematic editor used in eSim. If a new project is being
+ created, one will get the schematic editor window with an info dialog box. This is
+ illustrated in Fig.&#x00A0;<a
+href="#x1-270023">4.3<!--tex4ht:ref: warning --></a>. This warning can be safely ignored by clicking on <span
+class="cmtt-10x-x-109">OK</span>.
+ <!--l. 50--><p class="noindent" ><hr class="figure"><div class="figure"
+><a
+ id="x1-270023"></a> <img
+src="figures/warning.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;4.3: </span><span
+class="content">Schematic Editor Window</span></div><!--tex4ht:label?: x1-270023 -->
+ <!--l. 55--><p class="noindent" ></div><hr class="endfigure">
+ <!--l. 57--><p class="noindent" >However, if an already existing project is opened, one would get the schematic
+ editor window along with a Load error<a
+ id="dx1-27003"></a>. This is illustrated in Fig.&#x00A0;<a
+href="#x1-270044">4.4<!--tex4ht:ref: schematic-error --></a>. This
+ error occurs because the schematic that is opened has not been loaded with
+ the libraries mentioned in the Load Error message. Close the Load Error
+ message by clicking on the <span
+class="cmtt-10x-x-109">Close </span>button. The RC circuit diagram opens up
+ as shown in Fig.&#x00A0;<a
+href="#x1-270055">4.5<!--tex4ht:ref: eeschema --></a>. Now the circuit schematic can be created/edited. To
+ know how to use the schematic editor to create circuit schematics, refer to
+ Chapter&#x00A0;<a
+href="#x1-320005">5<!--tex4ht:ref: chap5 --></a>.
+ <!--l. 68--><p class="noindent" ><hr class="figure"><div class="figure"
+><a
+ id="x1-270044"></a> <img
+src="figures/schematic-error.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;4.4: </span><span
+class="content">Schematic Editor Window of an existing Project</span></div><!--tex4ht:label?: x1-270044 -->
+ <!--l. 73--><p class="noindent" ></div><hr class="endfigure">
+
+ <!--l. 76--><p class="noindent" ><hr class="figure"><div class="figure"
+><a
+ id="x1-270055"></a> <img
+src="figures/eeschema.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;4.5: </span><span
+class="content">Schematic Editor Window of an existing Project</span></div><!--tex4ht:label?: x1-270055 -->
+ <!--l. 81--><p class="noindent" ></div><hr class="endfigure">
+ </li>
+ <li class="itemize">Convert Kicad to Ngspice: The second tool on the toolbar is the <span
+class="cmti-10x-x-109">Kicad to Ngspice</span>
+ <span
+class="cmti-10x-x-109">Converter </span>. Before one uses this tool, one should have already created the
+ spice netlist file (.cir). This file is not compatible with Ngspice. The analysis
+ window consists of total five tabs as namely <span
+class="cmti-10x-x-109">Analysis, Device Model, Source</span>
+ <span
+class="cmti-10x-x-109">Details, Model Library, Subcircuits</span>, out of which only analysis tab is static and
+ remaining tabs are dynamic. The widgets in the dynamic tab depends on the
+ components included in the circuit. It consists of the parameters depending
+ upon the type of sources used. Once the values have been entered, press the
+ <span
+class="cmtt-10x-x-109">Convert </span>key. It will generate <span
+class="cmtt-10x-x-109">.cir.out </span>and <span
+class="cmtt-10x-x-109">.cir.ckt </span>files in the same project
+ directory.
+ </li>
+ <li class="itemize">Simulation: The suitable netlist generated using <span
+class="cmti-10x-x-109">Kicad to Ngspice</span>. This file is
+ stimulated using Ngspice tool. Clicking on this tool <span
+class="cmti-10x-x-109">Simulation</span>, Ngspice and
+ Pthon plotting window will open, as shown in Fig.&#x00A0;<a
+href="#x1-270066">4.6<!--tex4ht:ref: simulation-op --></a>. It shows the output
+ waweform of project. <hr class="figure"><div class="figure"
+><a
+ id="x1-270066"></a> <img
+src="figures/simulation-op.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;4.6: </span><span
+class="content">Simulation Output in Python Plotting Window</span></div><!--tex4ht:label?: x1-270066 -->
+ <!--l. 96--><p class="noindent" ></div><hr class="endfigure">
+ </li>
+ <li class="itemize">Foot Print Editor: Clicking on the <span
+class="cmti-10x-x-109">Footprint Editor </span>tool will open the <span
+class="cmtt-10x-x-109">CvPcb</span> <a
+ id="dx1-27007"></a>window.
+ This window will ideally open the .net file for the current project. So, before using this
+ tool, one should have the netlist for PCB design (a .net file). To know more about how
+ to generate netlist for PCB, refer to Sec.&#x00A0;<a
+href="#x1-620007.1.1">7.1.1<!--tex4ht:ref: netc --></a>.
+ <!--l. 106--><p class="noindent" >Open the project <span
+class="cmtt-10x-x-109">RC</span><span
+class="cmtt-10x-x-109">_pcb </span>available in the <span
+class="cmtt-10x-x-109">Examples </span>folder downloaded from the eSim
+ website. On clicking the <span
+class="cmti-10x-x-109">Footprint Editor </span>tool, we see the corresponding RC_pcb.net file
+ for RC circuit. This window is shown in Fig.&#x00A0;<a
+href="#x1-270107">4.7<!--tex4ht:ref: CvPcb-window --></a>. The main purpose of this window is to
+ let one choose the footprints for the various components in the circuit. Let us view the
+ footprint <span
+class="cmtt-10x-x-109">C1 </span>for capacitor C1. Click on <span
+class="cmtt-10x-x-109">C1 </span>from the right hand side of CvPcb
+ window. Click on <span
+class="cmti-10x-x-109">View Selected Footprint </span>tool from the tool bar of CvPcb<a
+ id="dx1-27008"></a>
+ window. This will show the footprint corresponding to C1. This is illustrated in
+ Fig.&#x00A0;<a
+href="#x1-270118">4.8<!--tex4ht:ref: footprint-c1 --></a>. To know more about how to assign footprints<a
+ id="dx1-27009"></a> to components, see
+ Chapter&#x00A0;<a
+href="#x1-600007">7<!--tex4ht:ref: chap7 --></a>.
+ <!--l. 119--><p class="noindent" ><hr class="figure"><div class="figure"
+><a
+ id="x1-270107"></a> <img
+src="figures/CvPCB-window.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;4.7: </span><span
+class="content">CvPCB Window</span></div><!--tex4ht:label?: x1-270107 -->
+ <!--l. 124--><p class="noindent" ></div><hr class="endfigure">
+
+ <!--l. 126--><p class="noindent" ><hr class="figure"><div class="figure"
+><a
+ id="x1-270118"></a> <img
+src="figures/footprint-c1.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;4.8: </span><span
+class="content">Footprint for C1</span></div><!--tex4ht:label?: x1-270118 -->
+ <!--l. 131--><p class="noindent" ></div><hr class="endfigure">
+ </li>
+ <li class="itemize">PCB Layout: Open the RC_pcb project available in <span
+class="cmtt-10x-x-109">Examples</span>. Clicking on the
+ <span
+class="cmti-10x-x-109">Layout Editor </span>tool will open <span
+class="cmtt-10x-x-109">Pcbnew</span><a
+ id="dx1-27012"></a>, the layout editor used in eSim. This
+ shows the PCB design for RC circuit. In this window, one will create the
+ PCB. It involves laying tracks and vias, performing optimum routing of tracks,
+ creating one or more copper layers for PCB, etc. The PCB design for RC
+ circuit is shown in Fig.&#x00A0;<a
+href="#x1-270139">4.9<!--tex4ht:ref: pcb-RC --></a>. This is how the PCB will look like when one
+ actually prints it on a copper-clad board. It will be saved as a <span
+class="cmtt-10x-x-109">.brd </span>file in the
+ same directory. Chapter&#x00A0;<a
+href="#x1-600007">7<!--tex4ht:ref: chap7 --></a> explains how to use the <span
+class="cmti-10x-x-109">Layout Editor </span>to design a
+ PCB.
+ <!--l. 145--><p class="noindent" ><hr class="figure"><div class="figure"
+><a
+ id="x1-270139"></a><img
+src="figures/pcb-rc.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;4.9: </span><span
+class="content">PCB design for RC circuit</span></div><!--tex4ht:label?: x1-270139 -->
+ <!--l. 150--><p class="noindent" ></div><hr class="endfigure">
+ </li>
+ <li class="itemize">Model Editor: eSim also gives an option to re-configure the model of a component. It
+ facilitates the user to change models of components such as diode, transistor, MOSFET,
+ etc. When one clicks on the <span
+class="cmti-10x-x-109">Model Builder </span>tool, the window as shown in Fig.&#x00A0;<a
+href="#x1-2701410">4.10<!--tex4ht:ref: model-builder-blank --></a> will
+ appear.
+ <!--l. 160--><p class="noindent" ><hr class="figure"><div class="figure"
+><a
+ id="x1-2701410"></a> <img
+src="figures/modeleditor.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;4.10: </span><span
+class="content">Footprint for C1</span></div><!--tex4ht:label?: x1-2701410 -->
+ <!--l. 165--><p class="noindent" ></div><hr class="endfigure">
+ <!--l. 166--><p class="noindent" >To create a new model library <span
+class="cmtt-10x-x-109">New </span>button is clicked which then opens the template
+ library folder. We can choose from the template library that can be edited, to create the
+ new library and the click on <span
+class="cmtt-10x-x-109">Save </span>to save the edited model library. Also the existing
+ library can be edited usind <span
+class="cmtt-10x-x-109">Edit </span>option. The user can also use their own library by
+ uploading it using <span
+class="cmtt-10x-x-109">Upload </span>button.
+ <!--l. 169--><p class="noindent" ><hr class="figure"><div class="figure"
+><a
+ id="x1-2701511"></a> <img
+src="figures/model.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;4.11: </span><span
+class="content">Model Editor with Diode Model</span></div><!--tex4ht:label?: x1-2701511 -->
+<a
+ id="dx1-27016"></a>
+ <!--l. 175--><p class="noindent" ></div><hr class="endfigure">
+ </li>
+ <li class="itemize">Subcircuit: eSim has an option to build subcircuits. The subcircuits can again have
+ components having subcircuits and so on. This enables users to build commonly used
+ circuits as subcircuits and then use it across circuits. For example, one can build a 12
+
+ Volt power supply as a subcircuit and then use it as just a single component across
+ circuits without having the need to recreate it. Clicking on <span
+class="cmti-10x-x-109">Subcircuit Builder</span>
+ tool will allow one to edit or create a subcircuit. To know how to make a
+ subcircuit, refer to Chapter&#x00A0;<a
+href="#x1-600007">7<!--tex4ht:ref: chap7 --></a>. Fig.&#x00A0;<a
+href="#x1-2701812">4.12<!--tex4ht:ref: lm555n-subcircuit --></a> shows the subcircuit of 555 timer IC.
+ <a
+ id="dx1-27017"></a>
+ <!--l. 189--><p class="noindent" ><hr class="figure"><div class="figure"
+><a
+ id="x1-2701812"></a> <img
+src="figures/subcircuit.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;4.12: </span><span
+class="content">Subcircuit o1f 555 timer IC</span></div><!--tex4ht:label?: x1-2701812 -->
+<a
+ id="dx1-27019"></a>
+ <!--l. 195--><p class="noindent" ></div><hr class="endfigure">
+ </li></ul>
+<!--l. 198--><p class="noindent" >
+ <h5 class="subsubsectionHead"><a
+ id="x1-280004.1.2"></a>Menubar</h5>
+ <ul class="itemize1">
+ <li class="itemize">New Project: New projects are created in the workspace. When selected this menu,
+ a new window opens up with <span
+class="cmtt-10x-x-109">Enter Project name </span>field. Type the name of the
+ new project here. Click on OK. A folder will be created in the specified directory.
+ The name of this folder will be the same as that of the project created.
+ </li>
+ <li class="itemize">Open Project: This opens the file dialog of defalut workspace where the projects
+ are stored. The project can be selected which is then added in the project explorer.
+ </li>
+ <li class="itemize">Exit: This button closes the project window and exits.
+ </li>
+ <li class="itemize">Help:</li></ul>
+<!--l. 213--><p class="noindent" >
+ <h5 class="subsubsectionHead"><a
+ id="x1-290004.1.2"></a>Project Explorer</h5>
+<!--l. 214--><p class="noindent" >Project explorer has tree of all the project previously added in it. On right clicking
+the project we can simply remove or refresh the project in the explorer. Also on
+right clicking the project file can be opened in the text editor which can then be
+edited.
+
+<!--l. 217--><p class="noindent" >
+ <h5 class="subsubsectionHead"><a
+ id="x1-300004.1.2"></a>Dockarea</h5>
+<!--l. 219--><p class="noindent" >
+ <h5 class="subsubsectionHead"><a
+ id="x1-310004.1.2"></a>Console Area</h5>
+<!--l. 220--><p class="noindent" >Console area provides with the errors and active commands running.
+
+<!--l. 8--><p class="indent" >
+
+ <h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;5</span><br /><a
+ id="x1-320005"></a>Schematic Creation</h2> The first step in the design of an electronic system is the
+design of its circuit. This circuit is usually created using a <span
+class="cmtt-10x-x-109">Schematic Editor</span><a
+ id="dx1-32001"></a> and is called a
+<span
+class="cmtt-10x-x-109">Schematic</span>. <a
+ id="dx1-32002"></a>Oscad uses <span
+class="cmtt-10x-x-109">EEschema</span> <a
+ id="dx1-32003"></a>as its schematic editor. EEschema is the schematic editor of
+KiCad. <a
+ id="dx1-32004"></a>It is a powerful schematic editor software. It allows the creation and modification of
+components and symbol libraries and supports multiple hierarchical layers of printed circuit
+design.
+ <h3 class="sectionHead"><span class="titlemark">5.1 </span> <a
+ id="x1-330005.1"></a>Familiarising the Schematic Editor interface</h3>
+<!--l. 22--><p class="noindent" >Fig.&#x00A0;<a
+href="#x1-330011">5.1<!--tex4ht:ref: eesch1 --></a> shows the schematic editor and the various menu and toolbars. We will explain them
+briefly in this section. <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-330011"></a>
+
+<div class="center"
+>
+<!--l. 25--><p class="noindent" >
+
+<!--l. 26--><p class="noindent" ><img
+src="figures/eeschema1_corctd.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;5.1: </span><span
+class="content">Schematic editor with the menu bar and toolbars marked</span></div><!--tex4ht:label?: x1-330011 -->
+</div>
+
+<!--l. 30--><p class="indent" > </div><hr class="endfigure">
+ <h4 class="subsectionHead"><span class="titlemark">5.1.1 </span> <a
+ id="x1-340005.1.1"></a>Top menu bar</h4>
+<!--l. 35--><p class="noindent" >The top menu bar will be available at the top left corner. Some of the important menu
+options in the top menu bar are:
+ <dl class="compactenum"><dt class="compactenum">
+ 1. </dt><dd
+class="compactenum">File - The file menu items are given below:
+ <dl class="compactenum"><dt class="compactenum">
+ (a) </dt><dd
+class="compactenum">New - Clear current schematic and start a new one
+ </dd><dt class="compactenum">
+ (b) </dt><dd
+class="compactenum">Open - Open a schematic
+ </dd><dt class="compactenum">
+ (c) </dt><dd
+class="compactenum">Open Recent - A list of recently opened files for loading
+ </dd><dt class="compactenum">
+ (d) </dt><dd
+class="compactenum">Save Whole Schematic project - Save current sheet and all its hierarchy.
+ </dd><dt class="compactenum">
+ (e) </dt><dd
+class="compactenum">Save Current Sheet Only - Save current sheet, but not others in a hierarchy.
+ </dd><dt class="compactenum">
+ (f) </dt><dd
+class="compactenum">Save Current sheet as - Save current sheet with a new name.
+ </dd><dt class="compactenum">
+ (g) </dt><dd
+class="compactenum">Print - Access to print menu (See Fig.&#x00A0;<a
+href="#x1-340112">5.2<!--tex4ht:ref: print --></a>).
+ </dd><dt class="compactenum">
+ (h) </dt><dd
+class="compactenum">Plot - Plot the schematic in Postscript, HPGL, SVF or DXF format
+ </dd><dt class="compactenum">
+ (i) </dt><dd
+class="compactenum">Quit - Quit the schematic editor.</dd></dl>
+ <!--l. 53--><p class="noindent" ><hr class="figure"><div class="figure"
+><a
+ id="x1-340112"></a>
+<div class="center"
+>
+<!--l. 54--><p class="noindent" >
+
+<!--l. 55--><p class="noindent" ><img
+src="figures/print.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;5.2: </span><span
+class="content">Print options</span></div><!--tex4ht:label?: x1-340112 -->
+</div>
+ <!--l. 59--><p class="noindent" ></div><hr class="endfigure">
+ </dd><dt class="compactenum">
+ 2. </dt><dd
+class="compactenum">Place - The place menu has shortcuts for placing various items like components, wire
+ and junction, on to the schematic editor window. See Sec.&#x00A0;<a
+href="#x1-380005.1.5">5.1.5<!--tex4ht:ref: short --></a> to know more about
+ various shortcut keys (hotkeys).
+ </dd><dt class="compactenum">
+ 3. </dt><dd
+class="compactenum">Preferences - The preferences menu has the following options:
+ <dl class="compactenum"><dt class="compactenum">
+
+ (a) </dt><dd
+class="compactenum">Library - Select libraries and library paths
+ </dd><dt class="compactenum">
+ (b) </dt><dd
+class="compactenum">Colors - Select colors for various items.
+ </dd><dt class="compactenum">
+ (c) </dt><dd
+class="compactenum">Options - Display schematic editor options (Units, Grid size).
+ </dd><dt class="compactenum">
+ (d) </dt><dd
+class="compactenum">Language - Shows the current list of translations. Use default.
+ </dd><dt class="compactenum">
+ (e) </dt><dd
+class="compactenum">Hotkeys - Access to the hot keys menu. See Sec.&#x00A0;<a
+href="#x1-380005.1.5">5.1.5<!--tex4ht:ref: short --></a> about hotkeys.
+ </dd><dt class="compactenum">
+ (f) </dt><dd
+class="compactenum">Read preferences - Read configuration file.
+ </dd><dt class="compactenum">
+ (g) </dt><dd
+class="compactenum">Save preferences - Save configuration file.</dd></dl>
+ </dd></dl>
+<!--l. 79--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">5.1.2 </span> <a
+ id="x1-350005.1.2"></a>Top toolbar</h4>
+<a
+ id="dx1-35001"></a>
+<a
+ id="dx1-35002"></a>
+<!--l. 80--><p class="noindent" >Some of the important tools in the top toolbar are discussed below. They are marked in
+Fig.&#x00A0;<a
+href="#x1-350033">5.3<!--tex4ht:ref: eeschem2 --></a>. <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-350033"></a>
+
+
+<!--l. 84--><p class="noindent" ><img
+src="figures/eeschema2_mod.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;5.3: </span><span
+class="content">Toolbar on top with important tools marked</span></div><!--tex4ht:label?: x1-350033 -->
+
+<!--l. 87--><p class="indent" > </div><hr class="endfigure">
+ <dl class="compactenum"><dt class="compactenum">
+ 1. </dt><dd
+class="compactenum">Save - Save the current schematic
+ </dd><dt class="compactenum">
+ 2. </dt><dd
+class="compactenum">Library Editor - Create or edit components.
+ </dd><dt class="compactenum">
+ 3. </dt><dd
+class="compactenum">Library Browser - Browse through the various component libraries available
+ </dd><dt class="compactenum">
+ 4. </dt><dd
+class="compactenum">Navigate schematic hierarchy - Navigate among the root and sub-sheets in the
+ hierarchy
+ </dd><dt class="compactenum">
+ 5. </dt><dd
+class="compactenum">Print - Print the schematic
+ </dd><dt class="compactenum">
+ 6. </dt><dd
+class="compactenum">Generate netlist - Generate a netlist for PCB design or for simulation.
+ </dd><dt class="compactenum">
+ 7. </dt><dd
+class="compactenum">Annotate - Annotate the schematic
+ </dd><dt class="compactenum">
+ 8. </dt><dd
+class="compactenum">Check ERC - Do Electric Rules Check for the schematic
+ </dd><dt class="compactenum">
+ 9. </dt><dd
+class="compactenum">Create BOM - Create a Bill of Materials of the schematic</dd></dl>
+ <h4 class="subsectionHead"><span class="titlemark">5.1.3 </span> <a
+ id="x1-360005.1.3"></a>Toolbar on the right</h4>
+<a
+ id="dx1-36001"></a>
+<a
+ id="dx1-36002"></a>
+<!--l. 104--><p class="noindent" >The toolbar on the right side of the schematic editor window has many important tools. Some
+of them are marked in Fig.&#x00A0;<a
+href="#x1-360034">5.4<!--tex4ht:ref: eeschem3 --></a>. <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-360034"></a>
+
+
+<!--l. 108--><p class="noindent" ><img
+src="figures/eeschema3_mod.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;5.4: </span><span
+class="content">Toolbar on right with important tools marked</span></div><!--tex4ht:label?: x1-360034 -->
+
+<!--l. 111--><p class="indent" > </div><hr class="endfigure">
+<!--l. 112--><p class="indent" > Let us now look at each of these tools and their uses.
+ <dl class="compactenum"><dt class="compactenum">
+ 1. </dt><dd
+class="compactenum">Place a component - Load a component to the schematic. See Sec.&#x00A0;<a
+href="#x1-400005.2.1">5.2.1<!--tex4ht:ref: selplace --></a> for more
+ details.
+ </dd><dt class="compactenum">
+ 2. </dt><dd
+class="compactenum">Place a power port - Load a power port (Vcc, ground) to the schematic
+ </dd><dt class="compactenum">
+ 3. </dt><dd
+class="compactenum">Place wire - Draw wires to connect components in schematic
+ </dd><dt class="compactenum">
+ 4. </dt><dd
+class="compactenum">Place bus - Place a bus on the schematic
+ </dd><dt class="compactenum">
+ 5. </dt><dd
+class="compactenum">Place a no connect - Place a no connect flag, particularly useful in ICs
+ </dd><dt class="compactenum">
+ 6. </dt><dd
+class="compactenum">Place a local label - Place a label or node name which is local to the schematic
+ </dd><dt class="compactenum">
+ 7. </dt><dd
+class="compactenum">Place a global label - Place a global label (these are connected across all schematic
+ diagrams in the hierarchy)
+ </dd><dt class="compactenum">
+ 8. </dt><dd
+class="compactenum">Create a hierarchical sheet - Create a sub-sheet within the root sheet in the
+ hierarchy. Hierarchical schematics are a good solution for big projects
+ </dd><dt class="compactenum">
+ 9. </dt><dd
+class="compactenum">Place a text or comment - Place a text or comment in the schematic</dd></dl>
+ <h4 class="subsectionHead"><span class="titlemark">5.1.4 </span> <a
+ id="x1-370005.1.4"></a>Toolbar on the left</h4>
+<a
+ id="dx1-37001"></a>
+<a
+ id="dx1-37002"></a>
+<!--l. 126--><p class="noindent" >Some of the important tools in the toolbar on the left are discussed below. They are marked
+in Fig.&#x00A0;<a
+href="#x1-370035">5.5<!--tex4ht:ref: eeschem4 --></a>. <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-370035"></a>
+
+
+<!--l. 130--><p class="noindent" ><img
+src="figures/eeschema4_mod.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;5.5: </span><span
+class="content">Toolbar on left with important tools marked</span></div><!--tex4ht:label?: x1-370035 -->
+
+<!--l. 133--><p class="indent" > </div><hr class="endfigure">
+ <dl class="compactenum"><dt class="compactenum">
+ 1. </dt><dd
+class="compactenum">Show/Hide grid - Show or Hide the grid in the schematic editor. Pressing the tool
+ again hides (shows) the grid if it was shown (hidden) earlier.
+ </dd><dt class="compactenum">
+ 2. </dt><dd
+class="compactenum">Show hidden pins - Show hidden pins of certain components, for example, power
+ pins of certain ICs.</dd></dl>
+ <h4 class="subsectionHead"><span class="titlemark">5.1.5 </span> <a
+ id="x1-380005.1.5"></a>Hotkeys</h4>
+<a
+ id="dx1-38001"></a>
+<!--l. 142--><p class="noindent" >A set of keyboard keys are associated with various operations in the schematic editor. These
+keys save time and make it easy to switch from one operation to another. The list of hotkeys
+can be viewed by going to Preferences in the top menu bar. Choose <span
+class="cmti-10x-x-109">Hotkeys </span>and
+select <span
+class="cmti-10x-x-109">List current keys</span>. The hotkeys can also be edited by selecting the option
+<span
+class="cmti-10x-x-109">Edit Hotkeys</span>. Some frequently used hotkeys, along with their functions, are given
+below:
+ <ul>
+ <li class="compactitem">F1 - Zoom in
+ </li>
+ <li class="compactitem">F2 - Zoom out
+ </li>
+ <li class="compactitem">Ctrl + Z - Undo
+ </li>
+ <li class="compactitem">Delete - Delete item
+ </li>
+ <li class="compactitem">M - Move item
+ </li>
+ <li class="compactitem">C - Copy item
+ </li>
+ <li class="compactitem">A - Add/place component
+ </li>
+ <li class="compactitem">P - Place power component
+ </li>
+ <li class="compactitem">R - Rotate item
+ </li>
+ <li class="compactitem">X - Mirror component about X axis
+ </li>
+ <li class="compactitem">Y - Mirror component about Y axis
+ </li>
+ <li class="compactitem">E - Edit schematic component
+
+ </li>
+ <li class="compactitem">W - Place wire
+ </li>
+ <li class="compactitem">T - Add text
+ </li>
+ <li class="compactitem">S - Add sheet</li></ul>
+<!--l. 166--><p class="noindent" ><span
+class="cmti-10x-x-109">Note: Both lower and upper-case keys will work as hotkeys</span>.
+<!--l. 168--><p class="noindent" >
+ <h3 class="sectionHead"><span class="titlemark">5.2 </span> <a
+ id="x1-390005.2"></a>Schematic creation for simulation</h3>
+<a
+ id="dx1-39001"></a>
+<!--l. 170--><p class="noindent" >There are certain differences between the schematic created for simulation and that created
+for PCB design. We need certain components like plots and current sources. for simulation
+whereas these are not needed for PCB design. For PCB design, we would require
+connectors (e.g. DB15 and 2 pin connector) for taking signals in and out of the
+PCB whereas these have no meaning in simulation. This section covers schematic
+creation for simulation. Refer to Chapter&#x00A0;<a
+href="#x1-600007">7<!--tex4ht:ref: chap7 --></a> to know how to create schematic for PCB
+design.
+<!--l. 177--><p class="indent" > The first step in the creation of circuit schematic is the selection and placement of
+required components. Let us see this using an example. Let us create the circuit schematic of
+an RC filter given in Fig.&#x00A0;<a
+href="#x1-390026">5.6<!--tex4ht:ref: schemRC --></a> and do a transient simulation. <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-390026"></a>
+
+
+<!--l. 183--><p class="noindent" ><img
+src="figures/componentlibrary.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;5.6: </span><span
+class="content">RC circuit</span></div><!--tex4ht:label?: x1-390026 -->
+
+<!--l. 186--><p class="indent" > </div><hr class="endfigure">
+ <h4 class="subsectionHead"><span class="titlemark">5.2.1 </span> <a
+ id="x1-400005.2.1"></a>Selection and placement of components</h4>
+<a
+ id="dx1-40001"></a>
+<!--l. 191--><p class="noindent" >We would need a resistor, a capacitor, a voltage source, ground terminal and some
+plot components. To place a resistor on the schematic editor window, select the
+<span
+class="cmti-10x-x-109">Placea component </span>tool from the toolbar on the right side and click anywhere on
+the schematic editor. This opens up the component selection window. (The above
+action can also be performed by pressing the key A.) Type <span
+class="cmtt-10x-x-109">R </span>in the field <span
+class="cmti-10x-x-109">Name </span>of
+the <span
+class="cmtt-10x-x-109">component selection </span>window as shown in Fig.&#x00A0;<a
+href="#x1-400027">5.7<!--tex4ht:ref: res --></a>. Click on OK. A resistor
+will be tied to the cursor. Place the resistor on the schematic editor by a single
+click.
+<!--l. 200--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-400027"></a>
+
+
+<!--l. 202--><p class="noindent" ><img
+src="figures/sine.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;5.7: </span><span
+class="content">Placing a resistor using the Place a Component tool</span></div><!--tex4ht:label?: x1-400027 -->
+
+<!--l. 205--><p class="indent" > </div><hr class="endfigure">
+<!--l. 206--><p class="indent" > To place the next component, i.e., capacitor, click again on the schematic editor. Type <span
+class="cmtt-10x-x-109">C</span>
+in the Name field of component selection window. Click on OK. Place the capacitor
+on the schematic editor by a single click. Let us now place a sinusoidal voltage
+source. This is required for performing transient analysis. To place it, click again
+on the schematic editor. On the component selection window, click on <span
+class="cmti-10x-x-109">List all</span>.
+Choose the library <span
+class="cmti-10x-x-109">sourcesSpice </span>by double clicking on it. Select the component
+<span
+class="cmtt-10x-x-109">SINE </span>and click on OK. Place the sine source on the schematic editor by a single
+click.
+<!--l. 216--><p class="indent" > Place the component by clicking on the schematic editor. Similarly place a ground
+terminal <span
+class="cmtt-10x-x-109">gnd </span>from the library <span
+class="cmti-10x-x-109">power</span>. It can also be placed using the <span
+class="cmti-10x-x-109">Place a power port </span>tool
+from the toolbar on the right. Click anywhere on the editor after selecting place a power port
+tool. Click <span
+class="cmti-10x-x-109">List all </span>and choose <span
+class="cmtt-10x-x-109">gnd</span>. Once all the components are placed, the schematic editor
+would look like the Fig.&#x00A0;<a
+href="#x1-400038">5.8<!--tex4ht:ref: afterplace --></a>. <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-400038"></a>
+
+
+<!--l. 225--><p class="noindent" ><img
+src="figures/afterplace.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;5.8: </span><span
+class="content">All RC circuit components placed</span></div><!--tex4ht:label?: x1-400038 -->
+
+<!--l. 228--><p class="indent" > </div><hr class="endfigure">
+<!--l. 229--><p class="indent" > Let us rotate the resistor to complete the circuit as shown in Fig.&#x00A0;<a
+href="#x1-390026">5.6<!--tex4ht:ref: schemRC --></a>. To rotate the
+resistor, place the cursor on the resistor and press the key <span
+class="cmtt-10x-x-109">R</span>. Note that if the cursor is placed
+above the letter <span
+class="cmtt-10x-x-109">R </span>(not <span
+class="cmtt-10x-x-109">R?</span>) on the resistor, it asks to clarify selection. Choose the option
+<span
+class="cmti-10x-x-109">Component R</span>. This can be avoided by placing the cursor slightly away from the letter R as
+shown in Fig.&#x00A0;<a
+href="#x1-400059">5.9<!--tex4ht:ref: rotate --></a>. This applies to all components.<a
+ id="dx1-40004"></a> <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-400059"></a>
+
+
+<!--l. 238--><p class="noindent" ><img
+src="figures/rotate.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;5.9: </span><span
+class="content">Placing the cursor (cross mark) slightly away from the letter R</span></div><!--tex4ht:label?: x1-400059 -->
+
+<!--l. 241--><p class="indent" > </div><hr class="endfigure">
+<!--l. 242--><p class="indent" > If one wants to move a component, place the cursor on top of the component and press the
+key <span
+class="cmtt-10x-x-109">M</span>. The component will be tied to the cursor and can be moved in any direction.
+<a
+ id="dx1-40006"></a>
+ <h4 class="subsectionHead"><span class="titlemark">5.2.2 </span> <a
+ id="x1-410005.2.2"></a>Wiring the circuit</h4>
+<a
+ id="dx1-41001"></a>
+<!--l. 248--><p class="noindent" >The next step is to wire the connections. Let us connect the resistor to the capacitor.
+To do so, point the cursor to the terminal of resistor to be connected and press
+the key <span
+class="cmtt-10x-x-109">W</span>. It has now changed to the wiring mode. Move the cursor towards the
+terminal of the capacitor and click on it. A wire is formed as shown in Fig.&#x00A0;<a
+href="#x1-41002r1">5.10a<!--tex4ht:ref: wire1 --></a>.
+<hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-4100510"></a>
+
+<a
+ id="x1-41002r1"></a>
+<!--l. 258--><p class="noindent" > <img
+src="figures/wire1.png" alt="PIC"
+>
+<span
+class="cmr-9">(a)</span>
+<span
+class="cmr-9">Initial</span>
+<span
+class="cmr-9">stages</span> <a
+ id="x1-41003r2"></a> <img
+src="figures/wirefin.png" alt="PIC"
+>
+ <span
+class="cmr-9">(b)</span>
+ <span
+class="cmr-9">Wiring</span>
+ <span
+class="cmr-9">done</span> <a
+ id="x1-41004r3"></a> <img
+src="figures/schemfin.png" alt="PIC"
+>
+ <span
+class="cmr-9">(c)</span>
+ <span
+class="cmr-9">Final</span>
+ <span
+class="cmr-9">schematic</span>
+ <span
+class="cmr-9">with</span>
+ <span
+class="cmr-9">PWR</span><span
+class="cmr-9">_FLAG</span>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;5.10: </span><span
+class="content">Various stages of wiring</span></div><!--tex4ht:label?: x1-4100510 -->
+
+<!--l. 266--><p class="indent" > </div><hr class="endfigure">
+<!--l. 267--><p class="indent" > Similarly connect the wires between all terminals and the final schematic would look like
+Fig.&#x00A0;<a
+href="#x1-41003r2">5.10b<!--tex4ht:ref: wirefin --></a>.
+ <h4 class="subsectionHead"><span class="titlemark">5.2.3 </span> <a
+ id="x1-420005.2.3"></a>Assigning values to components</h4>
+<a
+ id="dx1-42001"></a>
+<!--l. 271--><p class="noindent" >We need to assign values to the components in our circuit i.e., resistor and capacitor. Note
+that the sine voltage source has been placed for simulation. The specifications of sine source
+will be given during simulation. To assign value to the resistor, place the cursor above the
+letter <span
+class="cmtt-10x-x-109">R </span>(not <span
+class="cmtt-10x-x-109">R?</span>) and press the key <span
+class="cmtt-10x-x-109">E</span>. Choose <span
+class="cmti-10x-x-109">Field value</span>. Type <span
+class="cmtt-10x-x-109">1k </span>in the <span
+class="cmti-10x-x-109">Edit value field </span>box
+as shown in Fig.&#x00A0;<a
+href="#x1-4200211">5.11<!--tex4ht:ref: field --></a>. 1k means 1<span
+class="cmmi-10x-x-109">k</span>&Omega;. Similarly give the value <span
+class="cmtt-10x-x-109">1u </span>for the capacitor. 1u means
+1<span
+class="cmmi-10x-x-109">&mu;F</span>.
+<!--l. 281--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-4200211"></a>
+
+
+<!--l. 283--><p class="noindent" ><img
+src="figures/field.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;5.11: </span><span
+class="content">Editing value of resistor</span></div><!--tex4ht:label?: x1-4200211 -->
+
+<!--l. 286--><p class="indent" > </div><hr class="endfigure">
+ <h4 class="subsectionHead"><span class="titlemark">5.2.4 </span> <a
+ id="x1-430005.2.4"></a>Annotation and ERC</h4>
+<a
+ id="dx1-43001"></a>
+<a
+ id="dx1-43002"></a>
+<a
+ id="dx1-43003"></a>
+<a
+ id="dx1-43004"></a>
+<!--l. 290--><p class="noindent" >The next step is to annotate the schematic. Annotation gives unique references to the
+components. To annotate the schematic, click on <span
+class="cmti-10x-x-109">Annotate schematic </span>tool from the
+top toolbar. Click on annotation, then click on OK and finally click on close as
+shown in Fig.&#x00A0;<a
+href="#x1-4300813">5.13<!--tex4ht:ref: anno --></a>. The schematic is now annotated. The question marks next to
+component references have been replaced by unique numbers. If there are more than
+one instance of a component (say resistor), the annotation will be done as R1, R2,
+etc.
+<!--l. 299--><p class="indent" > Let us now do <span
+class="cmtt-10x-x-109">ERC </span>or <span
+class="cmtt-10x-x-109">Electric Rules Check</span>. To do so, click on <span
+class="cmti-10x-x-109">Perform electric rules</span>
+<span
+class="cmti-10x-x-109">check </span>tool from the top toolbar. Click on <span
+class="cmti-10x-x-109">Test Erc </span>button. The error as shown in Fig.&#x00A0;<a
+href="#x1-4300712">5.12<!--tex4ht:ref: erc --></a>
+may be displayed. Click on close in the test erc<a
+ id="dx1-43005"></a> window. <a
+ id="dx1-43006"></a><hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-4300712"></a>
+
+
+<!--l. 306--><p class="noindent" ><img
+src="figures/erc1.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;5.12: </span><span
+class="content">ERC error</span></div><!--tex4ht:label?: x1-4300712 -->
+
+<!--l. 309--><p class="indent" > </div><hr class="endfigure">
+<!--l. 310--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-4300813"></a>
+
+
+<!--l. 312--><p class="noindent" ><img
+src="figures/anno.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;5.13: </span><span
+class="content">Steps in annotating a schematic: 1. First click on Annotation then 2. Click
+on Ok then 3. Click on close</span></div><!--tex4ht:label?: x1-4300813 -->
+
+<!--l. 315--><p class="indent" > </div><hr class="endfigure">
+<!--l. 316--><p class="indent" > There will be a green arrow pointing to the source of error in the schematic. Here it points
+to the ground terminal. This is shown in Fig.&#x00A0;<a
+href="#x1-4300914">5.14<!--tex4ht:ref: ercgnd --></a>. <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-4300914"></a>
+
+
+<!--l. 321--><p class="noindent" ><img
+src="figures/ercgnd.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;5.14: </span><span
+class="content">Green arrow pointing to Ground terminal indicating an ERC error</span></div><!--tex4ht:label?: x1-4300914 -->
+
+<!--l. 324--><p class="indent" > </div><hr class="endfigure">
+<!--l. 325--><p class="indent" > To correct this error, place a <span
+class="cmtt-10x-x-109">PWR</span><span
+class="cmtt-10x-x-109">_FLAG </span>from the EEschema library <span
+class="cmti-10x-x-109">power</span>. <a
+ id="dx1-43010"></a>Connect the
+power flag to the ground terminal as shown in Fig.&#x00A0;<a
+href="#x1-41004r3">5.10c<!--tex4ht:ref: schemfin --></a>. More information about
+PWR_FLAG is given in Sec.&#x00A0;<span
+class="cmbx-10x-x-109">??</span>. One needs to place <span
+class="cmtt-10x-x-109">PWR</span><span
+class="cmtt-10x-x-109">_FLAG </span>wherever the error shown in
+Fig.&#x00A0;<a
+href="#x1-4300712">5.12<!--tex4ht:ref: erc --></a> is obtained. Repeat the ERC. Now there are no errors. With this we have created
+the schematic for simulation.
+ <h4 class="subsectionHead"><span class="titlemark">5.2.5 </span> <a
+ id="x1-440005.2.5"></a>Netlist generation</h4>
+<a
+ id="dx1-44001"></a>
+<!--l. 335--><p class="noindent" >To simulate the circuit that has been created in the previous section, we need to generate its
+netlist. <span
+class="cmtt-10x-x-109">Netlist </span>is a list of components in the schematic along with their connection
+information. <a
+ id="dx1-44002"></a>To do so, click on the <span
+class="cmti-10x-x-109">Generate netlist </span>tool from the top toolbar. Click on spice
+from the window that opens up. Uncheck the option <span
+class="cmtt-10x-x-109">Default Format</span>. Then click on <span
+class="cmti-10x-x-109">Netlist</span>.
+This is shown in Fig.&#x00A0;<a
+href="#x1-4400315">5.15<!--tex4ht:ref: chap5net --></a>. Save the netlist. This will be a <span
+class="cmtt-10x-x-109">.cir </span>file. Do not change the
+directory while saving. <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-4400315"></a>
+
+
+<!--l. 346--><p class="noindent" ><img
+src="figures/netlist.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;5.15: </span><span
+class="content">Steps in generating a Netlist for simulation: 1. Click on Spice then 2.
+Check the option <span
+class="cmtt-10x-x-109">Defalut Format </span>then 3. Click on Netlist </span></div><!--tex4ht:label?: x1-4400315 -->
+
+<!--l. 349--><p class="indent" > </div><hr class="endfigure">
+<!--l. 350--><p class="indent" > Now the netlist is ready to be simulated. Chapter&#x00A0;<a
+href="#x1-450006">6<!--tex4ht:ref: chap6 --></a> explains how to perform simulations.
+Refer to <span class="cite">&#x00A0;[<span
+class="cmbx-10x-x-109">?</span>]</span> or <span class="cite">&#x00A0;[<span
+class="cmbx-10x-x-109">?</span>]</span> to know more about EEschema.
+
+
+ <h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;6</span><br /><a
+ id="x1-450006"></a>Simulation</h2> Circuit simulation <a
+ id="dx1-45001"></a>uses mathematical models to replicate the
+behaviour of an actual device or circuit. Simulation software allows to model circuit
+operations. Simulating a circuit&#8217;s behaviour before actually building it can greatly improve
+design efficiency. eSim uses <span
+class="cmtt-10x-x-109">Ngspice</span><a
+ id="dx1-45002"></a> for analog, digital and mixed-level/mixed-signal circuit
+simulation. The various steps involved in simulating a circuit schematic in eSim are given
+below:
+ <ul class="itemize1">
+ <li class="itemize">Kicad to Ngspice Conversion: The schematic file generated in Kicad i.e. <span
+class="cmtt-10x-x-109">.cir </span>file is to
+ be converted into a ngspice compatible file before simulation. The process of conversion
+ involves following steps-
+ <dl class="enumerate"><dt class="enumerate">
+ 1. </dt><dd
+class="enumerate">Analysis insertion - This tool is used to insert the type of analysis to the
+ netlist. It is done by the <span
+class="cmti-10x-x-109">Analysis Inserter </span>tool in the eSim toolbar. <a
+ id="dx1-45004"></a>
+ </dd><dt class="enumerate">
+ 2. </dt><dd
+class="enumerate">Source Details <a
+ id="dx1-45006"></a>- The netlist created in the <span
+class="cmti-10x-x-109">Schematic Editor </span>is converted to
+ Ngspice format and analysis commands is appended to it. It is done by the
+ <span
+class="cmti-10x-x-109">Netlist Converter </span>tool in the eSim toolbar. <a
+ id="dx1-45007"></a>
+ </dd><dt class="enumerate">
+ 3. </dt><dd
+class="enumerate">Ngspice Modelling <a
+ id="dx1-45009"></a>- Ngspice simulation of the netlist is performed. It is done
+ by clicking on the <span
+class="cmti-10x-x-109">Ngspice </span>tool in the eSim toolbar.
+ </dd><dt class="enumerate">
+ 4. </dt><dd
+class="enumerate">Model Library - Model library adds the component library of the components
+ like Diode, JFET, MOS, IGBT. These library file contains the parameters
+ and the values of the components.
+ </dd><dt class="enumerate">
+ 5. </dt><dd
+class="enumerate">Sub-Circuit - A sub circuiting can be done using this tool. This involves
+ adding the sub circuit used in the main circuit. This adds all the project files
+ of the sub circuit.</dd></dl>
+ </li>
+ <li class="itemize">Simulation: The output file produced is used for simulation to plot the output in the
+ Ngspice.</li></ul>
+<!--l. 34--><p class="noindent" >In the following sections, we shall describe each of the above steps.
+ <h3 class="sectionHead"><span class="titlemark">6.1 </span> <a
+ id="x1-460006.1"></a>Analysis Inserter</h3>
+<a
+ id="dx1-46001"></a>
+<!--l. 38--><p class="noindent" >In order to simulate a circuit, the user must define the type of analysis to be done on the
+circuit. The types of analysis <a
+ id="dx1-46002"></a>include <span
+class="cmtt-10x-x-109">Operating point analysis</span>, <span
+class="cmtt-10x-x-109">DC analysis</span>,
+<span
+class="cmtt-10x-x-109">AC analysis</span>, <span
+class="cmtt-10x-x-109">transient analysis</span>, etc. The user should also specify the options
+
+corresponding to each analysis. This is facilitated by the <span
+class="cmti-10x-x-109">Analysis Inserter </span>tool in
+eSim.
+<!--l. 46--><p class="indent" > Analysis Inserter generates the commands for Ngspice. When one clicks on <span
+class="cmti-10x-x-109">Kicad to</span>
+<span
+class="cmti-10x-x-109">Ngspice </span>from the eSim toolbar, one gets the Analysis Inserter GUI as shown in Fig.&#x00A0;<a
+href="#x1-460031">6.1<!--tex4ht:ref: 1 --></a>. The
+various tabs in this GUI correspond to the various types of analysis. The user can enter
+the details, needed to perform simulation, in the corresponding fields under these
+tabs.
+<!--l. 53--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-460031"></a>
+
+
+<!--l. 55--><p class="noindent" ><img
+src="figures/analysis.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;6.1: </span><span
+class="content">Analysis Insertor GUI</span></div><!--tex4ht:label?: x1-460031 -->
+
+<!--l. 58--><p class="indent" > </div><hr class="endfigure">
+ <h4 class="subsectionHead"><span class="titlemark">6.1.1 </span> <a
+ id="x1-470006.1.1"></a>Types of analysis</h4>
+<a
+ id="dx1-47001"></a>
+<!--l. 64--><p class="noindent" >eSim supports three types of analyses: <a
+ id="x1-47002r1"></a>1.&#x00A0;DC Analysis (Operating Point and DC Sweep)
+<a
+ id="dx1-47003"></a><a
+ id="x1-47004r2"></a>2.&#x00A0;AC Small-signal Analysis <a
+ id="dx1-47005"></a><a
+ id="x1-47006r3"></a>3.&#x00A0;Transient Analysis. <a
+ id="dx1-47007"></a>
+Other analysis in the <span
+class="cmti-10x-x-109">Analysis Inserter </span>are currently under progress. The different types of
+analyses supported in eSim are explained below <span class="cite">&#x00A0;[<span
+class="cmbx-10x-x-109">?</span>]</span>.
+<!--l. 74--><p class="noindent" >
+ <h5 class="subsubsectionHead"><a
+ id="x1-480006.1.1"></a>DC analysis</h5>
+<a
+ id="dx1-48001"></a>
+<!--l. 74--><p class="noindent" >The <span
+class="cmtt-10x-x-109">DC analysis </span>determines the dc operating point of the circuit with inductors shorted and
+capacitors opened. The DC analysis options are specified on the <span
+class="cmti-10x-x-109">.dc</span> <a
+ id="dx1-48002"></a>and <span
+class="cmti-10x-x-109">.op</span><a
+ id="dx1-48003"></a> control
+lines.
+<!--l. 79--><p class="indent" > There is assumed to be no time dependence on any of the sources within the system
+description. The simulator algorithm subdivides the circuit into those portions which require
+the <span
+class="cmtt-10x-x-109">analog simulator algorithm </span>and those which require the <span
+class="cmtt-10x-x-109">event-driven algorithm</span>.
+Each subsystem block is then iterated to solution, with the interfaces between analog nodes
+and event-driven nodes iterated for consistency across the entire system. Once stable values
+are obtained for all nodes in the system, the analysis halts and the results could be displayed
+or printed out.
+<!--l. 89--><p class="indent" > A <span
+class="cmtt-10x-x-109">DC analysis </span>is automatically performed prior to a <span
+class="cmtt-10x-x-109">transient analysis </span>to determine
+the transient initial conditions, and prior to an <span
+class="cmtt-10x-x-109">ac small-signal analysis </span>to determine the
+linearised, small-signal models for nonlinear devices. The <span
+class="cmtt-10x-x-109">DC analysis </span>can also be used to
+generate dc transfer curves: a specified independent voltage or current source is stepped over a
+user-specified range and the dc output variables are stored for each sequential source
+value.
+<!--l. 97--><p class="noindent" >
+ <h5 class="subsubsectionHead"><a
+ id="x1-490006.1.1"></a>AC small-signal analysis</h5>
+<a
+ id="dx1-49001"></a>
+<!--l. 98--><p class="noindent" ><span
+class="cmtt-10x-x-109">AC analysis </span>is limited to analog nodes. It represents the small signal, sinusoidal
+solution of the analog system described at a particular frequency or set of frequencies.
+This analysis is similar to the <span
+class="cmtt-10x-x-109">DC analysis </span>in that it represents the steady-state
+behaviour of the described system with a single input node at a given set of stimulus
+frequencies.
+
+<!--l. 105--><p class="indent" > The program first computes the dc operating point of the circuit and determines
+linearised, small-signal models for all of the nonlinear devices in the circuit. The resultant
+linear circuit is then analyzed over a user-specified range of frequencies. The desired output
+of an ac small-signal analysis is usually a transfer function (voltage gain, trans
+impedance, etc.). If the circuit has only one ac input, it is convenient to set that input to
+unity and zero phase, so that output variables have the same value as the transfer
+function.
+<!--l. 114--><p class="noindent" >
+ <h5 class="subsubsectionHead"><a
+ id="x1-500006.1.1"></a>Transient analysis</h5>
+<a
+ id="dx1-50001"></a>
+<!--l. 115--><p class="noindent" ><span
+class="cmtt-10x-x-109">Transient analysis </span>is an extension of <span
+class="cmtt-10x-x-109">DC analysis </span>to the time domain. A <span
+class="cmtt-10x-x-109">transient</span>
+<span
+class="cmtt-10x-x-109">analysis </span>begins by obtaining a DC solution to provide a point of departure for simulating
+time-varying behaviour. Once the DC solution is obtained, the time-dependent aspects of the
+system are reintroduced and the simulator algorithms incrementally solve for the time varying
+behaviour of the entire system. Inconsistencies in node values are resolved by the simulation
+algorithms such that the time-dependent waveforms created by the analysis are consistent
+across the entire simulated time interval.
+<!--l. 125--><p class="indent" > Resulting time-varying descriptions of node behaviour for the specified time interval are
+accessible. All sources which are not time dependent (for example, power supplies) are
+set to their dc value. The transient time interval is specified on a <span
+class="cmti-10x-x-109">.tran </span>control
+line.
+<!--l. 131--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">6.1.2 </span> <a
+ id="x1-510006.1.2"></a>DC analysis inserter</h4>
+<!--l. 132--><p class="noindent" >By default <span
+class="cmtt-10x-x-109">DC analysis </span>option appears when one clicks on <span
+class="cmti-10x-x-109">Analysis Inserter</span>. Here we need
+to give the details of input <span
+class="cmti-10x-x-109">source name</span>, <span
+class="cmti-10x-x-109">start value </span>of input, <span
+class="cmti-10x-x-109">increment </span>and <span
+class="cmti-10x-x-109">stop </span>value. Once
+this is done, click on <span
+class="cmti-10x-x-109">Add Simulation Data</span>.
+<!--l. 137--><p class="indent" > Fig.&#x00A0;<a
+href="#x1-510032">6.2<!--tex4ht:ref: 2 --></a> gives an example of <span
+class="cmtt-10x-x-109">DC analysis </span>inserter. In this example, <span
+class="cmtt-10x-x-109">v1 </span>is the input
+voltage source which <span
+class="cmti-10x-x-109">starts </span>at <span
+class="cmtt-10x-x-109">0 Volt</span>, <span
+class="cmti-10x-x-109">increments </span>by <span
+class="cmtt-10x-x-109">1 Volt </span>and <span
+class="cmti-10x-x-109">stops </span>at <span
+class="cmtt-10x-x-109">10 Volt</span>. On
+clicking <span
+class="cmti-10x-x-109">Add Simulation Data</span>, the analysis command is generated and is of the form:
+<br
+class="newline" /><span
+class="cmtt-10x-x-109">.dc</span><a
+ id="dx1-51001"></a> <span
+class="cmtt-10x-x-109">sourcename vstart vstop vincr </span><br
+class="newline" />The <span
+class="cmtt-10x-x-109">.dc </span>line defines the dc transfer curve source and sweep limits (with capacitors open and
+inductors shorted). <span
+class="cmtt-10x-x-109">srcnam </span>is the name of an independent voltage or current source. <span
+class="cmtt-10x-x-109">vstart</span>,
+<span
+class="cmtt-10x-x-109">vstop</span>, and <span
+class="cmtt-10x-x-109">vincr </span>are the starting, final, and incrementing values respectively, of the
+source.
+<!--l. 151--><p class="indent" > When we check the option <span
+class="cmti-10x-x-109">Operating Point analysis</span><a
+ id="dx1-51002"></a> on the DC analysis window, <span
+class="cmtt-10x-x-109">.op </span>gets
+appended to the analysis statement. <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-510032"></a>
+
+
+<!--l. 156--><p class="noindent" ><img
+src="figures/dc1.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;6.2: </span><span
+class="content">DC Analysis GUI</span></div><!--tex4ht:label?: x1-510032 -->
+
+<!--l. 159--><p class="indent" > </div><hr class="endfigure">
+<!--l. 160--><p class="indent" > The inclusion of the line <span
+class="cmtt-10x-x-109">.op </span>in the analysis file directs Ngspice to determine the dc
+operating point of the circuit with inductors shorted and capacitors opened.
+ <h4 class="subsectionHead"><span class="titlemark">6.1.3 </span> <a
+ id="x1-520006.1.3"></a>AC analysis inserter</h4>
+<a
+ id="dx1-52001"></a>
+<!--l. 165--><p class="noindent" >When one clicks on the option <span
+class="cmti-10x-x-109">AC </span>in the <span
+class="cmti-10x-x-109">Analysis Inserter </span>GUI, the window given in
+Fig.&#x00A0;<a
+href="#x1-520023">6.3<!--tex4ht:ref: 4 --></a> appears. <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-520023"></a>
+
+
+<!--l. 169--><p class="noindent" ><img
+src="figures/ac1.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;6.3: </span><span
+class="content">AC Analysi GUI</span></div><!--tex4ht:label?: x1-520023 -->
+
+<!--l. 172--><p class="indent" > </div><hr class="endfigure">
+<!--l. 173--><p class="indent" > Here one needs to enter the details of <span
+class="cmti-10x-x-109">scale</span>, <span
+class="cmti-10x-x-109">start frequency</span>, <span
+class="cmti-10x-x-109">stop frequency </span>and <span
+class="cmti-10x-x-109">Number of</span>
+<span
+class="cmti-10x-x-109">points</span>.
+<!--l. 176--><p class="indent" > After entering these values, click on <span
+class="cmti-10x-x-109">Add Simulation Data</span>. The analysis statement is
+generated. This is in one of the three forms listed below, depending on the type of <span
+class="cmti-10x-x-109">scale </span>that
+one chooses. The types of <span
+class="cmti-10x-x-109">scale </span>available are <span
+class="cmti-10x-x-109">dec</span>, <span
+class="cmti-10x-x-109">oct</span>, and <span
+class="cmti-10x-x-109">lin</span>, the usage of which is explained
+below: <br
+class="newline" /><span
+class="cmtt-10x-x-109">.ac dec nd fstart fstop </span><br
+class="newline" /><span
+class="cmtt-10x-x-109">.ac oct no fstart fstop </span><br
+class="newline" /><span
+class="cmtt-10x-x-109">.ac lin np fstart fstop</span> <a
+ id="dx1-52003"></a><br
+class="newline" />Here, <span
+class="cmtt-10x-x-109">dec </span>stands for decade variation and <span
+class="cmtt-10x-x-109">nd </span>is the number of points per decade. <span
+class="cmtt-10x-x-109">oct </span>stands
+for octave variation and <span
+class="cmtt-10x-x-109">no </span>is the number of points per octave. <span
+class="cmtt-10x-x-109">lin </span>stands for linear variation
+and <span
+class="cmtt-10x-x-109">np </span>is the number of points. <span
+class="cmtt-10x-x-109">fstart </span>is the starting frequency and <span
+class="cmtt-10x-x-109">fstop </span>is the final
+frequency.
+<!--l. 192--><p class="indent" > If the <span
+class="cmtt-10x-x-109">.ac </span>analysis is included in the analysis file, Ngspice performs an AC analysis of the
+circuit over the specified frequency range. Note that in order for this analysis to be
+meaningful, at least one independent source must have been specified with an ac value. While
+creating the schematic for performing ac analysis, add the component <span
+class="cmtt-10x-x-109">AC </span>from the
+<span
+class="cmti-10x-x-109">sourcesSpice </span>library.
+ <h4 class="subsectionHead"><span class="titlemark">6.1.4 </span> <a
+ id="x1-530006.1.4"></a>Transient analysis inserter</h4>
+<a
+ id="dx1-53001"></a>
+<!--l. 199--><p class="noindent" >When one clicks on the option <span
+class="cmti-10x-x-109">Transient </span>in the <span
+class="cmti-10x-x-109">Analysis Inserter </span>GUI, the window given in
+Fig.&#x00A0;<a
+href="#x1-530034">6.4<!--tex4ht:ref: 6 --></a> appears. Here one needs to enter the details of <span
+class="cmti-10x-x-109">start time</span>, <span
+class="cmti-10x-x-109">step time</span>, and <span
+class="cmti-10x-x-109">stop time</span>.
+After entering these values, click on <span
+class="cmti-10x-x-109">Add Simulation Data</span>. The analysis statement is
+generated. It is of the form:
+<!--l. 206--><p class="indent" > <span
+class="cmtt-10x-x-109">.tran tstep tstop tstart</span><a
+ id="dx1-53002"></a>
+<!--l. 208--><p class="indent" > Here, <span
+class="cmtt-10x-x-109">tstep </span>is the printing or plotting increment for line-printer output. For use
+with the post-processor, <span
+class="cmtt-10x-x-109">tstep </span>is the suggested computing increment. <span
+class="cmtt-10x-x-109">tstop </span>is the
+final time, and <span
+class="cmtt-10x-x-109">tstart </span>is the initial time. If tstart is omitted, it is assumed to be
+zero.
+<!--l. 214--><p class="indent" > The transient analysis always begins at time zero. In the interval <span
+class="cmmi-10x-x-109">&#x003C;</span><span
+class="cmtt-10x-x-109">zero, tstart</span><span
+class="cmmi-10x-x-109">&#x003E;</span>, the
+circuit is analyzed (to reach a steady state), but no outputs are stored. In the interval
+<span
+class="cmmi-10x-x-109">&#x003C;</span><span
+class="cmtt-10x-x-109">tstart, tstop</span><span
+class="cmmi-10x-x-109">&#x003E;</span>, the circuit is analyzed and outputs are stored. <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-530034"></a>
+
+
+<!--l. 221--><p class="noindent" ><img
+src="figures/trans1.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;6.4: </span><span
+class="content">Transient Analysis GUI</span></div><!--tex4ht:label?: x1-530034 -->
+
+<!--l. 224--><p class="indent" > </div><hr class="endfigure">
+ <h3 class="sectionHead"><span class="titlemark">6.2 </span> <a
+ id="x1-540006.2"></a>Adding Source Details</h3>
+<!--l. 227--><p class="noindent" >Source details is basically a dynamic tab, i.e. the feilds are added as per the circuit. The
+number of sources schematic has like AC,DC is the number of fields that get added in the
+GUI. Consider a Half-Adder circuit as shown in Fig.&#x00A0;<a
+href="#x1-540015">6.5<!--tex4ht:ref: halfschematic --></a> <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-540015"></a>
+
+
+<!--l. 231--><p class="noindent" ><img
+src="figures/halfschematic.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;6.5: </span><span
+class="content">Half Adder Schematic</span></div><!--tex4ht:label?: x1-540015 -->
+
+<!--l. 234--><p class="indent" > </div><hr class="endfigure">
+<!--l. 235--><p class="indent" > Here, total three DC input source are used and hence the source detail GUI wuould be
+having three input fields as shown is Fig.&#x00A0;<a
+href="#x1-540026">6.6<!--tex4ht:ref: sourcedetails --></a> <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-540026"></a>
+
+
+<!--l. 238--><p class="noindent" ><img
+src="figures/sourcedetails.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;6.6: </span><span
+class="content">Source Details of Half-Adder</span></div><!--tex4ht:label?: x1-540026 -->
+
+<!--l. 241--><p class="indent" > </div><hr class="endfigure">
+ <h3 class="sectionHead"><span class="titlemark">6.3 </span> <a
+ id="x1-550006.3"></a>Adding Ngspice Model</h3>
+<!--l. 247--><p class="noindent" >
+ <h3 class="sectionHead"><span class="titlemark">6.4 </span> <a
+ id="x1-560006.4"></a>Adding Device Model Library</h3>
+<!--l. 248--><p class="noindent" >Spice based simulators include a feature which allows accurate modeling of semiconductor
+devices such as diodes, transistors etc. Model libraries holds these features to define
+models for devices such as diodes, MOSFET, BJT, JFET, IGBT, Magnetic core
+etc.
+<!--l. 251--><p class="indent" > The fields in this tab are added for each such device in the circuit and the corresponding
+model library is added. In the example of bridgerectifier as shown in Fig.&#x00A0;<a
+href="#x1-560017">6.7<!--tex4ht:ref: bridgerectifier --></a> for four diodes
+library files are added as in Fig.&#x00A0;<span
+class="cmbx-10x-x-109">??</span> <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-560017"></a>
+
+
+<!--l. 254--><p class="noindent" ><img
+src="figures/bridgerectifier.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;6.7: </span><span
+class="content">Schematic of Bridge Rectifier</span></div><!--tex4ht:label?: x1-560017 -->
+
+<!--l. 257--><p class="indent" > </div><hr class="endfigure">
+<!--l. 259--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-560028"></a>
+
+
+<!--l. 261--><p class="noindent" ><img
+src="figures/devicemodel.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;6.8: </span><span
+class="content">Device Model GUI Window</span></div><!--tex4ht:label?: x1-560028 -->
+
+<!--l. 264--><p class="indent" > </div><hr class="endfigure">
+ <h3 class="sectionHead"><span class="titlemark">6.5 </span> <a
+ id="x1-570006.5"></a>Adding Sub Circuit</h3>
+<!--l. 267--><p class="noindent" >Sub-circuiting is the way of hierarchical modeling. The sub circuit file in the main circuits
+needs to be added before converting it. Let us consider the simple example of Full-Adder
+circuit containing two half adder sub circuits.
+<!--l. 270--><p class="noindent" >
+ <h3 class="sectionHead"><span class="titlemark">6.6 </span> <a
+ id="x1-580006.6"></a>Kicad to Ngspice Conversion</h3>
+<!--l. 271--><p class="noindent" >After Filling up the values in all the above mentioned fields the convert button is pressed for
+the conversion process to finish. If all the files are added the <span
+class="cmtt-10x-x-109">successful </span>messege box is
+popped on the screen as shown in Fig.&#x00A0;<a
+href="#x1-580019">6.9<!--tex4ht:ref: success --></a>. Then click <span
+class="cmtt-10x-x-109">ok</span>, this will create the <span
+class="cmtt-10x-x-109">.cir.out,</span>
+<span
+class="cmtt-10x-x-109">analysis </span>and other files in the project folders.
+<!--l. 274--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-580019"></a>
+
+
+<!--l. 276--><p class="noindent" ><img
+src="figures/convert.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;6.9: </span><span
+class="content">Successful Conversion Pop-Up Window</span></div><!--tex4ht:label?: x1-580019 -->
+
+<!--l. 279--><p class="indent" > </div><hr class="endfigure">
+ <h3 class="sectionHead"><span class="titlemark">6.7 </span> <a
+ id="x1-590006.7"></a>Simulation</h3>
+<!--l. 282--><p class="noindent" >After the Kicad to Ngspice conversion is successfully completed simulation tab on the toolbar
+is clicked to check the output waveform of the project. The windows shown if Fig.&#x00A0;<a
+href="#x1-5900110">6.10<!--tex4ht:ref: pythonplot --></a> and
+Fig.&#x00A0;<a
+href="#x1-5900211">6.11<!--tex4ht:ref: ngspicewindow --></a> are opned in dockarea.
+<!--l. 284--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-5900110"></a>
+
+
+<!--l. 286--><p class="noindent" ><img
+src="figures/pythonplot.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;6.10: </span><span
+class="content">Pythonplot Window in a Dockarea</span></div><!--tex4ht:label?: x1-5900110 -->
+
+<!--l. 289--><p class="indent" > </div><hr class="endfigure">
+<!--l. 291--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-5900211"></a>
+
+
+<!--l. 293--><p class="noindent" ><img
+src="figures/ngspicewindow.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;6.11: </span><span
+class="content">Ngspice Terminal in a Dockarea</span></div><!--tex4ht:label?: x1-5900211 -->
+
+<!--l. 296--><p class="indent" > </div><hr class="endfigure">
+<!--l. 298--><p class="indent" > Following are the commands to be given in Ngspice window.
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="cmtt-10x-x-109">plot allv </span>- Plots all the voltage waveforms.
+ </li>
+ <li class="itemize"><span
+class="cmtt-10x-x-109">plot v(node-name) </span>- Plot a waveform of the node-name voltage source.</li></ul>
+<!--l. 304--><p class="indent" > The output in the ngspice window is shown in Fig.&#x00A0;<a
+href="#x1-5900312">6.12<!--tex4ht:ref: ngspiceoutput --></a> <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-5900312"></a>
+
+
+<!--l. 307--><p class="noindent" ><img
+src="figures/ngspiceoutput.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;6.12: </span><span
+class="content">Output in a Ngspice Window</span></div><!--tex4ht:label?: x1-5900312 -->
+
+<!--l. 310--><p class="indent" > </div><hr class="endfigure">
+<!--l. 313--><p class="indent" > Likewise, in the pythonplot window the checkbox of a perticular source can be chosen
+and then <span
+class="cmtt-10x-x-109">PLOT </span>button is clicked. Ths output in pythonplot window is shown in
+Fig.&#x00A0;<a
+href="#x1-5900413">6.13<!--tex4ht:ref: pythonplot1 --></a>
+<!--l. 315--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-5900413"></a>
+
+
+<!--l. 317--><p class="noindent" ><img
+src="figures/pythonplot1.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;6.13: </span><span
+class="content">output in a Pythonplot Window</span></div><!--tex4ht:label?: x1-5900413 -->
+
+<!--l. 320--><p class="indent" > </div><hr class="endfigure">
+
+ <h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;7</span><br /><a
+ id="x1-600007"></a>PCB Design</h2> Printed Circuit Board (PCB) <a
+ id="dx1-60001"></a>design is an important step in
+electronic system design. Every component of the circuit needs to be placed and connections
+routed to minimise delay and area. Each component has an associated footprint. Footprint
+refers to the physical layout of a component that is required to mount it on the PCB.<a
+ id="dx1-60002"></a> <a
+ id="dx1-60003"></a>PCB
+design involves associating footprints to all components, placing them appropriately to
+minimise wire length and area, connecting the footprints using tracks/vias and finally
+extracting the required files needed for printing the PCB. Let us see the steps to design PCB
+using eSim.
+ <h3 class="sectionHead"><span class="titlemark">7.1 </span> <a
+ id="x1-610007.1"></a>Schematic creation for PCB design</h3>
+<!--l. 16--><p class="noindent" >In Chapter&#x00A0;<a
+href="#x1-320005">5<!--tex4ht:ref: chap5 --></a>, we have seen the differences between schematic for simulation and schematic
+for PCB design. Let us design the PCB for an RC circuit. A resistor, capacitor, ground, power
+flag and a connector are required. Connectors are used to take signals in and out of the
+PCB.
+<!--l. 22--><p class="indent" > Create the circuit schematic as shown in Fig.&#x00A0;<a
+href="#x1-610011">7.1<!--tex4ht:ref: pcbschfin --></a>. The two pin connector (<span
+class="cmti-10x-x-109">CONN</span><span
+class="cmti-10x-x-109">_2</span>) can
+be placed from the EEschema library <span
+class="cmti-10x-x-109">conn</span>. See Sec.&#x00A0;<span
+class="cmbx-10x-x-109">??</span> to know more about EEschema
+library <span
+class="cmti-10x-x-109">conn</span>. Do the annotation and test for ERC. Refer to Chapter&#x00A0;<a
+href="#x1-320005">5<!--tex4ht:ref: chap5 --></a> to know more about
+basic steps in schematic creation.
+<!--l. 29--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-610011"></a>
+
+
+<!--l. 31--><p class="noindent" ><img
+src="figures/pcbschfin.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;7.1: </span><span
+class="content">Final circuit schematic for RC low pass circuit</span></div><!--tex4ht:label?: x1-610011 -->
+
+<!--l. 34--><p class="indent" > </div><hr class="endfigure">
+ <h4 class="subsectionHead"><span class="titlemark">7.1.1 </span> <a
+ id="x1-620007.1.1"></a>Netlist generation for PCB</h4>
+<a
+ id="dx1-62001"></a>
+<a
+ id="dx1-62002"></a>
+<!--l. 39--><p class="noindent" >The netlist for PCB is different from that for simulation. To generate netlist for PCB, click on
+the <span
+class="cmti-10x-x-109">Generate netlist </span>tool from the top toolbar in Schematic editor. In the Netlist window,
+under the tab <span
+class="cmti-10x-x-109">Pcbnew</span>, <a
+ id="dx1-62003"></a>click on the button <span
+class="cmti-10x-x-109">Netlist</span>. This is shown in Fig.&#x00A0;<a
+href="#x1-620042">7.2<!--tex4ht:ref: netlistpcb --></a>. Click on
+<span
+class="cmti-10x-x-109">Save </span>in the Save netlist file dialog box that opens up. Do not change the directory
+or the name of the netlist file. Save the schematic and close the schematic editor.
+<hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-620042"></a>
+
+
+<!--l. 49--><p class="noindent" ><img
+src="figures/netlistpcb.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;7.2: </span><span
+class="content">Netlist generation for PCB</span></div><!--tex4ht:label?: x1-620042 -->
+
+<!--l. 52--><p class="indent" > </div><hr class="endfigure">
+<!--l. 53--><p class="indent" > <span
+class="cmti-10x-x-109">Note that the netlist for PCB has an extension </span><span
+class="cmtt-10x-x-109">.net</span><span
+class="cmti-10x-x-109">. The netlist created for simulation</span>
+<span
+class="cmti-10x-x-109">has an extension </span><span
+class="cmtt-10x-x-109">.cir</span>.
+ <h4 class="subsectionHead"><span class="titlemark">7.1.2 </span> <a
+ id="x1-630007.1.2"></a>Mapping of components using Footprint Editor</h4>
+<a
+ id="dx1-63001"></a>
+<a
+ id="dx1-63002"></a>
+<a
+ id="dx1-63003"></a>
+<!--l. 60--><p class="noindent" >Once the netlist for PCB is created, one needs to map each component in the netlist to a
+footprint. The tool <span
+class="cmti-10x-x-109">Footprint Editor </span>is used for this. eSim uses <span
+class="cmtt-10x-x-109">CvPcb </span>as its footprint editor.
+<span
+class="cmtt-10x-x-109">CvPcb </span>is the footprint editor tool in KiCad. <a
+ id="dx1-63004"></a>
+<!--l. 65--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">7.1.3 </span> <a
+ id="x1-640007.1.3"></a>Familiarising the Footprint Editor tool</h4>
+<a
+ id="dx1-64001"></a>
+<!--l. 68--><p class="noindent" >If one opens the <span
+class="cmti-10x-x-109">Footprint Editor </span>after creating the <span
+class="cmtt-10x-x-109">.net </span>netlist file, the Footprint editor as
+shown in Fig.&#x00A0;<a
+href="#x1-640023">7.3<!--tex4ht:ref: fe --></a> will be obtained. The menu bar and toolbars and the panes are marked in
+this figure. The menu bar will be available in the top left corner. The left pane has a list of
+components in the netlist file and the right pane has a list of available footprints for each
+component. <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-640023"></a>
+
+
+<!--l. 76--><p class="noindent" ><img
+src="figures/fe.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;7.3: </span><span
+class="content">Footprint editor with the menu bar, toolbar, left pane and right pane
+marked</span></div><!--tex4ht:label?: x1-640023 -->
+
+<!--l. 79--><p class="indent" > </div><hr class="endfigure">
+<!--l. 80--><p class="indent" > <span
+class="cmti-10x-x-109">Note that if the Footprint Editor is opened before creating a &#8216;.net&#8217; file, then the left and</span>
+<span
+class="cmti-10x-x-109">right panes will be empty</span>.
+ <h5 class="subsubsectionHead"><a
+ id="x1-650007.1.3"></a>Toolbar</h5>
+<!--l. 83--><p class="noindent" >Some of the important tools in the toolbar are shown in Fig.&#x00A0;<a
+href="#x1-650014">7.4<!--tex4ht:ref: tb_fe --></a>. They are explained below:
+<hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-650014"></a>
+
+
+<!--l. 87--><p class="noindent" ><img
+src="figures/tb_fe.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;7.4: </span><span
+class="content">Some important tools in the toolbar</span></div><!--tex4ht:label?: x1-650014 -->
+
+<!--l. 90--><p class="indent" > </div><hr class="endfigure">
+ <dl class="compactenum"><dt class="compactenum">
+ 1. </dt><dd
+class="compactenum">Save netlist and footprint files - Save the netlist and the footprints that are
+ associated with it.
+ </dd><dt class="compactenum">
+ 2. </dt><dd
+class="compactenum">View selected footprint - View the selected footprint in 2D. See Sec.&#x00A0;<a
+href="#x1-660007.1.4">7.1.4<!--tex4ht:ref: viewfp --></a> for more
+ details.
+ </dd><dt class="compactenum">
+ 3. </dt><dd
+class="compactenum">Automatic footprint association - Perform footprint association for each
+ component automatically. Footprints will be selected from the list of footprints
+ available.
+ </dd><dt class="compactenum">
+ 4. </dt><dd
+class="compactenum">Delete all associations - Delete all the footprint associations made
+ </dd><dt class="compactenum">
+ 5. </dt><dd
+class="compactenum">Display filtered footprint list - Display a filtered list of footprints suitable to the
+ selected component
+ </dd><dt class="compactenum">
+ 6. </dt><dd
+class="compactenum">Display full footprint list - Display the list of all footprints available (without
+ filtering)</dd></dl>
+ <h4 class="subsectionHead"><span class="titlemark">7.1.4 </span> <a
+ id="x1-660007.1.4"></a>Viewing footprints in 2D and 3D</h4>
+<a
+ id="dx1-66001"></a>
+<a
+ id="dx1-66002"></a>
+<!--l. 111--><p class="noindent" >To view a footprint in 2D, select it from the right pane and click on <span
+class="cmti-10x-x-109">View selected footprint</span>
+from the menu bar. Let us view the footprint for <span
+class="cmtt-10x-x-109">SM1210</span>. Choose SM1210 from
+the right pane as shown in Fig.&#x00A0;<a
+href="#x1-660035">7.5<!--tex4ht:ref: sm --></a>. On clicking the <span
+class="cmti-10x-x-109">View selected footprint </span>tool,
+the <span
+class="cmtt-10x-x-109">Footprint </span>window with the view in 2D will be displayed. Click on the <span
+class="cmti-10x-x-109">3D</span>
+tool in the <span
+class="cmtt-10x-x-109">Footprint </span>window, as shown in Fig.&#x00A0;<a
+href="#x1-660046">7.6<!--tex4ht:ref: 3d --></a>. A top view of the selected
+footprint in 3D is obtained. Click on the footprint and rotate it using mouse to get 3D
+views from various angles. One such side view of the footprint in 3D is shown in
+Fig.&#x00A0;<a
+href="#x1-660057">7.7<!--tex4ht:ref: 3dv --></a>.
+<!--l. 122--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-660035"></a>
+
+
+<!--l. 124--><p class="noindent" ><img
+src="figures/sm.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;7.5: </span><span
+class="content">Viewing footprint for SM1210: 1. Choose the footprint SM1210 from the
+right pane, 2. Click on <span
+class="cmti-10x-x-109">View selected footprint</span></span></div><!--tex4ht:label?: x1-660035 -->
+
+<!--l. 128--><p class="indent" > </div><hr class="endfigure">
+<!--l. 129--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-660046"></a>
+
+
+<!--l. 131--><p class="noindent" ><img
+src="figures/3d.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;7.6: </span><span
+class="content">Footprint view in 2D. Click on <span
+class="cmti-10x-x-109">3D </span>to get 3D view</span></div><!--tex4ht:label?: x1-660046 -->
+
+<!--l. 134--><p class="indent" > </div><hr class="endfigure">
+<!--l. 135--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-660057"></a>
+
+
+<!--l. 137--><p class="noindent" ><img
+src="figures/3dv.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;7.7: </span><span
+class="content">Side view of the footprint in 3D</span></div><!--tex4ht:label?: x1-660057 -->
+
+<!--l. 140--><p class="indent" > </div><hr class="endfigure">
+ <h4 class="subsectionHead"><span class="titlemark">7.1.5 </span> <a
+ id="x1-670007.1.5"></a>Mapping of components in the RC circuit</h4>
+<!--l. 143--><p class="noindent" >Click on <span
+class="cmtt-10x-x-109">C1 </span>from the left pane. Choose the footprint <span
+class="cmti-10x-x-109">C1 </span>from the right pane by double
+clicking on it. Click on connector <span
+class="cmtt-10x-x-109">P1 </span>from the left pane. Choose the footprint <span
+class="cmti-10x-x-109">SIL-2 </span>from the
+right pane by double clicking on it. Similarly choose the footprint <span
+class="cmti-10x-x-109">R3 </span>for the resistor <span
+class="cmtt-10x-x-109">R1</span>. The
+footprint mapping is shown in Fig.&#x00A0;<a
+href="#x1-670018">7.8<!--tex4ht:ref: map --></a>. Save the footprint association by clicking on the <span
+class="cmti-10x-x-109">Save</span>
+<span
+class="cmti-10x-x-109">netlist and footprint files </span>tool from the <span
+class="cmtt-10x-x-109">CvPcb </span>toolbar. The <span
+class="cmtt-10x-x-109">Save Net and component List</span>
+window appears. Browse to the directory where the schematic file for this project is saved and
+click on <span
+class="cmti-10x-x-109">Save</span>. The netlist gets saved and the <span
+class="cmti-10x-x-109">Footprint Editor </span>window closes automatically.
+<hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-670018"></a>
+
+
+<!--l. 156--><p class="noindent" ><img
+src="figures/map.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;7.8: </span><span
+class="content">Footprint mapping done</span></div><!--tex4ht:label?: x1-670018 -->
+
+<!--l. 159--><p class="indent" > </div><hr class="endfigure">
+<!--l. 160--><p class="indent" > <span
+class="cmti-10x-x-109">Note that one needs to browse to the directory where the schematic file is saved and save</span>
+<span
+class="cmti-10x-x-109">the &#8216;.net&#8217; file in the same directory</span>.
+ <h3 class="sectionHead"><span class="titlemark">7.2 </span> <a
+ id="x1-680007.2"></a>Creation of PCB layout</h3>
+<a
+ id="dx1-68001"></a>
+<a
+ id="dx1-68002"></a>
+<!--l. 165--><p class="noindent" >The next step is to place the footprints and lay tracks between them to get the layout. This is
+done using the <span
+class="cmti-10x-x-109">Layout Editor </span>tool. eSim uses <span
+class="cmtt-10x-x-109">Pcbnew</span>, the layout creation tool in KiCad, as its
+layout editor.
+<!--l. 170--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">7.2.1 </span> <a
+ id="x1-690007.2.1"></a>Familiarising the Layout Editor tool</h4>
+<a
+ id="dx1-69001"></a>
+<!--l. 173--><p class="noindent" >The layout editor with the various menu bar and toolbars is shown in Fig.&#x00A0;<a
+href="#x1-690029">7.9<!--tex4ht:ref: pcbnew --></a>.
+<hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-690029"></a>
+
+
+<!--l. 177--><p class="noindent" ><img
+src="figures/pcbnew.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;7.9: </span><span
+class="content">Layout editor with menu bar, toolbars and layer options marked</span></div><!--tex4ht:label?: x1-690029 -->
+
+<!--l. 180--><p class="indent" > </div><hr class="endfigure">
+<!--l. 181--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-6900310"></a>
+
+
+<!--l. 183--><p class="noindent" ><img
+src="figures/toptble.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;7.10: </span><span
+class="content">Top toolbar with important tools marked</span></div><!--tex4ht:label?: x1-6900310 -->
+
+<!--l. 186--><p class="indent" > </div><hr class="endfigure">
+ <h5 class="subsubsectionHead"><a
+ id="x1-700007.2.1"></a>Top toolbar</h5>
+<!--l. 189--><p class="noindent" >Some of the important menu options in the top menu bar are shown in Fig.&#x00A0;<a
+href="#x1-6900310">7.10<!--tex4ht:ref: toptble --></a>. They are
+explained below:
+ <dl class="compactenum"><dt class="compactenum">
+ 1. </dt><dd
+class="compactenum">Save board - Save the printed circuit board
+ </dd><dt class="compactenum">
+ 2. </dt><dd
+class="compactenum">Module editor - Open module editor to edit footprint modules or libraries
+ </dd><dt class="compactenum">
+ 3. </dt><dd
+class="compactenum">Read netlist - Import the netlist whose layout needs to be created.
+ </dd><dt class="compactenum">
+ 4. </dt><dd
+class="compactenum">Perform design rules check - Check for design rules, unconnected nets, etc., in the
+ layout.
+ </dd><dt class="compactenum">
+ 5. </dt><dd
+class="compactenum">Select working layer - Selection of working layer
+ </dd><dt class="compactenum">
+ 6. </dt><dd
+class="compactenum">Show active layer selections and select layer pair for route and place - Select layer
+ in top and bottom layers. It also shows the currently active layer selections.
+ </dd><dt class="compactenum">
+ 7. </dt><dd
+class="compactenum">Mode footprint: Manual/automatic move and place - Move and place modules</dd></dl>
+<!--l. 207--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">7.2.2 </span> <a
+ id="x1-710007.2.2"></a>Hotkeys</h4>
+<a
+ id="dx1-71001"></a>
+<!--l. 209--><p class="noindent" >A list of hotkeys are given below:
+ <dl class="compactenum"><dt class="compactenum">
+ 1. </dt><dd
+class="compactenum">F1 - Zoom in
+ </dd><dt class="compactenum">
+ 2. </dt><dd
+class="compactenum">F2 - Zoom out
+ </dd><dt class="compactenum">
+ 3. </dt><dd
+class="compactenum">Delete - Delete Track or Footprint
+ </dd><dt class="compactenum">
+ 4. </dt><dd
+class="compactenum">X - Add new track
+ </dd><dt class="compactenum">
+ 5. </dt><dd
+class="compactenum">V - Add Via
+ </dd><dt class="compactenum">
+ 6. </dt><dd
+class="compactenum">M - Move Item
+
+ </dd><dt class="compactenum">
+ 7. </dt><dd
+class="compactenum">F - Flip Footprint
+ </dd><dt class="compactenum">
+ 8. </dt><dd
+class="compactenum">R - Rotate Item
+ </dd><dt class="compactenum">
+ 9. </dt><dd
+class="compactenum">G - Drag Footprint
+ </dd><dt class="compactenum">
+ 10. </dt><dd
+class="compactenum">Ctrl+Z - Undo
+ </dd><dt class="compactenum">
+ 11. </dt><dd
+class="compactenum">E - Edit Item</dd></dl>
+<!--l. 223--><p class="noindent" >The list can be viewed by selecting <span
+class="cmti-10x-x-109">Preferences </span>from the top menu bar and choosing <span
+class="cmti-10x-x-109">List Current</span>
+<span
+class="cmti-10x-x-109">Keys </span>from the option <span
+class="cmti-10x-x-109">Hotkeys</span>.
+<!--l. 227--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">7.2.3 </span> <a
+ id="x1-720007.2.3"></a>PCB design example using RC circuit</h4>
+<a
+ id="dx1-72001"></a>
+<!--l. 228--><p class="noindent" >Click on <span
+class="cmti-10x-x-109">Layout Editor </span>from the eSim toolbar. Click on <span
+class="cmti-10x-x-109">Read Netlist </span>tool from the top
+toolbar. Click on <span
+class="cmti-10x-x-109">Browse Netlist files </span>on the Netlist window that opens up. Select the <span
+class="cmtt-10x-x-109">.net </span>file
+that was modified after assigning footprints. Click on <span
+class="cmti-10x-x-109">Open</span>. Now Click on <span
+class="cmti-10x-x-109">Read Current</span>
+<span
+class="cmti-10x-x-109">Netlist </span>on the Netlist window. The message area in the Netlist window says that
+the RC_pcb.net has been read. The sequence of operations is shown in Fig.&#x00A0;<a
+href="#x1-7200411">7.11<!--tex4ht:ref: brnet --></a>.
+<a
+ id="dx1-72002"></a><a
+ id="dx1-72003"></a><hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-7200411"></a>
+
+
+<!--l. 239--><p class="noindent" ><img
+src="figures/rcpcb.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;7.11: </span><span
+class="content">Importing netlist file to layout editor: 1. Browse netlist Files, 2. Choose
+the RC_pcb.net file, 3. Read Netlist file, 4. Close</span></div><!--tex4ht:label?: x1-7200411 -->
+
+<!--l. 243--><p class="indent" > </div><hr class="endfigure">
+<!--l. 244--><p class="indent" > The footprint modules will now be imported to the top left hand corner of the layout
+editor window. This is shown in Fig.&#x00A0;<a
+href="#x1-7200512">7.12<!--tex4ht:ref: netlisttop --></a>. <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-7200512"></a>
+
+
+<!--l. 248--><p class="noindent" ><img
+src="figures/netlisttop.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;7.12: </span><span
+class="content">Footprint modules imported to top left corner of layout editor window</span></div><!--tex4ht:label?: x1-7200512 -->
+
+<!--l. 251--><p class="indent" > </div><hr class="endfigure">
+<!--l. 252--><p class="indent" > Zoom in to the top left corner by pressing the key <span
+class="cmtt-10x-x-109">F1 </span>or using the scroll button of the
+mouse. The zoomed in version of the imported netlist is shown in Fig.&#x00A0;<a
+href="#x1-7200613">7.13<!--tex4ht:ref: zoom --></a>.
+<!--l. 256--><p class="indent" > Let us now place this in the center of the layout editor window. <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-7200613"></a>
+
+
+<!--l. 260--><p class="noindent" ><img
+src="figures/zoom.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;7.13: </span><span
+class="content">Zoomed in version of the imported netlist</span></div><!--tex4ht:label?: x1-7200613 -->
+
+<!--l. 263--><p class="indent" > </div><hr class="endfigure">
+<!--l. 264--><p class="indent" > Click on <span
+class="cmti-10x-x-109">Mode footprint: Manual/automatic move and place </span>tool from the top toolbar.
+Place the cursor near the center of the layout editor window. Right click and choose <span
+class="cmti-10x-x-109">Glob</span>
+<span
+class="cmti-10x-x-109">move and place</span>. Choose <span
+class="cmti-10x-x-109">move all modules</span>. The sequence of operations is shown in Fig.&#x00A0;<a
+href="#x1-7200714">7.14<!--tex4ht:ref: movep --></a>.
+Click on <span
+class="cmti-10x-x-109">Yes </span>on the confirmation window to move the modules. Zoom in using the F1 key.
+The current placement of components after zooming in is shown in Fig.&#x00A0;<a
+href="#x1-72008r1">7.15a<!--tex4ht:ref: curplace --></a>.
+<hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-7200714"></a>
+
+
+<!--l. 273--><p class="noindent" ><img
+src="figures/movep.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;7.14: </span><span
+class="content">Moving and placing modules to the center of layout editor. 1. Click on
+<span
+class="cmti-10x-x-109">Mode footprint: Manual/automatic move and place</span>, 2. Place cursor at center of layout
+editor and right click on it 3. Choose <span
+class="cmti-10x-x-109">Glob Move and Place </span>and then choose <span
+class="cmti-10x-x-109">Move All</span>
+<span
+class="cmti-10x-x-109">Modules.</span></span></div><!--tex4ht:label?: x1-7200714 -->
+
+<!--l. 280--><p class="indent" > </div><hr class="endfigure">
+<!--l. 287--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-7201015"></a>
+
+<a
+ id="x1-72008r1"></a>
+<!--l. 291--><p class="noindent" > <img
+src="figures/curplace.png" alt="PIC"
+>
+<span
+class="cmr-9">(a)</span>
+<span
+class="cmr-9">Zoomed</span>
+<span
+class="cmr-9">in</span>
+<span
+class="cmr-9">version</span>
+<span
+class="cmr-9">of the</span>
+<span
+class="cmr-9">current</span>
+<span
+class="cmr-9">placement</span>
+<span
+class="cmr-9">after</span>
+<span
+class="cmr-9">moving</span>
+<span
+class="cmr-9">modules</span>
+<span
+class="cmr-9">to the</span>
+<span
+class="cmr-9">center</span>
+<span
+class="cmr-9">of the</span>
+<span
+class="cmr-9">layout</span>
+<span
+class="cmr-9">editor</span> <a
+ id="x1-72009r2"></a> <img
+src="figures/fplace.png" alt="PIC"
+>
+ <span
+class="cmr-9">(b)</span>
+ <span
+class="cmr-9">Final</span>
+ <span
+class="cmr-9">placement</span>
+ <span
+class="cmr-9">of</span>
+ <span
+class="cmr-9">footprints</span>
+ <span
+class="cmr-9">after</span>
+ <span
+class="cmr-9">rotating</span>
+ <span
+class="cmr-9">and</span>
+ <span
+class="cmr-9">moving</span>
+ <span
+class="cmr-9">P1</span>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;7.15: </span><span
+class="content">Different stages of placement of modules on PCB</span></div><!--tex4ht:label?: x1-7201015 -->
+
+<!--l. 296--><p class="indent" > </div><hr class="endfigure">
+<!--l. 297--><p class="indent" > We need to arrange the modules properly to lay tracks. Rotate the connector P1 by
+placing the cursor on top of P1 and pressing R. Move it by placing the cursor on top of it and
+pressing M. The final placement is shown in Fig.&#x00A0;<a
+href="#x1-72009r2">7.15b<!--tex4ht:ref: fplace --></a>. <a
+ id="dx1-72011"></a>
+<!--l. 303--><p class="indent" > Let us now lay the tracks. Let us first change the track width. Click on <span
+class="cmti-10x-x-109">Design rules </span>from
+the top menu bar. Click on <span
+class="cmti-10x-x-109">Design rules</span>. This is shown in Fig.&#x00A0;<a
+href="#x1-7201416">7.16<!--tex4ht:ref: drules --></a>. The <span
+class="cmti-10x-x-109">Design Rules Editor</span>
+window opens up. Here one can edit the various design rules. Double click on the track width
+field to edit it. Type 0.8 and press <span
+class="cmtt-10x-x-109">Enter</span>. Click on OK. Fig.&#x00A0;<a
+href="#x1-7201517">7.17<!--tex4ht:ref: druleedit --></a> shows the sequence of
+operations. <a
+ id="dx1-72012"></a><a
+ id="dx1-72013"></a> <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-7201416"></a>
+
+
+<!--l. 313--><p class="noindent" ><img
+src="figures/drules.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;7.16: </span><span
+class="content">Choose <span
+class="cmti-10x-x-109">Design Rules </span>from the top menu bar and <span
+class="cmti-10x-x-109">Design Rules </span>again</span></div><!--tex4ht:label?: x1-7201416 -->
+
+<!--l. 317--><p class="indent" > </div><hr class="endfigure">
+<!--l. 318--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-7201517"></a>
+
+
+<!--l. 320--><p class="noindent" ><img
+src="figures/druleedit.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;7.17: </span><span
+class="content">Changing the track width: 1. Double click on <span
+class="cmti-10x-x-109">Track Width </span>field and type
+0.8, 2. Click on <span
+class="cmti-10x-x-109">OK</span></span></div><!--tex4ht:label?: x1-7201517 -->
+
+<!--l. 324--><p class="indent" > </div><hr class="endfigure">
+<!--l. 326--><p class="indent" > Click on <span
+class="cmti-10x-x-109">Back </span>from the <span
+class="cmti-10x-x-109">Layer </span>options as shown in Fig.&#x00A0;<a
+href="#x1-7201718">7.18<!--tex4ht:ref: layer --></a>. <a
+ id="dx1-72016"></a><hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-7201718"></a>
+
+
+<!--l. 330--><p class="noindent" ><img
+src="figures/layer.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;7.18: </span><span
+class="content">Choosing the copper layer <span
+class="cmti-10x-x-109">Back</span></span></div><!--tex4ht:label?: x1-7201718 -->
+
+<!--l. 333--><p class="indent" > </div><hr class="endfigure">
+<!--l. 334--><p class="indent" > Let us now start laying the tracks. Place the cursor above the left terminal of R1
+in the layout editor window. Press the key <span
+class="cmtt-10x-x-109">x</span>. Move the cursor down and double
+click on the left terminal of C1. A track is formed. This is shown in Fig.&#x00A0;<a
+href="#x1-72018r1">7.19a<!--tex4ht:ref: track1 --></a>.
+<hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-7202119"></a>
+
+<a
+ id="x1-72018r1"></a>
+<!--l. 342--><p class="noindent" > <img
+src="figures/track1.png" alt="PIC"
+>
+<span
+class="cmr-9">(a) A</span>
+<span
+class="cmr-9">track</span>
+<span
+class="cmr-9">formed</span>
+<span
+class="cmr-9">between</span>
+<span
+class="cmr-9">resistor</span>
+<span
+class="cmr-9">and</span>
+<span
+class="cmr-9">capacitor</span> <a
+ id="x1-72019r2"></a> <img
+src="figures/track2.png" alt="PIC"
+>
+ <span
+class="cmr-9">(b) A</span>
+ <span
+class="cmr-9">track</span>
+ <span
+class="cmr-9">formed</span>
+ <span
+class="cmr-9">between</span>
+ <span
+class="cmr-9">capacitor</span>
+ <span
+class="cmr-9">and</span>
+ <span
+class="cmr-9">connector</span> <a
+ id="x1-72020r3"></a> <img
+src="figures/track3.png" alt="PIC"
+>
+ <span
+class="cmr-9">(c) A</span>
+ <span
+class="cmr-9">track</span>
+ <span
+class="cmr-9">formed</span>
+ <span
+class="cmr-9">between</span>
+ <span
+class="cmr-9">connector</span>
+ <span
+class="cmr-9">and</span>
+ <span
+class="cmr-9">resistor</span>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;7.19: </span><span
+class="content">Different stages of laying tracks during PCB design</span></div><!--tex4ht:label?: x1-7202119 -->
+
+<!--l. 350--><p class="indent" > </div><hr class="endfigure">
+<!--l. 351--><p class="indent" > Similarly lay the track between capacitor C1 and connector P1 as shown in
+Fig.&#x00A0;<a
+href="#x1-72019r2">7.19b<!--tex4ht:ref: track2 --></a>. The last track needs to be laid at an angle. To do so, place the cursor
+above the second terminal of R1. Press the key x and move the cursor diagonally
+down. Double click on the other terminal of the connector. The track will be laid
+as shown in Fig.&#x00A0;<a
+href="#x1-72020r3">7.19c<!--tex4ht:ref: track3 --></a>. All tracks are now laid. The next step is to create PCB
+edges.
+<!--l. 359--><p class="indent" > Choose <span
+class="cmti-10x-x-109">PCB</span><span
+class="cmti-10x-x-109">_edges </span>from the <span
+class="cmti-10x-x-109">Layer </span>options to add edges. Click on <span
+class="cmti-10x-x-109">Add graphic line or</span>
+<span
+class="cmti-10x-x-109">polygon </span>from the toolbar on the left. Fig.&#x00A0;<a
+href="#x1-7202320">7.20<!--tex4ht:ref: pcbedges --></a> shows the sequence of operations. Let us now
+start drawing edges for PCB. <a
+ id="dx1-72022"></a><hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-7202320"></a>
+
+
+<!--l. 366--><p class="noindent" ><img
+src="figures/pcbedges.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;7.20: </span><span
+class="content">Creating PCB edges: 1. Choose <span
+class="cmti-10x-x-109">PCB</span><span
+class="cmti-10x-x-109">_Edges </span>from <span
+class="cmti-10x-x-109">Layer </span>options 2. Choose
+<span
+class="cmti-10x-x-109">Add graphic line or polygon </span>from left toolbar</span></div><!--tex4ht:label?: x1-7202320 -->
+
+<!--l. 371--><p class="indent" > </div><hr class="endfigure">
+<!--l. 372--><p class="indent" > Click to the left of the layout. Move cursor horizontally to the right. Click once to change
+orientation. Move cursor vertically down. Draw the edges as shown in Fig.&#x00A0;<a
+href="#x1-7202421">7.21<!--tex4ht:ref: pcbed --></a>. Double click
+to finish drawing the edges. <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-7202421"></a>
+
+
+<!--l. 378--><p class="noindent" ><img
+src="figures/pcbed.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;7.21: </span><span
+class="content">PCB edges drawn</span></div><!--tex4ht:label?: x1-7202421 -->
+
+<!--l. 381--><p class="indent" > </div><hr class="endfigure">
+<!--l. 383--><p class="indent" > Click on <span
+class="cmti-10x-x-109">Perform design rules check </span>from the top toolbar to check for design rules. The
+<span
+class="cmti-10x-x-109">DRC Control </span>window opens up. Click on <span
+class="cmti-10x-x-109">Start DRC</span>. There are no errors under the <span
+class="cmtt-10x-x-109">Error</span>
+<span
+class="cmtt-10x-x-109">messages </span>tab. Click on <span
+class="cmti-10x-x-109">OK </span>to close DRC control window. Fig.&#x00A0;<a
+href="#x1-7202622">7.22<!--tex4ht:ref: drc --></a> shows the sequence of
+operations. <a
+ id="dx1-72025"></a><hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-7202622"></a>
+
+
+<!--l. 391--><p class="noindent" ><img
+src="figures/drc.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;7.22: </span><span
+class="content">Performing design rules check: 1. Click on <span
+class="cmti-10x-x-109">Start DRC</span>, 2. Click on <span
+class="cmti-10x-x-109">Ok</span></span></div><!--tex4ht:label?: x1-7202622 -->
+
+<!--l. 395--><p class="indent" > </div><hr class="endfigure">
+<!--l. 396--><p class="indent" > Click on <span
+class="cmti-10x-x-109">Save board </span>on the top toolbar.
+<!--l. 398--><p class="indent" > To generate Gerber files, click on <span
+class="cmti-10x-x-109">File </span>from the top menu bar. Click on <span
+class="cmti-10x-x-109">Plot</span>. This is shown
+in Fig.&#x00A0;<a
+href="#x1-7202823">7.23<!--tex4ht:ref: plot --></a>. The plot window opens up. One can choose which layers to plot by
+selecting/deselecting them from the <span
+class="cmtt-10x-x-109">Layers </span>pane on the left side. One can also choose the
+format used to plot them. Choose <span
+class="cmti-10x-x-109">Gerber</span>. The output directory of the plots created
+can also be chosen. By default, it is the project directory. Some more options can
+be chosen in this window. Click on <span
+class="cmti-10x-x-109">Plot</span>. The message window shows the location
+in which the Gerber files are created. Click on <span
+class="cmti-10x-x-109">Close</span>. This is shown in Fig.&#x00A0;<a
+href="#x1-7202924">7.24<!--tex4ht:ref: plot2 --></a>.
+<a
+ id="dx1-72027"></a><hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-7202823"></a>
+
+
+<!--l. 411--><p class="noindent" ><img
+src="figures/plot.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;7.23: </span><span
+class="content">Choosing <span
+class="cmti-10x-x-109">Plot </span>from the <span
+class="cmti-10x-x-109">File </span>menu</span></div><!--tex4ht:label?: x1-7202823 -->
+
+<!--l. 414--><p class="indent" > </div><hr class="endfigure">
+<!--l. 415--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-7202924"></a>
+
+
+<!--l. 417--><p class="noindent" ><img
+src="figures/plot2.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;7.24: </span><span
+class="content">Creating Gerber files: 1. Choose <span
+class="cmti-10x-x-109">Gerber </span>as the plot format, 2. Click on
+<span
+class="cmti-10x-x-109">Plot</span>. Message window shows location in which Gerber files are created, 3. Click on <span
+class="cmti-10x-x-109">Close</span></span></div><!--tex4ht:label?: x1-7202924 -->
+
+<!--l. 422--><p class="indent" > </div><hr class="endfigure">
+<!--l. 423--><p class="indent" > The PCB design of RC circuit is now complete. To know more about Pcbnew, refer to <span class="cite">&#x00A0;[<span
+class="cmbx-10x-x-109">?</span>]</span>
+or <span class="cite">&#x00A0;[<span
+class="cmbx-10x-x-109">?</span>]</span>.
+
+ <h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;8</span><br /><a
+ id="x1-730008"></a>Model Editor</h2>
+<!--l. 3--><p class="noindent" >Spice based simulators include a feature which allows accurate modeling of semiconductor
+devices such as diodes, transistors etc. eSim Model Builder provides a facility to define a new
+model for devices such as diodes, MOSFET, BJT, JFET, IGBT, Magnetic core etc. Model
+Builder in eSim lets the user enter the values of parameters depending on the type of device
+for which a model is required. The parameter values can be obtained from the data-sheet
+of the device. A newly created model can be exported to the model library and
+one can import it for different projects, whenever required. Model Builder also
+provides a facility to edit existing models. The GUI of the model editor is as shown in
+Fig.&#x00A0;<a
+href="#x1-730011">8.1<!--tex4ht:ref: modeleditor --></a>
+<!--l. 14--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-730011"></a>
+
+
+<!--l. 16--><p class="noindent" ><img
+src="figures/modeleditor.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;8.1: </span><span
+class="content">Model Editor</span></div><!--tex4ht:label?: x1-730011 -->
+
+<!--l. 19--><p class="indent" > </div><hr class="endfigure">
+ <h3 class="sectionHead"><span class="titlemark">8.1 </span> <a
+ id="x1-740008.1"></a>Creating New Model Library </h3>
+<!--l. 23--><p class="noindent" >eSim lets used create new model libraries based on the template model libraries. on selecting
+<span
+class="cmti-10x-x-109">New </span>button the window is popped to name the new library file. The library file has to be
+unique otherwise the error message appears on the window.
+<!--l. 26--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-740012"></a>
+
+
+<!--l. 28--><p class="noindent" ><img
+src="figures/modeleditor_new.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;8.2: </span><span
+class="content">Creating New Model Library</span></div><!--tex4ht:label?: x1-740012 -->
+
+<!--l. 31--><p class="indent" > </div><hr class="endfigure">
+<!--l. 33--><p class="indent" > After the OK button is pressed the type of model library to be created is chosen by
+selecting one of the types on the left hand side i.e. <span
+class="cmtt-10x-x-109">Diode, BJT, MOS, JFET, IGBT,</span>
+<span
+class="cmtt-10x-x-109">Magnetic Core</span>. The template model library is then opened in the tabular form. As shown in
+Fig.&#x00A0;<a
+href="#x1-740023">8.3<!--tex4ht:ref: modelnew --></a>
+<!--l. 35--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-740023"></a>
+
+
+<!--l. 37--><p class="noindent" ><img
+src="figures/modelnew.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;8.3: </span><span
+class="content">Choosing the Template Model Library </span></div><!--tex4ht:label?: x1-740023 -->
+
+<!--l. 40--><p class="indent" > </div><hr class="endfigure">
+<!--l. 42--><p class="indent" > The new parameters can be added or a current parameters can be removed using <span
+class="cmti-10x-x-109">ADD</span>
+and <span
+class="cmti-10x-x-109">REMOVE </span>buttons. Also the values of parameters can be changed in the table. The
+adding and removing of the parameters in a library files is as shown in the Fig.&#x00A0;<a
+href="#x1-740034">8.4<!--tex4ht:ref: modeladd --></a> and
+Fig.&#x00A0;<a
+href="#x1-740045">8.5<!--tex4ht:ref: modelremove --></a>
+<!--l. 44--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-740034"></a>
+
+
+<!--l. 46--><p class="noindent" ><img
+src="figures/modeladd.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;8.4: </span><span
+class="content">Adding the Paramter in a Library </span></div><!--tex4ht:label?: x1-740034 -->
+
+<!--l. 49--><p class="indent" > </div><hr class="endfigure">
+<!--l. 51--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-740045"></a>
+
+
+<!--l. 53--><p class="noindent" ><img
+src="figures/modelremove.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;8.5: </span><span
+class="content">Removing a Parameter from a Library </span></div><!--tex4ht:label?: x1-740045 -->
+
+<!--l. 56--><p class="indent" > </div><hr class="endfigure">
+<!--l. 58--><p class="indent" > After the editing of the model library is done the file can be saved selecting the <span
+class="cmti-10x-x-109">SAVE</span>
+button. These libraries are saved in the <span
+class="cmti-10x-x-109">Use Libraries </span>folder under <span
+class="cmti-10x-x-109">DecviceModelLibrary </span>folder
+in the project folder.
+ <h3 class="sectionHead"><span class="titlemark">8.2 </span> <a
+ id="x1-750008.2"></a>Editing Current Model Library</h3>
+<!--l. 61--><p class="noindent" >The current model library can be saved using <span
+class="cmti-10x-x-109">EDIT </span>option. On clicking the <span
+class="cmti-10x-x-109">EDIT </span>button the
+file dialog opens where all the library files are saved as shown in Fig.&#x00A0;<a
+href="#x1-750016">8.6<!--tex4ht:ref: modeledit --></a>
+<!--l. 63--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-750016"></a>
+
+
+<!--l. 65--><p class="noindent" ><img
+src="figures/modeledit.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;8.6: </span><span
+class="content">Editing Existing Model Library</span></div><!--tex4ht:label?: x1-750016 -->
+
+<!--l. 68--><p class="indent" > </div><hr class="endfigure">
+<!--l. 70--><p class="indent" > Further on clicking the <span
+class="cmti-10x-x-109">SAVE </span>button the edited model library is saved in the <span
+class="cmti-10x-x-109">Use</span>
+<span
+class="cmti-10x-x-109">Libraries </span>folder under <span
+class="cmti-10x-x-109">DecviceModelLibrary </span>folder in the project folder.
+ <h3 class="sectionHead"><span class="titlemark">8.3 </span> <a
+ id="x1-760008.3"></a>Converting Library file to XML file</h3>
+<!--l. 73--><p class="noindent" >eSim can not read the model library file in the .lib form. The file needs to be converted into
+XML so as to make it readable and editable in model editor. Any new netlist that user wants
+to use in the eSim need to be convertedinto xml before using it in a project. hence eSim
+provides us to upload the new netlist which converts in into xml. on clicking UPLOAD button
+the netlist can be uploaded from any location and further on saving the file the model library
+can be saved in the Use Libraries folder under DecviceModelLibrary folder in the project
+folder with different name.
+
+<!--l. 1--><p class="indent" >
+
+ <h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;9</span><br /><a
+ id="x1-770009"></a>Sub-Circuit Builder</h2>
+<!--l. 3--><p class="noindent" >Subcircuit is a way to implement hierarchical modeling. Once a subcircuit for a compo- nent
+is created, it can be used in other circuits. eSim provides an easy way to create a subcircuit.
+Thw Following Fig.&#x00A0;<a
+href="#x1-770011">9.1<!--tex4ht:ref: subcircuit_mainwin --></a> shows the window that is opened when the Sub-CIrcuit tool is chosen
+from the toolbar. <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-770011"></a>
+
+
+<!--l. 8--><p class="noindent" ><img
+src="figures/subcircuit_window.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;9.1: </span><span
+class="content">Sub circuit Window</span></div><!--tex4ht:label?: x1-770011 -->
+
+<!--l. 11--><p class="indent" > </div><hr class="endfigure">
+ <h3 class="sectionHead"><span class="titlemark">9.1 </span> <a
+ id="x1-780009.1"></a>Creating a Sub-Circuit</h3>
+<!--l. 13--><p class="noindent" >Let us take an example of Half-adder circuit. To create a new sub circuit select the New
+Subcircuit Schematic.Fig.&#x00A0;<a
+href="#x1-780012">9.2<!--tex4ht:ref: halfadder --></a> shows the half-adder circuit and Fig.&#x00A0;<a
+href="#x1-780023">9.3<!--tex4ht:ref: block --></a> shows the block of the
+sub circuit included in the main circuit. <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-780012"></a>
+
+
+<!--l. 16--><p class="noindent" ><img
+src="figures/half_adder.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;9.2: </span><span
+class="content">Half-Adder Sub-circuit </span></div><!--tex4ht:label?: x1-780012 -->
+
+<!--l. 19--><p class="indent" > </div><hr class="endfigure">
+<!--l. 20--><p class="indent" > NOTE: All the input and output of the sub circuits are connected to the port component.
+<hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-780023"></a>
+
+
+<!--l. 23--><p class="noindent" ><img
+src="figures/halfadderblock.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;9.3: </span><span
+class="content">Half-Adder Sub-circuit Block </span></div><!--tex4ht:label?: x1-780023 -->
+
+<!--l. 26--><p class="indent" > </div><hr class="endfigure">
+<!--l. 27--><p class="indent" > After creating the schematic kicad netlist is generated as explained in section and convert
+kicad to Ngspice where cir.out and .sub files are generated. The number of input and
+output ports of the subcircuit is to matched with number of connections in the
+main circuit. eSim provides this validation of mapping of the sub circuit ports.
+Also the respective input and output ports can be checked by reading the .sub
+file.
+
+<a
+ id="x1-78003r151"></a>
+ <h2 class="appendixHead"><span class="titlemark">Appendix&#x00A0;A</span><br /><a
+ id="x1-79000A"></a>Solved Examples</h2>
+ <h3 class="sectionHead"><span class="titlemark">A.1 </span> <a
+ id="x1-80000A.1"></a>Solved Examples</h3>
+<!--l. 7--><p class="noindent" >
+ <h4 class="subsectionHead"><span class="titlemark">A.1.1 </span> <a
+ id="x1-81000A.1.1"></a>Basic RC Circuit</h4>
+<!--l. 8--><p class="noindent" >
+ <h5 class="subsubsectionHead"><a
+ id="x1-82000A.1.1"></a>Problem Statement-</h5>
+<!--l. 8--><p class="noindent" >Plot the Input and Output Waveform of RC ckt where the input voltage (Vs) is
+50Hz, 3V peak to peak. Value for Resistor (R) and Capacitor(C) is 1<span
+class="cmmi-10x-x-109">k </span>and 1<span
+class="cmmi-10x-x-109">uf</span>
+respectively.
+<!--l. 10--><p class="noindent" >
+ <h5 class="subsubsectionHead"><a
+ id="x1-83000A.1.1"></a>Solution-</h5>
+<!--l. 11--><p class="noindent" >Draw the schematic and label the nodes as shown in Fig. A.1a using the schematic editor.
+Annotate the schematic using the Annotate tool from the top toolbar in Schematic editor.
+Perform Electric Rules check using the Perform electric rules check tool from the top toolbar.
+Ensure that there are no errors in the circuit schematic. Now generate Spice netlist for
+simulation using the Generate Netlist tool from the top toolbar. This is shown
+Fig.&#x00A0;<a
+href="#x1-830011">A.1<!--tex4ht:ref: rc_schematic --></a>.
+<!--l. 18--><p class="indent" > Next step is to convert kicad netlist to ngspice netlist by click on icon Convert Kicad to
+Ngspice. Then Fill the Analysis tab with Transisent option selected as given in Fig.&#x00A0;<a
+href="#x1-830022">A.2<!--tex4ht:ref: rc_netlistgeneration --></a>.
+Enter start time = 0<span
+class="cmmi-10x-x-109">ms</span>, step time = 1<span
+class="cmmi-10x-x-109">ms</span>, stop time = 100<span
+class="cmmi-10x-x-109">ms</span>.
+<!--l. 22--><p class="indent" > Now Click on Sources Details Tab to Enter Sine Source Values as shown in
+Fig.&#x00A0;<a
+href="#x1-830044">A.4<!--tex4ht:ref: rc_sourcedetailstab --></a>.
+<!--l. 24--><p class="indent" > Then Press Convert Button which will generate Ngspice Netlist (rc.cir.out)
+<!--l. 26--><p class="indent" > Now Click on Simulation icon to open Ngspice Plot and Python Plot shown in Fig.&#x00A0;<a
+href="#x1-830055">A.5<!--tex4ht:ref: rc_ngspiceplot --></a>
+And Fig.&#x00A0;<a
+href="#x1-830066">A.6<!--tex4ht:ref: rc_pythonplot --></a>.
+
+<!--l. 28--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-830011"></a>
+
+
+<!--l. 30--><p class="noindent" ><img
+src="figures/rc_schematic.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.1: </span><span
+class="content">Schematic of RC circuit</span></div><!--tex4ht:label?: x1-830011 -->
+
+<!--l. 33--><p class="indent" > </div><hr class="endfigure">
+<!--l. 35--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-830022"></a>
+
+
+<!--l. 37--><p class="noindent" ><img
+src="figures/rc_netlistgeneration.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.2: </span><span
+class="content">RC circuit Netlist Generation</span></div><!--tex4ht:label?: x1-830022 -->
+
+<!--l. 40--><p class="indent" > </div><hr class="endfigure">
+<!--l. 42--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-830033"></a>
+
+
+<!--l. 44--><p class="noindent" ><img
+src="figures/rc_analysistab.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.3: </span><span
+class="content">RC Circuit Analysis Insertor</span></div><!--tex4ht:label?: x1-830033 -->
+
+<!--l. 47--><p class="indent" > </div><hr class="endfigure">
+<!--l. 49--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-830044"></a>
+
+
+<!--l. 51--><p class="noindent" ><img
+src="figures/rc_sourcedetailstab.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.4: </span><span
+class="content">RC Source Details</span></div><!--tex4ht:label?: x1-830044 -->
+
+<!--l. 54--><p class="indent" > </div><hr class="endfigure">
+<!--l. 56--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-830055"></a>
+
+
+<!--l. 58--><p class="noindent" ><img
+src="figures/rc_ngspiceplot.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.5: </span><span
+class="content">Ngspice Plot of RC circuit</span></div><!--tex4ht:label?: x1-830055 -->
+
+<!--l. 61--><p class="indent" > </div><hr class="endfigure">
+<!--l. 63--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-830066"></a>
+
+
+<!--l. 65--><p class="noindent" ><img
+src="figures/rc_pythonplot.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.6: </span><span
+class="content">Python Plot of RC Circuit</span></div><!--tex4ht:label?: x1-830066 -->
+
+<!--l. 68--><p class="indent" > </div><hr class="endfigure">
+ <h4 class="subsectionHead"><span class="titlemark">A.1.2 </span> <a
+ id="x1-84000A.1.2"></a>Half Wave Rectifier</h4>
+<!--l. 74--><p class="noindent" >
+ <h5 class="subsubsectionHead"><a
+ id="x1-85000A.1.2"></a>Problem Statement-</h5>
+<!--l. 74--><p class="noindent" >Plot the Input and Output Waveform of Half Wave Rectifier ckt where the input voltage (Vs)
+is 50Hz, 2V peak to peak. Value for Resistor (R) is 1k respectively
+<!--l. 76--><p class="noindent" >
+ <h5 class="subsubsectionHead"><a
+ id="x1-86000A.1.2"></a>Solution-</h5>
+<!--l. 77--><p class="noindent" >Draw the schematic and label the nodes as shown in Fig.&#x00A0;<a
+href="#x1-860017">A.7<!--tex4ht:ref: hwr_schematic --></a> using the schematic editor.
+Annotate the schematic using the Annotate tool from the top toolbar in Schematic editor.
+Perform Electric Rules check using the Perform electric rules check tool from the top toolbar.
+Ensure that there are no errors in the circuit schematic. Now generate Spice netlist for
+simulation using the Generate Netlist tool from the top toolbar. This is shown in
+Fig.&#x00A0;<a
+href="#x1-860028">A.8<!--tex4ht:ref: hwr_netlistgeneration --></a>.
+<!--l. 84--><p class="indent" > Next step is to convert kicad netlist to ngspice netlist by click on icon Convert Kicad to
+Ngspice. Then Fill the Analysis tab with Transisent option selected as given in Fig.&#x00A0;<a
+href="#x1-860039">A.9<!--tex4ht:ref: hwr_analysistab --></a>.
+Enter start time = 0<span
+class="cmmi-10x-x-109">ms</span>, step time = 1<span
+class="cmmi-10x-x-109">ms</span>, stop time = 100<span
+class="cmmi-10x-x-109">ms</span>. Now Click on Sources Details
+Tab to Enter Sine Source Values as shown in Fig.&#x00A0;<a
+href="#x1-8600410">A.10<!--tex4ht:ref: hwr_sourcedetailstab --></a>. Now Click on Device Model Tab to
+ADD Diode model to the circuit shown in Fig.&#x00A0;<a
+href="#x1-8600511">A.11<!--tex4ht:ref: hwr_devicemodelingtab --></a>. (Note Details about Device Model is
+expained in earlier chapter Model Builder.)
+<!--l. 91--><p class="indent" > Then Press Convert Button which will generate Ngspice Netlist (Halfwave-Rectifier.cir.out)
+<!--l. 93--><p class="indent" > Now Click on Simulation icon to open Ngspice Plot and Python Plot shown in Fig.&#x00A0;<a
+href="#x1-8600612">A.12<!--tex4ht:ref: hwr_ngspiceplot --></a>
+And Fig.&#x00A0;<a
+href="#x1-8600713">A.13<!--tex4ht:ref: hwr_pythonplot --></a>
+
+<!--l. 95--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-860017"></a>
+
+
+<!--l. 97--><p class="noindent" ><img
+src="figures/hwr_schematic.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.7: </span><span
+class="content">Schematic of Halfwave Rectifier circuit</span></div><!--tex4ht:label?: x1-860017 -->
+
+<!--l. 100--><p class="indent" > </div><hr class="endfigure">
+<!--l. 102--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-860028"></a>
+
+
+<!--l. 104--><p class="noindent" ><img
+src="figures/hwr_netlistgeneration.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.8: </span><span
+class="content">Halfwave Rectifier circuit Netlist Generation</span></div><!--tex4ht:label?: x1-860028 -->
+
+<!--l. 107--><p class="indent" > </div><hr class="endfigure">
+<!--l. 109--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-860039"></a>
+
+
+<!--l. 111--><p class="noindent" ><img
+src="figures/hwr_analysistab.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.9: </span><span
+class="content">Halfwave Rectifier Circuit Analysis Insertor</span></div><!--tex4ht:label?: x1-860039 -->
+
+<!--l. 114--><p class="indent" > </div><hr class="endfigure">
+<!--l. 116--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-8600410"></a>
+
+
+<!--l. 118--><p class="noindent" ><img
+src="figures/hwr_sourcedetailstab.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.10: </span><span
+class="content">Halfwave Rectifier Source Details</span></div><!--tex4ht:label?: x1-8600410 -->
+
+<!--l. 121--><p class="indent" > </div><hr class="endfigure">
+<!--l. 123--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-8600511"></a>
+
+
+<!--l. 125--><p class="noindent" ><img
+src="figures/hwr_devicemodelingtab.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.11: </span><span
+class="content">Device Modeling of Halfwave Rectifier circuit</span></div><!--tex4ht:label?: x1-8600511 -->
+
+<!--l. 128--><p class="indent" > </div><hr class="endfigure">
+<!--l. 130--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-8600612"></a>
+
+
+<!--l. 132--><p class="noindent" ><img
+src="figures/hwr_ngspiceplot.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.12: </span><span
+class="content">Ngspice Plot of Halfwave Rectifier circuit</span></div><!--tex4ht:label?: x1-8600612 -->
+
+<!--l. 135--><p class="indent" > </div><hr class="endfigure">
+<!--l. 137--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-8600713"></a>
+
+
+<!--l. 139--><p class="noindent" ><img
+src="figures/hwr_pythonplot.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.13: </span><span
+class="content">Python Plot of Halfwave Rectifier Circuit</span></div><!--tex4ht:label?: x1-8600713 -->
+
+<!--l. 142--><p class="indent" > </div><hr class="endfigure">
+ <h4 class="subsectionHead"><span class="titlemark">A.1.3 </span> <a
+ id="x1-87000A.1.3"></a>Inverting Amplifier</h4>
+<!--l. 147--><p class="noindent" >
+ <h5 class="subsubsectionHead"><a
+ id="x1-88000A.1.3"></a>Problem Statement-</h5>
+<!--l. 148--><p class="noindent" >Plot the Input and Output Waveform of Inverting Amplifier ckt where the input voltage (Vs)
+is 50<span
+class="cmmi-10x-x-109">Hz</span>, 2<span
+class="cmmi-10x-x-109">V </span>peak to peak and gain is 2.
+ <h5 class="subsubsectionHead"><a
+ id="x1-89000A.1.3"></a>Solution-</h5>
+<!--l. 150--><p class="noindent" >Draw the schematic and label the nodes as shown in Fig.&#x00A0;<a
+href="#x1-8900114">A.14<!--tex4ht:ref: ia_schematic --></a>. using the schematic editor.
+Annotate the schematic using the Annotate tool from the top toolbar in Schematic editor.
+Perform Electric Rules check using the Perform electric rules check tool from the top toolbar.
+Ensure that there are no errors in the circuit schematic. Now generate Spice netlist for
+simulation using the Generate Netlist tool from the top toolbar. This is shown in
+Fig.&#x00A0;<a
+href="#x1-8900215">A.15<!--tex4ht:ref: ia_netlistgeneration --></a>.
+<!--l. 157--><p class="indent" > Next step is to convert kicad netlist to ngspice netlist by click on icon Convert Kicad to
+Ngspice. Then Fill the Analysis tab with Transisent option selected as given in
+Fig.&#x00A0;<a
+href="#x1-8900316">A.16<!--tex4ht:ref: ia_analysistab --></a>. Enter start time = 0<span
+class="cmmi-10x-x-109">ms</span>, step time = 1<span
+class="cmmi-10x-x-109">ms</span>, stop time = 100<span
+class="cmmi-10x-x-109">ms</span>. Now
+Click on Sources Details Tab to Enter Sine Source Values as shown in Fig.&#x00A0;<a
+href="#x1-8900417">A.17<!--tex4ht:ref: ia_sourcedetailstab --></a>.
+Now Click on Subciruits Tab to ADD UA741 Subcircut to the circuit shown in
+Fig.&#x00A0;<a
+href="#x1-8900518">A.18<!--tex4ht:ref: ia_subcircuitstab --></a> (Note Details about Subcircuit is expained in earlier chapter Subcircuit
+Builder.)
+<!--l. 164--><p class="indent" > Then Press Convert Button which will generate Ngspice Netlist (Inverting-Amplifier.cir.out)
+<!--l. 166--><p class="indent" > Now Click on Simulation icon to open Ngspice Plot and Python Plot shown in Fig.&#x00A0;<a
+href="#x1-8900720">A.20<!--tex4ht:ref: ia_pythonplot --></a>
+and Fig.&#x00A0;<a
+href="#x1-8900619">A.19<!--tex4ht:ref: ia_ngspiceplot --></a>.
+
+<!--l. 168--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-8900114"></a>
+
+
+<!--l. 170--><p class="noindent" ><img
+src="figures/ia_schematic.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.14: </span><span
+class="content">Schematic of Inverting Amplifier circuit</span></div><!--tex4ht:label?: x1-8900114 -->
+
+<!--l. 173--><p class="indent" > </div><hr class="endfigure">
+<!--l. 175--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-8900215"></a>
+
+
+<!--l. 177--><p class="noindent" ><img
+src="figures/ia_netlistgeneration.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.15: </span><span
+class="content">Inverting Amplifier circuit Netlist Generation</span></div><!--tex4ht:label?: x1-8900215 -->
+
+<!--l. 180--><p class="indent" > </div><hr class="endfigure">
+<!--l. 182--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-8900316"></a>
+
+
+<!--l. 184--><p class="noindent" ><img
+src="figures/ia_analysistab.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.16: </span><span
+class="content">Inverting Amplifier circuit Analysis Tab</span></div><!--tex4ht:label?: x1-8900316 -->
+
+<!--l. 187--><p class="indent" > </div><hr class="endfigure">
+<!--l. 189--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-8900417"></a>
+
+
+<!--l. 191--><p class="noindent" ><img
+src="figures/ia_sourcedetailstab.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.17: </span><span
+class="content">Inverting Amplifier Source Details</span></div><!--tex4ht:label?: x1-8900417 -->
+
+<!--l. 194--><p class="indent" > </div><hr class="endfigure">
+<!--l. 196--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-8900518"></a>
+
+
+<!--l. 198--><p class="noindent" ><img
+src="figures/ia_subcircuitstab.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.18: </span><span
+class="content">Sub Circuit Tab of Inverting Amplifier</span></div><!--tex4ht:label?: x1-8900518 -->
+
+<!--l. 201--><p class="indent" > </div><hr class="endfigure">
+<!--l. 203--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-8900619"></a>
+
+
+<!--l. 205--><p class="noindent" ><img
+src="figures/ia_ngspiceplot.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.19: </span><span
+class="content">Ngspice Plot of Inverting Amplifier circuit</span></div><!--tex4ht:label?: x1-8900619 -->
+
+<!--l. 208--><p class="indent" > </div><hr class="endfigure">
+<!--l. 210--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-8900720"></a>
+
+
+<!--l. 212--><p class="noindent" ><img
+src="figures/ia_pythonplot.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.20: </span><span
+class="content">Python Plot of Inverting Amplifier Circuit</span></div><!--tex4ht:label?: x1-8900720 -->
+
+<!--l. 215--><p class="indent" > </div><hr class="endfigure">
+ <h4 class="subsectionHead"><span class="titlemark">A.1.4 </span> <a
+ id="x1-90000A.1.4"></a>Precision Rectifier</h4>
+<!--l. 221--><p class="noindent" >
+ <h5 class="subsubsectionHead"><a
+ id="x1-91000A.1.4"></a>Problem Statement-</h5>
+<!--l. 222--><p class="noindent" >Plot the Input and Output Waveform of Precision Reectifier ckt where the input voltage (Vs)
+is 50Hz, 3V peak to peak.
+<!--l. 225--><p class="noindent" >
+ <h5 class="subsubsectionHead"><a
+ id="x1-92000A.1.4"></a>Solution -</h5>
+<!--l. 227--><p class="noindent" >Draw the schematic and label the nodes as shown in Fig. D.1a using the schematic editor.
+Annotate the schematic using the Annotate tool from the top toolbar in Schematic editor.
+Perform Electric Rules check using the Perform electric rules check tool from the top toolbar.
+Ensure that there are no errors in the circuit schematic. Now generate Spice netlist for
+simulation using the Generate Netlist tool from the top toolbar. This is shown in
+Fig.&#x00A0;<a
+href="#x1-9200222">A.22<!--tex4ht:ref: pr_netlistgeneration --></a>.
+<!--l. 234--><p class="indent" > Next step is to convert kicad netlist to ngspice netlist by click on icon Convert Kicad to
+Ngspice. Then Fill the Analysis tab with Transisent option selected as given in
+Fig.&#x00A0;<a
+href="#x1-9200323">A.23<!--tex4ht:ref: pr_analysistab --></a>. Enter start time = 0ms, step time = 1 ms, stop time = 100 ms. Now Click
+on Sources Details Tab to Enter Sine Source Values as shown in Fig.&#x00A0;<a
+href="#x1-9200424">A.24<!--tex4ht:ref: pr_sourcedetailstab --></a>. Now
+Click on Device Model Tab to ADD Diode model to the circuit shown in Fig.&#x00A0;<a
+href="#x1-9200525">A.25<!--tex4ht:ref: pr_devicemodelingtab --></a>.
+(Note Details about Device Model is expained in earlier chapter Model Builder.)
+Then Click on Subciruits Tab to ADD UA741 Subcircut to the circuit shown in
+Fig.&#x00A0;<a
+href="#x1-9200626">A.26<!--tex4ht:ref: pr_subcircuitstab --></a>. (Note Details about Subcircuit is expained in earlier chapter Subcircuit
+Builder.)
+<!--l. 243--><p class="indent" > Then Press Convert Button which will generate Ngspice Netlist (Precision-Rectifier.cir.out)
+<!--l. 245--><p class="indent" > Now Click on Simulation icon to open Ngspice Plot and Python Plot shown in Fig.&#x00A0;<a
+href="#x1-9200727">A.27<!--tex4ht:ref: pr_ngspiceplot --></a>
+and Fig.&#x00A0;<a
+href="#x1-9200828">A.28<!--tex4ht:ref: pr_pythonplot --></a>.
+
+<!--l. 247--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-9200121"></a>
+
+
+<!--l. 249--><p class="noindent" ><img
+src="figures/pr_schematic.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.21: </span><span
+class="content">Schematic of Precision Rectifier circuit</span></div><!--tex4ht:label?: x1-9200121 -->
+
+<!--l. 252--><p class="indent" > </div><hr class="endfigure">
+<!--l. 254--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-9200222"></a>
+
+
+<!--l. 256--><p class="noindent" ><img
+src="figures/pr_netlistgeneration.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.22: </span><span
+class="content">Precision Rectifier circuit Netlist Generation</span></div><!--tex4ht:label?: x1-9200222 -->
+
+<!--l. 259--><p class="indent" > </div><hr class="endfigure">
+<!--l. 261--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-9200323"></a>
+
+
+<!--l. 263--><p class="noindent" ><img
+src="figures/pr_analysistab.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.23: </span><span
+class="content">Precision Rectifier Circuit Analysis Insertor</span></div><!--tex4ht:label?: x1-9200323 -->
+
+<!--l. 266--><p class="indent" > </div><hr class="endfigure">
+<!--l. 268--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-9200424"></a>
+
+
+<!--l. 270--><p class="noindent" ><img
+src="figures/pr_sourcedetailstab.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.24: </span><span
+class="content">Precision Rectifier Source Details</span></div><!--tex4ht:label?: x1-9200424 -->
+
+<!--l. 273--><p class="indent" > </div><hr class="endfigure">
+<!--l. 275--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-9200525"></a>
+
+
+<!--l. 277--><p class="noindent" ><img
+src="figures/pr_devicemodelingtab.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.25: </span><span
+class="content">Device Modelling of Precision Rectifier circuit</span></div><!--tex4ht:label?: x1-9200525 -->
+
+<!--l. 280--><p class="indent" > </div><hr class="endfigure">
+<!--l. 282--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-9200626"></a>
+
+
+<!--l. 284--><p class="noindent" ><img
+src="figures/pr_subcircuitstab.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.26: </span><span
+class="content">Precision Rectifier Sub-circuit</span></div><!--tex4ht:label?: x1-9200626 -->
+
+<!--l. 287--><p class="indent" > </div><hr class="endfigure">
+<!--l. 289--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-9200727"></a>
+
+
+<!--l. 291--><p class="noindent" ><img
+src="figures/pr_ngspiceplot.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.27: </span><span
+class="content">Ngspice Plot of Precision Rectifier circuit</span></div><!--tex4ht:label?: x1-9200727 -->
+
+<!--l. 294--><p class="indent" > </div><hr class="endfigure">
+<!--l. 296--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-9200828"></a>
+
+
+<!--l. 298--><p class="noindent" ><img
+src="figures/pr_pythonplot.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.28: </span><span
+class="content">Python Plot of Precision Rectifier Circuit</span></div><!--tex4ht:label?: x1-9200828 -->
+
+<!--l. 301--><p class="indent" > </div><hr class="endfigure">
+ <h4 class="subsectionHead"><span class="titlemark">A.1.5 </span> <a
+ id="x1-93000A.1.5"></a>Half Adder Example</h4>
+<!--l. 307--><p class="noindent" >
+ <h5 class="subsubsectionHead"><a
+ id="x1-94000A.1.5"></a>Problem Statement-</h5>
+<!--l. 307--><p class="noindent" >Plot the Input and Output Waveform of Half Adder ckt.
+<!--l. 309--><p class="noindent" >
+ <h5 class="subsubsectionHead"><a
+ id="x1-95000A.1.5"></a>Solution -</h5>
+<!--l. 311--><p class="noindent" >Draw the schematic and label the nodes as shown in Fig.&#x00A0;<a
+href="#x1-9500129">A.29<!--tex4ht:ref: ha_schematic --></a> using the schematic editor.
+[Note : To create any Digital Circuits ADCs and DACs must be connected to input and
+output of the circuit.] Annotate the schematic using the Annotate tool from the top toolbar in
+Schematic editor. Perform Electric Rules check using the Perform electric rules check tool
+from the top toolbar. Ensure that there are no errors in the circuit schematic. Now generate
+Spice netlist for simulation using the Generate Netlist tool from the top toolbar. This is
+shown in Fig.&#x00A0;<a
+href="#x1-9500230">A.30<!--tex4ht:ref: ha_netlistgeneration --></a>.
+<!--l. 319--><p class="indent" > Next step is to convert kicad netlist to ngspice netlist by click on icon Convert Kicad to
+Ngspice. Then Fill the Analysis tab with Transisent option selected as given in Fig.&#x00A0;<a
+href="#x1-9500331">A.31<!--tex4ht:ref: ha_analysistab --></a>.
+Enter start time = 0<span
+class="cmmi-10x-x-109">ms</span>, step time = 1<span
+class="cmmi-10x-x-109">ms</span>, stop time = 100<span
+class="cmmi-10x-x-109">ms</span>. Now Click on Sources Details
+Tab to Enter Sine Source Values as shown in Fig.&#x00A0;<a
+href="#x1-9500432">A.32<!--tex4ht:ref: ha_sourcedetailstab --></a>. Click on Ngspice Model Tab and
+Enter the Details of Ngspice Models else keep it empty where it will select default values as
+shown in Fig.&#x00A0;<a
+href="#x1-9500533">A.33<!--tex4ht:ref: ha_ngspicemodeltab --></a> Then Click on Subciruits Tab to ADD half-adder Subcircut to the circuit
+shown in Fig.&#x00A0;<a
+href="#x1-9500634">A.34<!--tex4ht:ref: ha_subcircuitstab --></a>. (Note Details about Subcircuit is expained in earlier chapter Subcircuit
+Builder.)
+<!--l. 327--><p class="indent" > Then Press Convert Button which will generate Ngspice Netlist (Half-Adder.cir.out)
+<!--l. 329--><p class="indent" > Now Click on Simulation icon to open Ngspice Plot and Python Plot shown in Fig.&#x00A0;<a
+href="#x1-9500735">A.35<!--tex4ht:ref: ha_ngspiceplot --></a>
+and Fig.&#x00A0;<a
+href="#x1-9500836">A.36<!--tex4ht:ref: ha_pythonplot --></a>.
+
+<!--l. 331--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-9500129"></a>
+
+
+<!--l. 333--><p class="noindent" ><img
+src="figures/ha_schematic.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.29: </span><span
+class="content">Schematic of Half Adder circuit</span></div><!--tex4ht:label?: x1-9500129 -->
+
+<!--l. 336--><p class="indent" > </div><hr class="endfigure">
+<!--l. 338--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-9500230"></a>
+
+
+<!--l. 340--><p class="noindent" ><img
+src="figures/ha_netlistgeneration.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.30: </span><span
+class="content">Half Adder circuit Netlist Generation</span></div><!--tex4ht:label?: x1-9500230 -->
+
+<!--l. 343--><p class="indent" > </div><hr class="endfigure">
+<!--l. 345--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-9500331"></a>
+
+
+<!--l. 347--><p class="noindent" ><img
+src="figures/ha_analysistab.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.31: </span><span
+class="content">Half Adder Circuit Analysis Insertor</span></div><!--tex4ht:label?: x1-9500331 -->
+
+<!--l. 350--><p class="indent" > </div><hr class="endfigure">
+<!--l. 352--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-9500432"></a>
+
+
+<!--l. 354--><p class="noindent" ><img
+src="figures/ha_sourcedetailstab.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.32: </span><span
+class="content">Half Adder Source Details</span></div><!--tex4ht:label?: x1-9500432 -->
+
+<!--l. 357--><p class="indent" > </div><hr class="endfigure">
+<!--l. 359--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-9500533"></a>
+
+
+<!--l. 361--><p class="noindent" ><img
+src="figures/ha_ngspicemodeltab.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.33: </span><span
+class="content">Ngspice Plot of Half Adder circuit</span></div><!--tex4ht:label?: x1-9500533 -->
+
+<!--l. 364--><p class="indent" > </div><hr class="endfigure">
+<!--l. 366--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-9500634"></a>
+
+
+<!--l. 368--><p class="noindent" ><img
+src="figures/ha_subcircuitstab.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.34: </span><span
+class="content">Ngspice Plot of Half Adder circuit</span></div><!--tex4ht:label?: x1-9500634 -->
+
+<!--l. 371--><p class="indent" > </div><hr class="endfigure">
+<!--l. 373--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-9500735"></a>
+
+
+<!--l. 375--><p class="noindent" ><img
+src="figures/ha_ngspiceplot.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.35: </span><span
+class="content">Ngspice Plot of Half Adder circuit</span></div><!--tex4ht:label?: x1-9500735 -->
+
+<!--l. 378--><p class="indent" > </div><hr class="endfigure">
+<!--l. 380--><p class="indent" > <hr class="figure"><div class="figure"
+>
+
+<a
+ id="x1-9500836"></a>
+
+
+<!--l. 382--><p class="noindent" ><img
+src="figures/ha_pythonplot.png" alt="PIC"
+>
+<br /> <div class="caption"
+><span class="id">Figure&#x00A0;A.36: </span><span
+class="content">Python Plot of Half Adder Circuit</span></div><!--tex4ht:label?: x1-9500836 -->
+
+<!--l. 385--><p class="indent" > </div><hr class="endfigure">
+
+</body></html>
+
+
+
diff --git a/src/browser/pages/User-Manual/figures/3d.png b/src/browser/pages/User-Manual/figures/3d.png
new file mode 100644
index 00000000..0d2f66a4
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/3d.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/3dv.png b/src/browser/pages/User-Manual/figures/3dv.png
new file mode 100644
index 00000000..da9cb1be
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/3dv.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/555-ref-change.png b/src/browser/pages/User-Manual/figures/555-ref-change.png
new file mode 100644
index 00000000..ef39c249
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/555-ref-change.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/555-schematic.png b/src/browser/pages/User-Manual/figures/555-schematic.png
new file mode 100644
index 00000000..64b4c34e
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/555-schematic.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/8-file.png b/src/browser/pages/User-Manual/figures/8-file.png
new file mode 100644
index 00000000..9e7f030d
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/8-file.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/B-Rectifier-schematic.png b/src/browser/pages/User-Manual/figures/B-Rectifier-schematic.png
new file mode 100644
index 00000000..692b4cfe
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/B-Rectifier-schematic.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/BJT_amplifier_kn.png b/src/browser/pages/User-Manual/figures/BJT_amplifier_kn.png
new file mode 100644
index 00000000..e645a1ac
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/BJT_amplifier_kn.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/BJT_amplifier_model_builder.png b/src/browser/pages/User-Manual/figures/BJT_amplifier_model_builder.png
new file mode 100644
index 00000000..4ffb9c38
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/BJT_amplifier_model_builder.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/BJT_amplifier_model_parameter.png b/src/browser/pages/User-Manual/figures/BJT_amplifier_model_parameter.png
new file mode 100644
index 00000000..9fc7549d
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/BJT_amplifier_model_parameter.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/BJT_amplifier_model_select.png b/src/browser/pages/User-Manual/figures/BJT_amplifier_model_select.png
new file mode 100644
index 00000000..7c2ba8ec
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/BJT_amplifier_model_select.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/BJT_amplifier_ngspice.png b/src/browser/pages/User-Manual/figures/BJT_amplifier_ngspice.png
new file mode 100644
index 00000000..500744e5
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/BJT_amplifier_ngspice.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/CvPCB-window.png b/src/browser/pages/User-Manual/figures/CvPCB-window.png
new file mode 100644
index 00000000..231e5c77
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/CvPCB-window.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/Documentation.zip.abc b/src/browser/pages/User-Manual/figures/Documentation.zip.abc
new file mode 100644
index 00000000..7e77afd4
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/Documentation.zip.abc
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/IMG_0575.jpg b/src/browser/pages/User-Manual/figures/IMG_0575.jpg
new file mode 100644
index 00000000..318666b5
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/IMG_0575.jpg
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/IMG_0576.jpg b/src/browser/pages/User-Manual/figures/IMG_0576.jpg
new file mode 100644
index 00000000..bb1f4a1f
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/IMG_0576.jpg
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/IMG_0577-short-rotated.jpg b/src/browser/pages/User-Manual/figures/IMG_0577-short-rotated.jpg
new file mode 100644
index 00000000..93e15d3c
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/IMG_0577-short-rotated.jpg
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/IMG_0577-short.jpg b/src/browser/pages/User-Manual/figures/IMG_0577-short.jpg
new file mode 100644
index 00000000..d8b10f87
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/IMG_0577-short.jpg
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/IMG_0577-short.tiff b/src/browser/pages/User-Manual/figures/IMG_0577-short.tiff
new file mode 100644
index 00000000..32ac9da5
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/IMG_0577-short.tiff
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/IMG_0577.jpg b/src/browser/pages/User-Manual/figures/IMG_0577.jpg
new file mode 100644
index 00000000..df276dc5
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/IMG_0577.jpg
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/IMG_0578.jpg b/src/browser/pages/User-Manual/figures/IMG_0578.jpg
new file mode 100644
index 00000000..4ce8198c
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/IMG_0578.jpg
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/IMG_0579.jpg b/src/browser/pages/User-Manual/figures/IMG_0579.jpg
new file mode 100644
index 00000000..aba42262
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/IMG_0579.jpg
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/RC.png b/src/browser/pages/User-Manual/figures/RC.png
new file mode 100644
index 00000000..8badea46
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/RC.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/RC1.png b/src/browser/pages/User-Manual/figures/RC1.png
new file mode 100644
index 00000000..1cd9d377
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/RC1.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/SMCSim-B-Rectifier.png b/src/browser/pages/User-Manual/figures/SMCSim-B-Rectifier.png
new file mode 100644
index 00000000..692b4cfe
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/SMCSim-B-Rectifier.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/SMCSim-simulation.png b/src/browser/pages/User-Manual/figures/SMCSim-simulation.png
new file mode 100644
index 00000000..1950bf22
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/SMCSim-simulation.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/aakash_br.png b/src/browser/pages/User-Manual/figures/aakash_br.png
new file mode 100644
index 00000000..fc4ad95c
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/aakash_br.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/aakash_kicad_ngspice.png b/src/browser/pages/User-Manual/figures/aakash_kicad_ngspice.png
new file mode 100644
index 00000000..38f85e7b
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/aakash_kicad_ngspice.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/aakash_ngspice.png b/src/browser/pages/User-Manual/figures/aakash_ngspice.png
new file mode 100644
index 00000000..922d1a19
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/aakash_ngspice.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/aakash_setup-low.jpg b/src/browser/pages/User-Manual/figures/aakash_setup-low.jpg
new file mode 100644
index 00000000..11a8d662
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/aakash_setup-low.jpg
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/aakash_setup-low.tiff b/src/browser/pages/User-Manual/figures/aakash_setup-low.tiff
new file mode 100644
index 00000000..30634543
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/aakash_setup-low.tiff
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/aakash_setup.png b/src/browser/pages/User-Manual/figures/aakash_setup.png
new file mode 100644
index 00000000..05a1f42b
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/aakash_setup.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/ac1.png b/src/browser/pages/User-Manual/figures/ac1.png
new file mode 100644
index 00000000..4c4af047
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/ac1.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/afterplace.png b/src/browser/pages/User-Manual/figures/afterplace.png
new file mode 100644
index 00000000..cf8d8313
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/afterplace.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/analysis-inserter.png b/src/browser/pages/User-Manual/figures/analysis-inserter.png
new file mode 100644
index 00000000..56fd9eb5
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/analysis-inserter.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/analysis.png b/src/browser/pages/User-Manual/figures/analysis.png
new file mode 100644
index 00000000..780d5b23
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/analysis.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/anno.png b/src/browser/pages/User-Manual/figures/anno.png
new file mode 100644
index 00000000..015b6343
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/anno.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/annotate.png b/src/browser/pages/User-Manual/figures/annotate.png
new file mode 100644
index 00000000..5e60f81c
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/annotate.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd1.png b/src/browser/pages/User-Manual/figures/apd1.png
new file mode 100644
index 00000000..c898eedb
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd1.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd10.png b/src/browser/pages/User-Manual/figures/apd10.png
new file mode 100644
index 00000000..a195de20
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd10.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd11.png b/src/browser/pages/User-Manual/figures/apd11.png
new file mode 100644
index 00000000..c961c7c1
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd11.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd12.png b/src/browser/pages/User-Manual/figures/apd12.png
new file mode 100644
index 00000000..88b7f2db
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd12.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd13.png b/src/browser/pages/User-Manual/figures/apd13.png
new file mode 100644
index 00000000..541ef0cd
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd13.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd14.png b/src/browser/pages/User-Manual/figures/apd14.png
new file mode 100644
index 00000000..fe30ad77
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd14.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd15.png b/src/browser/pages/User-Manual/figures/apd15.png
new file mode 100644
index 00000000..75cb6335
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd15.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd16.png b/src/browser/pages/User-Manual/figures/apd16.png
new file mode 100644
index 00000000..71eb44d1
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd16.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd17.png b/src/browser/pages/User-Manual/figures/apd17.png
new file mode 100644
index 00000000..bd2d6718
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd17.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd18.png b/src/browser/pages/User-Manual/figures/apd18.png
new file mode 100644
index 00000000..8a7aa405
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd18.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd19.png b/src/browser/pages/User-Manual/figures/apd19.png
new file mode 100644
index 00000000..5e043a66
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd19.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd2.png b/src/browser/pages/User-Manual/figures/apd2.png
new file mode 100644
index 00000000..04d0f391
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd2.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd20.png b/src/browser/pages/User-Manual/figures/apd20.png
new file mode 100644
index 00000000..4b053bce
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd20.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd21.png b/src/browser/pages/User-Manual/figures/apd21.png
new file mode 100644
index 00000000..2a631666
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd21.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd22.png b/src/browser/pages/User-Manual/figures/apd22.png
new file mode 100644
index 00000000..73a9f11f
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd22.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd23.png b/src/browser/pages/User-Manual/figures/apd23.png
new file mode 100644
index 00000000..212fd93c
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd23.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd24.png b/src/browser/pages/User-Manual/figures/apd24.png
new file mode 100644
index 00000000..577ae812
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd24.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd25.png b/src/browser/pages/User-Manual/figures/apd25.png
new file mode 100644
index 00000000..03dafd06
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd25.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd26.png b/src/browser/pages/User-Manual/figures/apd26.png
new file mode 100644
index 00000000..b41e8a82
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd26.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd27.png b/src/browser/pages/User-Manual/figures/apd27.png
new file mode 100644
index 00000000..b0c56079
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd27.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd3.png b/src/browser/pages/User-Manual/figures/apd3.png
new file mode 100644
index 00000000..646c21e7
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd3.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd31.png b/src/browser/pages/User-Manual/figures/apd31.png
new file mode 100644
index 00000000..2f873da2
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd31.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd32.png b/src/browser/pages/User-Manual/figures/apd32.png
new file mode 100644
index 00000000..dd2a7225
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd32.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd33.png b/src/browser/pages/User-Manual/figures/apd33.png
new file mode 100644
index 00000000..ea2c620b
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd33.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd34.png b/src/browser/pages/User-Manual/figures/apd34.png
new file mode 100644
index 00000000..f34a2db9
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd34.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd35.png b/src/browser/pages/User-Manual/figures/apd35.png
new file mode 100644
index 00000000..88b64c5a
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd35.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd36.png b/src/browser/pages/User-Manual/figures/apd36.png
new file mode 100644
index 00000000..5690697d
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd36.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd37.png b/src/browser/pages/User-Manual/figures/apd37.png
new file mode 100644
index 00000000..ce8b8fdd
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd37.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd38.png b/src/browser/pages/User-Manual/figures/apd38.png
new file mode 100644
index 00000000..c9f7c025
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd38.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd39.png b/src/browser/pages/User-Manual/figures/apd39.png
new file mode 100644
index 00000000..2f14505c
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd39.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd4.png b/src/browser/pages/User-Manual/figures/apd4.png
new file mode 100644
index 00000000..2539eaee
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd4.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd40.png b/src/browser/pages/User-Manual/figures/apd40.png
new file mode 100644
index 00000000..99e34b11
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd40.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd5.png b/src/browser/pages/User-Manual/figures/apd5.png
new file mode 100644
index 00000000..201bf453
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd5.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd6.png b/src/browser/pages/User-Manual/figures/apd6.png
new file mode 100644
index 00000000..468d9f2d
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd6.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd7.png b/src/browser/pages/User-Manual/figures/apd7.png
new file mode 100644
index 00000000..534e3ff9
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd7.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd8.png b/src/browser/pages/User-Manual/figures/apd8.png
new file mode 100644
index 00000000..23a6154a
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd8.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/apd9.png b/src/browser/pages/User-Manual/figures/apd9.png
new file mode 100644
index 00000000..bc817833
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/apd9.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/bjt_amplifier_ana.png b/src/browser/pages/User-Manual/figures/bjt_amplifier_ana.png
new file mode 100644
index 00000000..98a0dbd0
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/bjt_amplifier_ana.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/blockdiagram.png b/src/browser/pages/User-Manual/figures/blockdiagram.png
new file mode 100644
index 00000000..ab06d444
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/blockdiagram.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/bridge-rectifier-circuit.png b/src/browser/pages/User-Manual/figures/bridge-rectifier-circuit.png
new file mode 100644
index 00000000..e4df5b0e
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/bridge-rectifier-circuit.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/bridgerectifier.png b/src/browser/pages/User-Manual/figures/bridgerectifier.png
new file mode 100644
index 00000000..e106a17c
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/bridgerectifier.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/brnet.png b/src/browser/pages/User-Manual/figures/brnet.png
new file mode 100644
index 00000000..a380ae69
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/brnet.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/cancel-model-b.png b/src/browser/pages/User-Manual/figures/cancel-model-b.png
new file mode 100644
index 00000000..a0ff914d
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/cancel-model-b.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/ch06_ac_exm_ana1.png b/src/browser/pages/User-Manual/figures/ch06_ac_exm_ana1.png
new file mode 100644
index 00000000..dfa7958d
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/ch06_ac_exm_ana1.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/comp.png b/src/browser/pages/User-Manual/figures/comp.png
new file mode 100644
index 00000000..5e91550d
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/comp.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/componentlibrary.png b/src/browser/pages/User-Manual/figures/componentlibrary.png
new file mode 100644
index 00000000..cf755bf6
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/componentlibrary.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/confirm.png b/src/browser/pages/User-Manual/figures/confirm.png
new file mode 100644
index 00000000..504bad2f
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/confirm.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/conn.png b/src/browser/pages/User-Manual/figures/conn.png
new file mode 100644
index 00000000..eeeb517b
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/conn.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/convert.png b/src/browser/pages/User-Manual/figures/convert.png
new file mode 100644
index 00000000..2c22e7c5
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/convert.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/curplace.png b/src/browser/pages/User-Manual/figures/curplace.png
new file mode 100644
index 00000000..77944207
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/curplace.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/dc1.png b/src/browser/pages/User-Manual/figures/dc1.png
new file mode 100644
index 00000000..f4b5de26
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/dc1.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/dc2.png b/src/browser/pages/User-Manual/figures/dc2.png
new file mode 100644
index 00000000..d30832ff
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/dc2.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/devicemodel.png b/src/browser/pages/User-Manual/figures/devicemodel.png
new file mode 100644
index 00000000..6795dfc6
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/devicemodel.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/diode-linear-cropped.jpg b/src/browser/pages/User-Manual/figures/diode-linear-cropped.jpg
new file mode 100644
index 00000000..d15dcdf8
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/diode-linear-cropped.jpg
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/diode-linear-cropped.tiff b/src/browser/pages/User-Manual/figures/diode-linear-cropped.tiff
new file mode 100644
index 00000000..becc618e
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/diode-linear-cropped.tiff
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/diode-linearization.png b/src/browser/pages/User-Manual/figures/diode-linearization.png
new file mode 100644
index 00000000..0fe8d429
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/diode-linearization.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/diode-model-select.png b/src/browser/pages/User-Manual/figures/diode-model-select.png
new file mode 100644
index 00000000..6f432821
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/diode-model-select.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/diode-model.png b/src/browser/pages/User-Manual/figures/diode-model.png
new file mode 100644
index 00000000..cb3eace0
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/diode-model.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/ha/ha_analysistab.png b/src/browser/pages/User-Manual/figures/documentation/ha/ha_analysistab.png
new file mode 100644
index 00000000..923b28ee
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/ha/ha_analysistab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/ha/ha_netlistgeneration.png b/src/browser/pages/User-Manual/figures/documentation/ha/ha_netlistgeneration.png
new file mode 100644
index 00000000..4cf01ab3
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/ha/ha_netlistgeneration.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/ha/ha_ngspicemodeltab.png b/src/browser/pages/User-Manual/figures/documentation/ha/ha_ngspicemodeltab.png
new file mode 100644
index 00000000..906ea6eb
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/ha/ha_ngspicemodeltab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/ha/ha_ngspiceplot.png b/src/browser/pages/User-Manual/figures/documentation/ha/ha_ngspiceplot.png
new file mode 100644
index 00000000..61339801
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/ha/ha_ngspiceplot.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/ha/ha_pythonplot.png b/src/browser/pages/User-Manual/figures/documentation/ha/ha_pythonplot.png
new file mode 100644
index 00000000..3f2cb8ee
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/ha/ha_pythonplot.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/ha/ha_schematic.png b/src/browser/pages/User-Manual/figures/documentation/ha/ha_schematic.png
new file mode 100644
index 00000000..41f553f1
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/ha/ha_schematic.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/ha/ha_sourcedetailstab.png b/src/browser/pages/User-Manual/figures/documentation/ha/ha_sourcedetailstab.png
new file mode 100644
index 00000000..2bd60bb9
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/ha/ha_sourcedetailstab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/ha/ha_subcircuitstab.png b/src/browser/pages/User-Manual/figures/documentation/ha/ha_subcircuitstab.png
new file mode 100644
index 00000000..9a50924f
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/ha/ha_subcircuitstab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/hwr/hwr_analysistab.png b/src/browser/pages/User-Manual/figures/documentation/hwr/hwr_analysistab.png
new file mode 100644
index 00000000..d0ad4d4c
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/hwr/hwr_analysistab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/hwr/hwr_chematic.png b/src/browser/pages/User-Manual/figures/documentation/hwr/hwr_chematic.png
new file mode 100644
index 00000000..97a96dc2
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/hwr/hwr_chematic.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/hwr/hwr_devicemodelingtab.png b/src/browser/pages/User-Manual/figures/documentation/hwr/hwr_devicemodelingtab.png
new file mode 100644
index 00000000..e860cae8
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/hwr/hwr_devicemodelingtab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/hwr/hwr_netlistgeneration.png b/src/browser/pages/User-Manual/figures/documentation/hwr/hwr_netlistgeneration.png
new file mode 100644
index 00000000..82679419
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/hwr/hwr_netlistgeneration.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/hwr/hwr_ngspiceplot.png b/src/browser/pages/User-Manual/figures/documentation/hwr/hwr_ngspiceplot.png
new file mode 100644
index 00000000..b2bd7c7b
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/hwr/hwr_ngspiceplot.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/hwr/hwr_pythonplot.png b/src/browser/pages/User-Manual/figures/documentation/hwr/hwr_pythonplot.png
new file mode 100644
index 00000000..7acea109
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/hwr/hwr_pythonplot.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/hwr/hwr_sourcedetailstab.png b/src/browser/pages/User-Manual/figures/documentation/hwr/hwr_sourcedetailstab.png
new file mode 100644
index 00000000..05ec3c0a
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/hwr/hwr_sourcedetailstab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/ia/ia_analysistab.png b/src/browser/pages/User-Manual/figures/documentation/ia/ia_analysistab.png
new file mode 100644
index 00000000..a3f0143b
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/ia/ia_analysistab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/ia/ia_netlistgeneration.png b/src/browser/pages/User-Manual/figures/documentation/ia/ia_netlistgeneration.png
new file mode 100644
index 00000000..7da86a74
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/ia/ia_netlistgeneration.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/ia/ia_ngspiceplot.png b/src/browser/pages/User-Manual/figures/documentation/ia/ia_ngspiceplot.png
new file mode 100644
index 00000000..9c076242
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/ia/ia_ngspiceplot.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/ia/ia_pythonplot.png b/src/browser/pages/User-Manual/figures/documentation/ia/ia_pythonplot.png
new file mode 100644
index 00000000..3c588723
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/ia/ia_pythonplot.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/ia/ia_schematic.png b/src/browser/pages/User-Manual/figures/documentation/ia/ia_schematic.png
new file mode 100644
index 00000000..064ab5e3
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/ia/ia_schematic.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/ia/ia_sourcedetailstab.png b/src/browser/pages/User-Manual/figures/documentation/ia/ia_sourcedetailstab.png
new file mode 100644
index 00000000..1437dbe4
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/ia/ia_sourcedetailstab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/ia/ia_subcircuitstab.png b/src/browser/pages/User-Manual/figures/documentation/ia/ia_subcircuitstab.png
new file mode 100644
index 00000000..f47f5bb0
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/ia/ia_subcircuitstab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/pr/pr_analysistab.png b/src/browser/pages/User-Manual/figures/documentation/pr/pr_analysistab.png
new file mode 100644
index 00000000..22ca91ea
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/pr/pr_analysistab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/pr/pr_devicemodelingtab.png b/src/browser/pages/User-Manual/figures/documentation/pr/pr_devicemodelingtab.png
new file mode 100644
index 00000000..8819c628
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/pr/pr_devicemodelingtab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/pr/pr_netlistgeneration.png b/src/browser/pages/User-Manual/figures/documentation/pr/pr_netlistgeneration.png
new file mode 100644
index 00000000..01910fde
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/pr/pr_netlistgeneration.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/pr/pr_ngspiceplot.png b/src/browser/pages/User-Manual/figures/documentation/pr/pr_ngspiceplot.png
new file mode 100644
index 00000000..a8ad5efd
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/pr/pr_ngspiceplot.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/pr/pr_pythonplot.png b/src/browser/pages/User-Manual/figures/documentation/pr/pr_pythonplot.png
new file mode 100644
index 00000000..7b23ab90
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/pr/pr_pythonplot.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/pr/pr_schematic.png b/src/browser/pages/User-Manual/figures/documentation/pr/pr_schematic.png
new file mode 100644
index 00000000..1926dddf
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/pr/pr_schematic.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/pr/pr_sourcedetailstab.png b/src/browser/pages/User-Manual/figures/documentation/pr/pr_sourcedetailstab.png
new file mode 100644
index 00000000..43c25a60
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/pr/pr_sourcedetailstab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/pr/pr_subcircuitstab.png b/src/browser/pages/User-Manual/figures/documentation/pr/pr_subcircuitstab.png
new file mode 100644
index 00000000..0e30a855
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/pr/pr_subcircuitstab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/rc/rc_analysistab.png b/src/browser/pages/User-Manual/figures/documentation/rc/rc_analysistab.png
new file mode 100644
index 00000000..8642dfbe
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/rc/rc_analysistab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/rc/rc_netlistgeneration.png b/src/browser/pages/User-Manual/figures/documentation/rc/rc_netlistgeneration.png
new file mode 100644
index 00000000..8b0354d6
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/rc/rc_netlistgeneration.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/rc/rc_ngspiceplot.png b/src/browser/pages/User-Manual/figures/documentation/rc/rc_ngspiceplot.png
new file mode 100644
index 00000000..5640e2ec
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/rc/rc_ngspiceplot.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/rc/rc_pythonplot.png b/src/browser/pages/User-Manual/figures/documentation/rc/rc_pythonplot.png
new file mode 100644
index 00000000..011b0dd7
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/rc/rc_pythonplot.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/rc/rc_schematic.png b/src/browser/pages/User-Manual/figures/documentation/rc/rc_schematic.png
new file mode 100644
index 00000000..5b62113b
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/rc/rc_schematic.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/documentation/rc/rc_sourcedetailstab.png b/src/browser/pages/User-Manual/figures/documentation/rc/rc_sourcedetailstab.png
new file mode 100644
index 00000000..1506d2fd
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/documentation/rc/rc_sourcedetailstab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/drc.png b/src/browser/pages/User-Manual/figures/drc.png
new file mode 100644
index 00000000..02ebf73f
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/drc.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/druleedit.png b/src/browser/pages/User-Manual/figures/druleedit.png
new file mode 100644
index 00000000..b3c893aa
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/druleedit.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/drules.png b/src/browser/pages/User-Manual/figures/drules.png
new file mode 100644
index 00000000..6f2f1832
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/drules.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/eeschema.png b/src/browser/pages/User-Manual/figures/eeschema.png
new file mode 100644
index 00000000..0ce97df3
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/eeschema.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/eeschema1.png b/src/browser/pages/User-Manual/figures/eeschema1.png
new file mode 100644
index 00000000..f5d7c09d
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/eeschema1.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/eeschema1_corctd.png b/src/browser/pages/User-Manual/figures/eeschema1_corctd.png
new file mode 100644
index 00000000..bc1eaea8
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/eeschema1_corctd.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/eeschema1_mod.png b/src/browser/pages/User-Manual/figures/eeschema1_mod.png
new file mode 100644
index 00000000..4b45d889
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/eeschema1_mod.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/eeschema1_mod2.png b/src/browser/pages/User-Manual/figures/eeschema1_mod2.png
new file mode 100644
index 00000000..802eeb2e
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/eeschema1_mod2.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/eeschema2.png b/src/browser/pages/User-Manual/figures/eeschema2.png
new file mode 100644
index 00000000..662a90b6
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/eeschema2.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/eeschema2_mod.png b/src/browser/pages/User-Manual/figures/eeschema2_mod.png
new file mode 100644
index 00000000..7365f199
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/eeschema2_mod.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/eeschema3.png b/src/browser/pages/User-Manual/figures/eeschema3.png
new file mode 100644
index 00000000..b211e3d4
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/eeschema3.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/eeschema3_mod.png b/src/browser/pages/User-Manual/figures/eeschema3_mod.png
new file mode 100644
index 00000000..42860d6a
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/eeschema3_mod.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/eeschema4.png b/src/browser/pages/User-Manual/figures/eeschema4.png
new file mode 100644
index 00000000..272e8148
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/eeschema4.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/eeschema4_mod.png b/src/browser/pages/User-Manual/figures/eeschema4_mod.png
new file mode 100644
index 00000000..c7a093b4
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/eeschema4_mod.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/erc1.png b/src/browser/pages/User-Manual/figures/erc1.png
new file mode 100644
index 00000000..d05e4415
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/erc1.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/ercgnd.png b/src/browser/pages/User-Manual/figures/ercgnd.png
new file mode 100644
index 00000000..9f1440fc
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/ercgnd.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/error.png b/src/browser/pages/User-Manual/figures/error.png
new file mode 100644
index 00000000..89259e0e
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/error.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/examples.png b/src/browser/pages/User-Manual/figures/examples.png
new file mode 100644
index 00000000..afb23d3d
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/examples.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/export-subcircuit.png b/src/browser/pages/User-Manual/figures/export-subcircuit.png
new file mode 100644
index 00000000..4a7bbed5
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/export-subcircuit.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/extract.png b/src/browser/pages/User-Manual/figures/extract.png
new file mode 100644
index 00000000..08d5cd5f
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/extract.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/fe.png b/src/browser/pages/User-Manual/figures/fe.png
new file mode 100644
index 00000000..13aa0452
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/fe.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/field.png b/src/browser/pages/User-Manual/figures/field.png
new file mode 100644
index 00000000..c552487b
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/field.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/footprint-c1.png b/src/browser/pages/User-Manual/figures/footprint-c1.png
new file mode 100644
index 00000000..2c75fa41
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/footprint-c1.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/fplace.png b/src/browser/pages/User-Manual/figures/fplace.png
new file mode 100644
index 00000000..abd4be0d
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/fplace.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/fulladder.png b/src/browser/pages/User-Manual/figures/fulladder.png
new file mode 100644
index 00000000..b16f937a
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/fulladder.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/fwdupdated_images_bjt.zip b/src/browser/pages/User-Manual/figures/fwdupdated_images_bjt.zip
new file mode 100644
index 00000000..b371be51
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/fwdupdated_images_bjt.zip
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/global.png b/src/browser/pages/User-Manual/figures/global.png
new file mode 100644
index 00000000..64af66f7
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/global.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/ha_analysistab.png b/src/browser/pages/User-Manual/figures/ha_analysistab.png
new file mode 100644
index 00000000..923b28ee
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/ha_analysistab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/ha_netlistgeneration.png b/src/browser/pages/User-Manual/figures/ha_netlistgeneration.png
new file mode 100644
index 00000000..4cf01ab3
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/ha_netlistgeneration.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/ha_ngspicemodeltab.png b/src/browser/pages/User-Manual/figures/ha_ngspicemodeltab.png
new file mode 100644
index 00000000..906ea6eb
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/ha_ngspicemodeltab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/ha_ngspiceplot.png b/src/browser/pages/User-Manual/figures/ha_ngspiceplot.png
new file mode 100644
index 00000000..61339801
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/ha_ngspiceplot.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/ha_pythonplot.png b/src/browser/pages/User-Manual/figures/ha_pythonplot.png
new file mode 100644
index 00000000..3f2cb8ee
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/ha_pythonplot.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/ha_schematic.png b/src/browser/pages/User-Manual/figures/ha_schematic.png
new file mode 100644
index 00000000..41f553f1
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/ha_schematic.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/ha_sourcedetailstab.png b/src/browser/pages/User-Manual/figures/ha_sourcedetailstab.png
new file mode 100644
index 00000000..2bd60bb9
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/ha_sourcedetailstab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/ha_subcircuitstab.png b/src/browser/pages/User-Manual/figures/ha_subcircuitstab.png
new file mode 100644
index 00000000..9a50924f
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/ha_subcircuitstab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/half_adder.png b/src/browser/pages/User-Manual/figures/half_adder.png
new file mode 100644
index 00000000..5c957632
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/half_adder.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/halfadderblock.png b/src/browser/pages/User-Manual/figures/halfadderblock.png
new file mode 100644
index 00000000..0ef3b03a
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/halfadderblock.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/halfschematic.png b/src/browser/pages/User-Manual/figures/halfschematic.png
new file mode 100644
index 00000000..e5b5b059
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/halfschematic.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/hwr_analysistab.png b/src/browser/pages/User-Manual/figures/hwr_analysistab.png
new file mode 100644
index 00000000..d0ad4d4c
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/hwr_analysistab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/hwr_devicemodelingtab.png b/src/browser/pages/User-Manual/figures/hwr_devicemodelingtab.png
new file mode 100644
index 00000000..e860cae8
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/hwr_devicemodelingtab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/hwr_netlistgeneration.png b/src/browser/pages/User-Manual/figures/hwr_netlistgeneration.png
new file mode 100644
index 00000000..82679419
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/hwr_netlistgeneration.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/hwr_ngspiceplot.png b/src/browser/pages/User-Manual/figures/hwr_ngspiceplot.png
new file mode 100644
index 00000000..b2bd7c7b
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/hwr_ngspiceplot.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/hwr_pythonplot.png b/src/browser/pages/User-Manual/figures/hwr_pythonplot.png
new file mode 100644
index 00000000..7acea109
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/hwr_pythonplot.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/hwr_schematic.png b/src/browser/pages/User-Manual/figures/hwr_schematic.png
new file mode 100644
index 00000000..97a96dc2
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/hwr_schematic.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/hwr_sourcedetailstab.png b/src/browser/pages/User-Manual/figures/hwr_sourcedetailstab.png
new file mode 100644
index 00000000..05ec3c0a
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/hwr_sourcedetailstab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/ia_analysistab.png b/src/browser/pages/User-Manual/figures/ia_analysistab.png
new file mode 100644
index 00000000..a3f0143b
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/ia_analysistab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/ia_netlistgeneration.png b/src/browser/pages/User-Manual/figures/ia_netlistgeneration.png
new file mode 100644
index 00000000..7da86a74
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/ia_netlistgeneration.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/ia_ngspiceplot.png b/src/browser/pages/User-Manual/figures/ia_ngspiceplot.png
new file mode 100644
index 00000000..9c076242
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/ia_ngspiceplot.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/ia_pythonplot.png b/src/browser/pages/User-Manual/figures/ia_pythonplot.png
new file mode 100644
index 00000000..3c588723
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/ia_pythonplot.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/ia_schematic.png b/src/browser/pages/User-Manual/figures/ia_schematic.png
new file mode 100644
index 00000000..064ab5e3
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/ia_schematic.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/ia_sourcedetailstab.png b/src/browser/pages/User-Manual/figures/ia_sourcedetailstab.png
new file mode 100644
index 00000000..1437dbe4
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/ia_sourcedetailstab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/ia_subcircuitstab.png b/src/browser/pages/User-Manual/figures/ia_subcircuitstab.png
new file mode 100644
index 00000000..f47f5bb0
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/ia_subcircuitstab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/iitblogo.png b/src/browser/pages/User-Manual/figures/iitblogo.png
new file mode 100644
index 00000000..666a6f59
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/iitblogo.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/import-0.png b/src/browser/pages/User-Manual/figures/import-0.png
new file mode 100644
index 00000000..95c0d2b9
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/import-0.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/import-mod.png b/src/browser/pages/User-Manual/figures/import-mod.png
new file mode 100644
index 00000000..18a926f2
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/import-mod.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/import-subckt.png b/src/browser/pages/User-Manual/figures/import-subckt.png
new file mode 100644
index 00000000..7922f28e
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/import-subckt.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/install0-short.jpg b/src/browser/pages/User-Manual/figures/install0-short.jpg
new file mode 100644
index 00000000..595828ed
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/install0-short.jpg
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/install0-short.png b/src/browser/pages/User-Manual/figures/install0-short.png
new file mode 100644
index 00000000..aeebb08e
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/install0-short.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/install0-short.tiff b/src/browser/pages/User-Manual/figures/install0-short.tiff
new file mode 100644
index 00000000..ea1f62a2
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/install0-short.tiff
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/install0.png b/src/browser/pages/User-Manual/figures/install0.png
new file mode 100644
index 00000000..a51a64c3
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/install0.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/install3-short.jpg b/src/browser/pages/User-Manual/figures/install3-short.jpg
new file mode 100644
index 00000000..ee95e3a5
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/install3-short.jpg
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/install3-short.png b/src/browser/pages/User-Manual/figures/install3-short.png
new file mode 100644
index 00000000..b46b9f2a
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/install3-short.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/install3-short.tiff b/src/browser/pages/User-Manual/figures/install3-short.tiff
new file mode 100644
index 00000000..71375a14
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/install3-short.tiff
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/install3.png b/src/browser/pages/User-Manual/figures/install3.png
new file mode 100644
index 00000000..90043eca
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/install3.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/install4.png b/src/browser/pages/User-Manual/figures/install4.png
new file mode 100644
index 00000000..ae0d3eeb
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/install4.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/install5.png b/src/browser/pages/User-Manual/figures/install5.png
new file mode 100644
index 00000000..4c0ced20
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/install5.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/install6.png b/src/browser/pages/User-Manual/figures/install6.png
new file mode 100644
index 00000000..cf9da9d1
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/install6.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/install7.png b/src/browser/pages/User-Manual/figures/install7.png
new file mode 100644
index 00000000..25cfbad2
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/install7.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/install9.png b/src/browser/pages/User-Manual/figures/install9.png
new file mode 100644
index 00000000..68609eb6
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/install9.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/installer1-short.jpg b/src/browser/pages/User-Manual/figures/installer1-short.jpg
new file mode 100644
index 00000000..52735ae0
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/installer1-short.jpg
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/installer1-short.png b/src/browser/pages/User-Manual/figures/installer1-short.png
new file mode 100644
index 00000000..b3d012c2
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/installer1-short.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/installer1-short.tiff b/src/browser/pages/User-Manual/figures/installer1-short.tiff
new file mode 100644
index 00000000..2e73efb5
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/installer1-short.tiff
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/installer1.png b/src/browser/pages/User-Manual/figures/installer1.png
new file mode 100644
index 00000000..de79fc71
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/installer1.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/layer.png b/src/browser/pages/User-Manual/figures/layer.png
new file mode 100644
index 00000000..8b6b2f09
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/layer.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/lib.png b/src/browser/pages/User-Manual/figures/lib.png
new file mode 100644
index 00000000..e650241a
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/lib.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/libbrowse.png b/src/browser/pages/User-Manual/figures/libbrowse.png
new file mode 100644
index 00000000..a92090f8
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/libbrowse.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/logo-trimmed.png b/src/browser/pages/User-Manual/figures/logo-trimmed.png
new file mode 100644
index 00000000..4131afba
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/logo-trimmed.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/logo-trimmed.tiff b/src/browser/pages/User-Manual/figures/logo-trimmed.tiff
new file mode 100644
index 00000000..7677673f
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/logo-trimmed.tiff
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/main-window.png b/src/browser/pages/User-Manual/figures/main-window.png
new file mode 100644
index 00000000..44a1606e
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/main-window.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/maingui.png b/src/browser/pages/User-Manual/figures/maingui.png
new file mode 100644
index 00000000..809d69fb
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/maingui.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/map.png b/src/browser/pages/User-Manual/figures/map.png
new file mode 100644
index 00000000..b30dbe22
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/map.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/measspice.png b/src/browser/pages/User-Manual/figures/measspice.png
new file mode 100644
index 00000000..8456d8d2
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/measspice.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/model-build-export.png b/src/browser/pages/User-Manual/figures/model-build-export.png
new file mode 100644
index 00000000..e1ca925f
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/model-build-export.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/model-builder-diode.png b/src/browser/pages/User-Manual/figures/model-builder-diode.png
new file mode 100644
index 00000000..b6da4484
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/model-builder-diode.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/model-builder.png b/src/browser/pages/User-Manual/figures/model-builder.png
new file mode 100644
index 00000000..3fc13212
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/model-builder.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/model-change-field.png b/src/browser/pages/User-Manual/figures/model-change-field.png
new file mode 100644
index 00000000..69dbf2d8
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/model-change-field.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/model-edit-val-field.png b/src/browser/pages/User-Manual/figures/model-edit-val-field.png
new file mode 100644
index 00000000..ca6c7399
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/model-edit-val-field.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/model-parameters.png b/src/browser/pages/User-Manual/figures/model-parameters.png
new file mode 100644
index 00000000..7ca5c618
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/model-parameters.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/model.png b/src/browser/pages/User-Manual/figures/model.png
new file mode 100644
index 00000000..63a13446
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/model.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/modeladd.png b/src/browser/pages/User-Manual/figures/modeladd.png
new file mode 100644
index 00000000..138112f9
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/modeladd.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/modeledit.png b/src/browser/pages/User-Manual/figures/modeledit.png
new file mode 100644
index 00000000..d55803b1
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/modeledit.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/modeleditor.png b/src/browser/pages/User-Manual/figures/modeleditor.png
new file mode 100644
index 00000000..54654109
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/modeleditor.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/modeleditor_new.png b/src/browser/pages/User-Manual/figures/modeleditor_new.png
new file mode 100644
index 00000000..6114ca7a
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/modeleditor_new.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/modelnew.png b/src/browser/pages/User-Manual/figures/modelnew.png
new file mode 100644
index 00000000..b6f56fcb
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/modelnew.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/modelremove.png b/src/browser/pages/User-Manual/figures/modelremove.png
new file mode 100644
index 00000000..6f5e0d57
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/modelremove.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/mosfet1.png b/src/browser/pages/User-Manual/figures/mosfet1.png
new file mode 100644
index 00000000..8fba29e6
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/mosfet1.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/mosfet2.png b/src/browser/pages/User-Manual/figures/mosfet2.png
new file mode 100644
index 00000000..1215b06c
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/mosfet2.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/mosfet3.png b/src/browser/pages/User-Manual/figures/mosfet3.png
new file mode 100644
index 00000000..ae9d38d7
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/mosfet3.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/mosfet4.png b/src/browser/pages/User-Manual/figures/mosfet4.png
new file mode 100644
index 00000000..9bae78b0
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/mosfet4.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/movep.png b/src/browser/pages/User-Manual/figures/movep.png
new file mode 100644
index 00000000..b5c3d780
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/movep.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/net.png b/src/browser/pages/User-Manual/figures/net.png
new file mode 100644
index 00000000..aa54a8fd
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/net.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/netlist-converter.png b/src/browser/pages/User-Manual/figures/netlist-converter.png
new file mode 100644
index 00000000..43c5247b
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/netlist-converter.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/netlist-generation.png b/src/browser/pages/User-Manual/figures/netlist-generation.png
new file mode 100644
index 00000000..67e9b324
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/netlist-generation.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/netlist.png b/src/browser/pages/User-Manual/figures/netlist.png
new file mode 100644
index 00000000..bdcff82d
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/netlist.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/netlistpcb.png b/src/browser/pages/User-Manual/figures/netlistpcb.png
new file mode 100644
index 00000000..77bb5ee9
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/netlistpcb.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/netlisttop.png b/src/browser/pages/User-Manual/figures/netlisttop.png
new file mode 100644
index 00000000..5bda28e3
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/netlisttop.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/new-model-0.png b/src/browser/pages/User-Manual/figures/new-model-0.png
new file mode 100644
index 00000000..c55e5c37
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/new-model-0.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/ngspice-simulation.png b/src/browser/pages/User-Manual/figures/ngspice-simulation.png
new file mode 100644
index 00000000..020db6f5
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/ngspice-simulation.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/ngspicemodel.png b/src/browser/pages/User-Manual/figures/ngspicemodel.png
new file mode 100644
index 00000000..2064529e
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/ngspicemodel.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/ngspiceoutput.png b/src/browser/pages/User-Manual/figures/ngspiceoutput.png
new file mode 100644
index 00000000..78ad4b6e
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/ngspiceoutput.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/ngspicewindow.png b/src/browser/pages/User-Manual/figures/ngspicewindow.png
new file mode 100644
index 00000000..47cb7f6d
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/ngspicewindow.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/one.png b/src/browser/pages/User-Manual/figures/one.png
new file mode 100644
index 00000000..faf2665e
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/one.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/open-project-directory.png b/src/browser/pages/User-Manual/figures/open-project-directory.png
new file mode 100644
index 00000000..2ab1faf1
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/open-project-directory.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/openua741.png b/src/browser/pages/User-Manual/figures/openua741.png
new file mode 100644
index 00000000..4fe93ad7
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/openua741.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/output.png b/src/browser/pages/User-Manual/figures/output.png
new file mode 100644
index 00000000..f8d68c01
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/output.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/pcb-rc.png b/src/browser/pages/User-Manual/figures/pcb-rc.png
new file mode 100644
index 00000000..6c85569f
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/pcb-rc.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/pcbed.png b/src/browser/pages/User-Manual/figures/pcbed.png
new file mode 100644
index 00000000..9aa639bb
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/pcbed.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/pcbedges.png b/src/browser/pages/User-Manual/figures/pcbedges.png
new file mode 100644
index 00000000..b7be70c3
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/pcbedges.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/pcbnew.png b/src/browser/pages/User-Manual/figures/pcbnew.png
new file mode 100644
index 00000000..62521165
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/pcbnew.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/pcbschfin.png b/src/browser/pages/User-Manual/figures/pcbschfin.png
new file mode 100644
index 00000000..ea3da613
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/pcbschfin.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/plot.png b/src/browser/pages/User-Manual/figures/plot.png
new file mode 100644
index 00000000..c3aa9962
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/plot.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/plot2.png b/src/browser/pages/User-Manual/figures/plot2.png
new file mode 100644
index 00000000..6172b64e
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/plot2.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/powerlib.png b/src/browser/pages/User-Manual/figures/powerlib.png
new file mode 100644
index 00000000..9eef4331
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/powerlib.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/pr_analysistab.png b/src/browser/pages/User-Manual/figures/pr_analysistab.png
new file mode 100644
index 00000000..22ca91ea
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/pr_analysistab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/pr_devicemodelingtab.png b/src/browser/pages/User-Manual/figures/pr_devicemodelingtab.png
new file mode 100644
index 00000000..8819c628
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/pr_devicemodelingtab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/pr_netlistgeneration.png b/src/browser/pages/User-Manual/figures/pr_netlistgeneration.png
new file mode 100644
index 00000000..01910fde
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/pr_netlistgeneration.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/pr_ngspiceplot.png b/src/browser/pages/User-Manual/figures/pr_ngspiceplot.png
new file mode 100644
index 00000000..a8ad5efd
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/pr_ngspiceplot.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/pr_pythonplot.png b/src/browser/pages/User-Manual/figures/pr_pythonplot.png
new file mode 100644
index 00000000..7b23ab90
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/pr_pythonplot.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/pr_schematic.png b/src/browser/pages/User-Manual/figures/pr_schematic.png
new file mode 100644
index 00000000..1926dddf
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/pr_schematic.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/pr_sourcedetailstab.png b/src/browser/pages/User-Manual/figures/pr_sourcedetailstab.png
new file mode 100644
index 00000000..43c25a60
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/pr_sourcedetailstab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/pr_subcircuitstab.png b/src/browser/pages/User-Manual/figures/pr_subcircuitstab.png
new file mode 100644
index 00000000..0e30a855
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/pr_subcircuitstab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/print.png b/src/browser/pages/User-Manual/figures/print.png
new file mode 100644
index 00000000..3de5d016
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/print.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/project-name.png b/src/browser/pages/User-Manual/figures/project-name.png
new file mode 100644
index 00000000..fb8577ba
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/project-name.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/pwrflag.png b/src/browser/pages/User-Manual/figures/pwrflag.png
new file mode 100644
index 00000000..a5fd6a92
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/pwrflag.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/pythonplot.png b/src/browser/pages/User-Manual/figures/pythonplot.png
new file mode 100644
index 00000000..d8b21e24
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/pythonplot.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/pythonplot1.png b/src/browser/pages/User-Manual/figures/pythonplot1.png
new file mode 100644
index 00000000..c4c8e1e3
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/pythonplot1.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/rc_analysistab.png b/src/browser/pages/User-Manual/figures/rc_analysistab.png
new file mode 100644
index 00000000..8642dfbe
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/rc_analysistab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/rc_netlistgeneration.png b/src/browser/pages/User-Manual/figures/rc_netlistgeneration.png
new file mode 100644
index 00000000..8b0354d6
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/rc_netlistgeneration.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/rc_ngspiceplot.png b/src/browser/pages/User-Manual/figures/rc_ngspiceplot.png
new file mode 100644
index 00000000..5640e2ec
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/rc_ngspiceplot.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/rc_pythonplot.png b/src/browser/pages/User-Manual/figures/rc_pythonplot.png
new file mode 100644
index 00000000..011b0dd7
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/rc_pythonplot.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/rc_schematic.png b/src/browser/pages/User-Manual/figures/rc_schematic.png
new file mode 100644
index 00000000..5b62113b
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/rc_schematic.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/rc_sourcedetailstab.png b/src/browser/pages/User-Manual/figures/rc_sourcedetailstab.png
new file mode 100644
index 00000000..1506d2fd
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/rc_sourcedetailstab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/rcpcb.png b/src/browser/pages/User-Manual/figures/rcpcb.png
new file mode 100644
index 00000000..59171433
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/rcpcb.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/rotate.png b/src/browser/pages/User-Manual/figures/rotate.png
new file mode 100644
index 00000000..2731a58e
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/rotate.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/run.png b/src/browser/pages/User-Manual/figures/run.png
new file mode 100644
index 00000000..b6ef6b17
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/run.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/schemRC.png b/src/browser/pages/User-Manual/figures/schemRC.png
new file mode 100644
index 00000000..7043209a
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/schemRC.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/schematic-editor-existingprj.png b/src/browser/pages/User-Manual/figures/schematic-editor-existingprj.png
new file mode 100644
index 00000000..eb90253c
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/schematic-editor-existingprj.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/schematic-editor-newprj.png b/src/browser/pages/User-Manual/figures/schematic-editor-newprj.png
new file mode 100644
index 00000000..4ade6cd9
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/schematic-editor-newprj.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/schematic-error.png b/src/browser/pages/User-Manual/figures/schematic-error.png
new file mode 100644
index 00000000..c9d9d932
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/schematic-error.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/schematic.png b/src/browser/pages/User-Manual/figures/schematic.png
new file mode 100644
index 00000000..efa04341
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/schematic.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/schemfin.png b/src/browser/pages/User-Manual/figures/schemfin.png
new file mode 100644
index 00000000..7a307de9
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/schemfin.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/scilab-mode.png b/src/browser/pages/User-Manual/figures/scilab-mode.png
new file mode 100644
index 00000000..400e0ae6
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/scilab-mode.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/scilab.png b/src/browser/pages/User-Manual/figures/scilab.png
new file mode 100644
index 00000000..5202b605
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/scilab.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/scilabFig.png b/src/browser/pages/User-Manual/figures/scilabFig.png
new file mode 100644
index 00000000..94a82e1f
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/scilabFig.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/scilabRC.png b/src/browser/pages/User-Manual/figures/scilabRC.png
new file mode 100644
index 00000000..01a2f631
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/scilabRC.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/screenshot1.png b/src/browser/pages/User-Manual/figures/screenshot1.png
new file mode 100644
index 00000000..f649d500
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/screenshot1.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/select-SMCSim.png b/src/browser/pages/User-Manual/figures/select-SMCSim.png
new file mode 100644
index 00000000..27a70a8b
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/select-SMCSim.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/select-mod-type.png b/src/browser/pages/User-Manual/figures/select-mod-type.png
new file mode 100644
index 00000000..b0ab00cb
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/select-mod-type.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/select-model.png b/src/browser/pages/User-Manual/figures/select-model.png
new file mode 100644
index 00000000..2c428745
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/select-model.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/select-subckt.png b/src/browser/pages/User-Manual/figures/select-subckt.png
new file mode 100644
index 00000000..99acd851
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/select-subckt.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/select.png b/src/browser/pages/User-Manual/figures/select.png
new file mode 100644
index 00000000..0e07a48f
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/select.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/shortcut.png b/src/browser/pages/User-Manual/figures/shortcut.png
new file mode 100644
index 00000000..57beade1
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/shortcut.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/simulation-op.png b/src/browser/pages/User-Manual/figures/simulation-op.png
new file mode 100644
index 00000000..4dcb35bd
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/simulation-op.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/sine.png b/src/browser/pages/User-Manual/figures/sine.png
new file mode 100644
index 00000000..24243572
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/sine.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/sm.png b/src/browser/pages/User-Manual/figures/sm.png
new file mode 100644
index 00000000..43a39fd5
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/sm.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/sourcedetails.png b/src/browser/pages/User-Manual/figures/sourcedetails.png
new file mode 100644
index 00000000..94adc4c5
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/sourcedetails.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/subcircuit-created.png b/src/browser/pages/User-Manual/figures/subcircuit-created.png
new file mode 100644
index 00000000..22dd3481
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/subcircuit-created.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/subcircuit-parameters.png b/src/browser/pages/User-Manual/figures/subcircuit-parameters.png
new file mode 100644
index 00000000..69d0cd76
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/subcircuit-parameters.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/subcircuit.png b/src/browser/pages/User-Manual/figures/subcircuit.png
new file mode 100644
index 00000000..525b5df7
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/subcircuit.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/subcircuit_window.png b/src/browser/pages/User-Manual/figures/subcircuit_window.png
new file mode 100644
index 00000000..02ba421d
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/subcircuit_window.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/subcircuitscm.png b/src/browser/pages/User-Manual/figures/subcircuitscm.png
new file mode 100644
index 00000000..2901ce1f
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/subcircuitscm.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/subcuircuit_new.png b/src/browser/pages/User-Manual/figures/subcuircuit_new.png
new file mode 100644
index 00000000..597d122c
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/subcuircuit_new.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/success.png b/src/browser/pages/User-Manual/figures/success.png
new file mode 100644
index 00000000..f44fab3f
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/success.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/tb_fe.png b/src/browser/pages/User-Manual/figures/tb_fe.png
new file mode 100644
index 00000000..eacca23f
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/tb_fe.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/tool-window.png b/src/browser/pages/User-Manual/figures/tool-window.png
new file mode 100644
index 00000000..dbda5a1a
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/tool-window.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/tools.png b/src/browser/pages/User-Manual/figures/tools.png
new file mode 100644
index 00000000..51d921e3
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/tools.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/tools2.png b/src/browser/pages/User-Manual/figures/tools2.png
new file mode 100644
index 00000000..5d8930b6
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/tools2.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/toptble.png b/src/browser/pages/User-Manual/figures/toptble.png
new file mode 100644
index 00000000..4fb09375
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/toptble.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/track1.png b/src/browser/pages/User-Manual/figures/track1.png
new file mode 100644
index 00000000..928aad91
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/track1.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/track2.png b/src/browser/pages/User-Manual/figures/track2.png
new file mode 100644
index 00000000..09836517
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/track2.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/track3.png b/src/browser/pages/User-Manual/figures/track3.png
new file mode 100644
index 00000000..41a4df6f
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/track3.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/trans1.png b/src/browser/pages/User-Manual/figures/trans1.png
new file mode 100644
index 00000000..fc1ff4f1
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/trans1.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/voltage-divider.png b/src/browser/pages/User-Manual/figures/voltage-divider.png
new file mode 100644
index 00000000..06d9c4e7
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/voltage-divider.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/warning.png b/src/browser/pages/User-Manual/figures/warning.png
new file mode 100644
index 00000000..d15d6d9b
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/warning.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/wire1.png b/src/browser/pages/User-Manual/figures/wire1.png
new file mode 100644
index 00000000..5d4be4ec
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/wire1.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/wirefin.png b/src/browser/pages/User-Manual/figures/wirefin.png
new file mode 100644
index 00000000..5db70924
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/wirefin.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/workspace.png b/src/browser/pages/User-Manual/figures/workspace.png
new file mode 100644
index 00000000..142590db
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/workspace.png
Binary files differ
diff --git a/src/browser/pages/User-Manual/figures/zoom.png b/src/browser/pages/User-Manual/figures/zoom.png
new file mode 100644
index 00000000..4dc70c04
--- /dev/null
+++ b/src/browser/pages/User-Manual/figures/zoom.png
Binary files differ
diff --git a/src/browser/pages/welcome.html b/src/browser/pages/welcome.html
index 91fe2d84..5352da83 100644
--- a/src/browser/pages/welcome.html
+++ b/src/browser/pages/welcome.html
@@ -35,7 +35,7 @@ pre{
<body>
-<h1>About to eSim</h1>
+<h1>About eSim</h1>
<p>
<b>eSim</b> is an open source EDA tool for circuit design, simulation, analysis and PCB design. It is an integrated tool built using open source software such as KiCad (<a href=http://www.kicad-pcb.org>http://www.kicad-pcb.org</a>) and Ngspice(<a href=http://ngspice.sourceforge.net>http://ngspice.sourceforge.net</a>).
<br/>
diff --git a/src/frontEnd/Application.py b/src/frontEnd/Application.py
index e977df23..2aa7c649 100755
--- a/src/frontEnd/Application.py
+++ b/src/frontEnd/Application.py
@@ -224,7 +224,7 @@ class Application(QtGui.QMainWindow):
print "Help is called"
self.obj_appconfig.print_info('Help is called')
print "Current Project : ",self.obj_appconfig.current_project
- self.obj_Mainview.obj_dockarea.createTestEditor()
+ self.obj_Mainview.obj_dockarea.usermanual()
def open_modelEditor(self):
diff --git a/src/frontEnd/DockArea.py b/src/frontEnd/DockArea.py
index 1c155787..65296525 100644
--- a/src/frontEnd/DockArea.py
+++ b/src/frontEnd/DockArea.py
@@ -6,6 +6,7 @@ from modelEditor.ModelEditor import ModelEditorclass
from subcircuit.Subcircuit import Subcircuit
from kicadtoNgspice.KicadtoNgspice import MainWindow
from browser.Welcome import Welcome
+from browser.UserManual import UserManual
import os
dockList = ['Welcome']
@@ -238,4 +239,31 @@ class DockArea(QtGui.QMainWindow):
dock['Subcircuit-'+str(count)].setFocus()
dock['Subcircuit-'+str(count)].raise_()
+ count = count + 1
+
+ def usermanual(self):
+ """
+ This function creates a widget for different subcircuit options
+ """
+
+ global count
+ self.usermanualWidget=QtGui.QWidget()
+ self.usermanualLayout=QtGui.QVBoxLayout()
+ self.usermanualLayout.addWidget(UserManual())
+
+ self.usermanualWidget.setLayout(self.usermanualLayout)
+ dock['User Manual-'+str(count)] = QtGui.QDockWidget('User Manual-'+str(count))
+ dock['User Manual-'+str(count)].setWidget(self.usermanualWidget)
+ self.addDockWidget(QtCore.Qt.TopDockWidgetArea, dock['User Manual-'+str(count)])
+ self.tabifyDockWidget(dock['Welcome'],dock['User Manual-'+str(count)])
+
+ #CSS
+ dock['User Manual-'+str(count)].setStyleSheet(" \
+ .QWidget { border-radius: 15px; border: 1px solid gray; padding: 5px; width: 200px; height: 150px; } \
+ ")
+
+ dock['User Manual-'+str(count)].setVisible(True)
+ dock['User Manual-'+str(count)].setFocus()
+ dock['User Manual-'+str(count)].raise_()
+
count = count + 1 \ No newline at end of file