<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/loose.dtd">
<html >
<head><title>eSim Manual</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-09-15 14:59:00">
<link rel="stylesheet" type="text/css" href="esim.css">
</head><body
>

<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"
>
<span
class="cmbx-12x-x-144">eSim User Manual</span><br />
<span
class="cmr-10">version 1.0.0</span><br />
<span
class="cmbx-10">Prepared By:</span><br />
<span
class="cmr-10">eSim Team</span><br />
<span
class="cmr-10">FOSSEE at IIT,Bombay</span>

<!--l. 17--><p class="noindent" ><img
src="figures/iitblogo.png" alt="PIC"
><br />
<span
class="cmr-10">Indian Institute of Technology Bombay</span><br />
<img
src="esim0x.png" alt="&#x25CB;BY:"  class="oalign" >   <img
src="esim1x.png" alt="&#x25CB;$\"  class="oalign" > <img
src="esim2x.png" alt="&#x25CB;="  class="oalign" > <br />
<span
class="cmr-10">August 2015</span></div>


   <h2 class="likechapterHead"><a
 id="x1-1000"></a>Contents</h2> <div class="tableofcontents">
   <span class="chapterToc" >1 <a
href="#x1-20001" id="QQ2-1-2">Introduction</a></span>
<br />   <span class="chapterToc" >2 <a
href="#x1-30002" id="QQ2-1-3">Installing eSim</a></span>
<br />   <span class="chapterToc" >3 <a
href="#x1-40003" id="QQ2-1-4">Architecture of eSim</a></span>
<br />   &#x00A0;<span class="sectionToc" >3.1 <a
href="#x1-50003.1" id="QQ2-1-5">Modules used in eSim</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsectionToc" >3.1.1 <a
href="#x1-60003.1.1" id="QQ2-1-6">Eeschema</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsectionToc" >3.1.2 <a
href="#x1-70003.1.2" id="QQ2-1-7">CvPcb</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsectionToc" >3.1.3 <a
href="#x1-80003.1.3" id="QQ2-1-8">Pcbnew</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsectionToc" >3.1.4 <a
href="#x1-90003.1.4" id="QQ2-1-9">KiCad to Ngspice converter</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsectionToc" >3.1.5 <a
href="#x1-100003.1.5" id="QQ2-1-10">Model Builder</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsectionToc" >3.1.6 <a
href="#x1-110003.1.6" id="QQ2-1-11">Subcircuit Builder</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsectionToc" >3.1.7 <a
href="#x1-120003.1.7" id="QQ2-1-12">Ngspice</a></span>
<br />   &#x00A0;<span class="sectionToc" >3.2 <a
href="#x1-130003.2" id="QQ2-1-13">Work flow of eSim</a></span>
<br />   <span class="chapterToc" >4 <a
href="#x1-140004" id="QQ2-1-15">Getting Started</a></span>
<br />   &#x00A0;<span class="sectionToc" >4.1 <a
href="#x1-150004.1" id="QQ2-1-16">eSim Main Window</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsectionToc" >4.1.1 <a
href="#x1-160004.1.1" id="QQ2-1-17">How to launch eSim in Ubuntu?</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsectionToc" >4.1.2 <a
href="#x1-170004.1.2" id="QQ2-1-19">Main-GUI</a></span>
<br />   <span class="chapterToc" >5 <a
href="#x1-280005" id="QQ2-1-33">Schematic Creation</a></span>
<br />   &#x00A0;<span class="sectionToc" >5.1 <a
href="#x1-290005.1" id="QQ2-1-34">Familiarizing the Schematic Editor interface</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsectionToc" >5.1.1 <a
href="#x1-300005.1.1" id="QQ2-1-36">Top menu bar</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsectionToc" >5.1.2 <a
href="#x1-310005.1.2" id="QQ2-1-38">Top toolbar</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsectionToc" >5.1.3 <a
href="#x1-320005.1.3" id="QQ2-1-40">Toolbar on the right</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsectionToc" >5.1.4 <a
href="#x1-330005.1.4" id="QQ2-1-42">Toolbar on the left</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsectionToc" >5.1.5 <a
href="#x1-340005.1.5" id="QQ2-1-44">Hotkeys</a></span>
<br />   &#x00A0;<span class="sectionToc" >5.2 <a
href="#x1-350005.2" id="QQ2-1-45">Schematic creation for simulation</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsectionToc" >5.2.1 <a
href="#x1-360005.2.1" id="QQ2-1-47">Selection and placement of components</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsectionToc" >5.2.2 <a
href="#x1-370005.2.2" id="QQ2-1-51">Wiring the circuit</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsectionToc" >5.2.3 <a
href="#x1-380005.2.3" id="QQ2-1-53">Assigning values to components</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsectionToc" >5.2.4 <a
href="#x1-390005.2.4" id="QQ2-1-55">Annotation and ERC</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsectionToc" >5.2.5 <a
href="#x1-400005.2.5" id="QQ2-1-59">Netlist generation</a></span>
<br />   <span class="chapterToc" >6 <a
href="#x1-410006" id="QQ2-1-61">PCB Design</a></span>
<br />   &#x00A0;<span class="sectionToc" >6.1 <a
href="#x1-420006.1" id="QQ2-1-62">Schematic creation for PCB design</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsectionToc" >6.1.1 <a
href="#x1-430006.1.1" id="QQ2-1-64">Netlist generation for PCB</a></span>

<br />   &#x00A0;&#x00A0;<span class="subsectionToc" >6.1.2 <a
href="#x1-440006.1.2" id="QQ2-1-66">Mapping of components using Footprint Editor</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsectionToc" >6.1.3 <a
href="#x1-450006.1.3" id="QQ2-1-67">Familiarising the Footprint Editor tool</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsectionToc" >6.1.4 <a
href="#x1-470006.1.4" id="QQ2-1-71">Viewing footprints in 2D and 3D</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsectionToc" >6.1.5 <a
href="#x1-480006.1.5" id="QQ2-1-75">Mapping of components in the RC circuit</a></span>
<br />   &#x00A0;<span class="sectionToc" >6.2 <a
href="#x1-490006.2" id="QQ2-1-77">Creation of PCB layout</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsectionToc" >6.2.1 <a
href="#x1-500006.2.1" id="QQ2-1-78">Familiarizing the Layout Editor tool</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsectionToc" >6.2.2 <a
href="#x1-520006.2.2" id="QQ2-1-82">Hotkeys</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsectionToc" >6.2.3 <a
href="#x1-530006.2.3" id="QQ2-1-83">PCB design example using RC circuit</a></span>
<br />   <span class="chapterToc" >7 <a
href="#x1-540007" id="QQ2-1-98">Model Editor</a></span>
<br />   &#x00A0;<span class="sectionToc" >7.1 <a
href="#x1-550007.1" id="QQ2-1-100">Creating New Model Library </a></span>
<br />   &#x00A0;<span class="sectionToc" >7.2 <a
href="#x1-560007.2" id="QQ2-1-105">Editing Current Model Library</a></span>
<br />   &#x00A0;<span class="sectionToc" >7.3 <a
href="#x1-570007.3" id="QQ2-1-107">Uploading external .lib file to eSim repository</a></span>
<br />   <span class="chapterToc" >8 <a
href="#x1-580008" id="QQ2-1-108">SubCircuit Builder</a></span>
<br />   &#x00A0;<span class="sectionToc" >8.1 <a
href="#x1-590008.1" id="QQ2-1-110">Creating a SubCircuit</a></span>
<br />   &#x00A0;<span class="sectionToc" >8.2 <a
href="#x1-600008.2" id="QQ2-1-118">Edit a Subcircuit</a></span>
<br />   <span class="chapterToc" >9 <a
href="#x1-610009" id="QQ2-1-119">Solved Examples</a></span>
<br />   &#x00A0;<span class="sectionToc" >9.1 <a
href="#x1-620009.1" id="QQ2-1-120">Solved Examples</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsectionToc" >9.1.1 <a
href="#x1-630009.1.1" id="QQ2-1-121">Basic RC Circuit</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsectionToc" >9.1.2 <a
href="#x1-660009.1.2" id="QQ2-1-136">Half Wave Rectifier</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsectionToc" >9.1.3 <a
href="#x1-690009.1.3" id="QQ2-1-143">Precision Rectifier</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsectionToc" >9.1.4 <a
href="#x1-720009.1.4" id="QQ2-1-150">Inverting Amplifier</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsectionToc" >9.1.5 <a
href="#x1-750009.1.5" id="QQ2-1-157">Half Adder Example</a></span>
<br />   <span class="chapterToc" > <a
href="#Q1-1-166">References                                                    </a></span>
   </div>


   <h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;1</span><br /><a
 id="x1-20001"></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-2001"></a>tools.
<!--l. 20--><p class="noindent" >Let us see the steps involved in EDA.<a
 id="dx1-2002"></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;[<a
href="#Xeda">9</a>]</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-2003"></a>There are various tools available that will help
us 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 licenses 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">E</span>lectronics <span
class="cmbx-10x-x-109">Sim</span>ulation.
eSim is created using open source software packages, such as KiCad, Ngspice and Python. <a
 id="dx1-2004"></a><a
 id="dx1-2005"></a>
<a
 id="dx1-2006"></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.
<!--l. 57--><p class="indent" >   Because of these reasons, eSim is expected to be useful for 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. 63--><p class="indent" >   This book introduces eSim to the reader and illustrates all the features of eSim with
examples. Chapter&#x00A0;<a
href="#x1-30002">2<!--tex4ht:ref: chap2 --></a> 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-40003">3<!--tex4ht:ref: chap3 --></a>. Chapter&#x00A0;<a
href="#x1-140004">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 5 illustrates how
to simulate circuits. Chapter 6 explains PCB design using eSim, in detail. The
advanced features of eSim such as Model Builder covered in Chapter 7 and Sub
circuiting is covered in Chapter 8. Chapter&#x00A0;<a
href="#x1-610009">9<!--tex4ht:ref: chap5 --></a> illustrates how to use eSim for solving
problems.
<!--l. 73--><p class="indent" >   The following convention has been adopted throughout this manual.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-30002"></a>Installing eSim</h2>
     <dl class="enumerate"><dt class="enumerate">
   1. </dt><dd
class="enumerate"><span
class="cmbx-10x-x-109">eSim installation in Ubuntu:</span><br
class="newline" />After downloading the zip file from https://github.com/FOSSEE/eSim to a local
     directory unpack it using:<br
class="newline" />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;                                           <span
class="cmbx-10x-x-109">$ unzip eSim.zip </span><br
class="newline" />Now change directories in to the top-level source directory (where this INSTALL
     file can be found).
     <!--l. 13--><p class="noindent" >To install eSim and other dependecies run the following command. <br
class="newline" />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;                                           <span
class="cmbx-10x-x-109">$ ../install-linux.sh &#8211;install </span><br
class="newline" />Above script will install eSim along with dependencies.
     <!--l. 19--><p class="noindent" >eSim will be installed to /opt/eSim
     <!--l. 21--><p class="noindent" >To run eSim you can directly run it from terminal as <br
class="newline" />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;                                           <span
class="cmbx-10x-x-109">$ esim </span><br
class="newline" />or you can double click on eSim icon created on desktop after installation.</dd></dl>

   <h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;3</span><br /><a
 id="x1-40003"></a>Architecture of eSim</h2>
<!--l. 6--><p class="noindent" >eSim is a CAD <a
 id="dx1-4001"></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 and some flavours of Windows. It uses <span
class="cmtt-10x-x-109">Python</span>, <span
class="cmtt-10x-x-109">KiCad </span>and
<span
class="cmtt-10x-x-109">Ngspice</span>.
<!--l. 13--><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. 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-50003.1"></a>Modules used in eSim</h3>
<!--l. 21--><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. 23--><p class="noindent" >
   <h4 class="subsectionHead"><span class="titlemark">3.1.1   </span> <a
 id="x1-60003.1.1"></a>Eeschema</h4>
<a
 id="dx1-6001"></a>
<a
 id="dx1-6002"></a>
<!--l. 24--><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. It is the
schematic editor tool used in KiCad <span class="cite">&#x00A0;[<a
href="#Xeeschema">11</a>]</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
visualization 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-6003r1"></a>1.&#x00A0;Design rules check <a
 id="dx1-6004"></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-6005r2"></a>2.&#x00A0;Generation of
layout files in <span
class="cmtt-10x-x-109">POSTSCRIPT</span> <a
 id="dx1-6006"></a>or <span
class="cmtt-10x-x-109">HPGL</span> <a
 id="dx1-6007"></a>format. <a
 id="x1-6008r3"></a>3.&#x00A0;Generation of layout files printable via
printer. <a
 id="x1-6009r4"></a>4.&#x00A0;Bill of material generation. <a
 id="x1-6010r5"></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-130011">3.1<!--tex4ht:ref: blockd --></a>.
<!--l. 45--><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-6011f1"></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-130011">3.1<!--tex4ht:ref: blockd --></a>.
   <h4 class="subsectionHead"><span class="titlemark">3.1.2   </span> <a
 id="x1-70003.1.2"></a>CvPcb</h4>
<a
 id="dx1-7001"></a>
<!--l. 58--><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;[<a
href="#Xeeschema">11</a>]</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-130011">3.1<!--tex4ht:ref: blockd --></a>.
<!--l. 80--><p class="noindent" >
   <h4 class="subsectionHead"><span class="titlemark">3.1.3   </span> <a
 id="x1-80003.1.3"></a>Pcbnew</h4>
<a
 id="dx1-8001"></a>
<!--l. 81--><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;[<a
href="#Xeeschema">11</a>]</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-8002"></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 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. 121--><p class="noindent" >This module is indicated by the label 4 in Fig.&#x00A0;<a
href="#x1-130011">3.1<!--tex4ht:ref: blockd --></a>.
   <h4 class="subsectionHead"><span class="titlemark">3.1.4   </span> <a
 id="x1-90003.1.4"></a>KiCad to Ngspice converter</h4>
<!--l. 124--><p class="noindent" >We can provide analysis parameters, and the source details through this module. It also
allows us to add and edit the device models and subcircuits, included in the circuit
schematic. Finally, this module facilitates the conversion of KiCad netlist to Ngspice
compatible ones. It is developed by us for eSim and it is indicated by the label 7 in
Fig.&#x00A0;<a
href="#x1-130011">3.1<!--tex4ht:ref: blockd --></a>.
<!--l. 149--><p class="noindent" >
   <h4 class="subsectionHead"><span class="titlemark">3.1.5   </span> <a
 id="x1-100003.1.5"></a>Model Builder</h4>
<a
 id="dx1-10001"></a>
<!--l. 150--><p class="noindent" >This tool provides the facility to define a new model for devices such as, <a
 id="x1-10002r1"></a>1.&#x00A0;Diode <a
 id="x1-10003r2"></a>2.&#x00A0;Bipolar
Junction Transistor (BJT) <a
 id="x1-10004r3"></a>3.&#x00A0;Metal Oxide Semiconductor Field Effect Transistor
(MOSFET) <a
 id="x1-10005r4"></a>4.&#x00A0;Junction Field Effect Transistor (JFET) <a
 id="x1-10006r5"></a>5.&#x00A0;IGBT and <a
 id="x1-10007r6"></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-130011">3.1<!--tex4ht:ref: blockd --></a>.
<!--l. 164--><p class="noindent" >
   <h4 class="subsectionHead"><span class="titlemark">3.1.6   </span> <a
 id="x1-110003.1.6"></a>Subcircuit Builder</h4>
<a
 id="dx1-11001"></a>
<!--l. 164--><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-130011">3.1<!--tex4ht:ref: blockd --></a>.
<!--l. 172--><p class="noindent" >
   <h4 class="subsectionHead"><span class="titlemark">3.1.7   </span> <a
 id="x1-120003.1.7"></a>Ngspice</h4>
<a
 id="dx1-12001"></a>
<!--l. 173--><p class="noindent" >Ngspice is a general purpose circuit simulation program for nonlinear dc, nonlinear transient,
and linear ac analysis <span class="cite">&#x00A0;[<a
href="#Xngspice-web">12</a>]</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-12002"></a>BJTs, <a
 id="dx1-12003"></a>JFETs, MESFETs, and MOSFET. <a
 id="dx1-12004"></a>This module is indicated by the label 9 in
Fig.&#x00A0;<a
href="#x1-130011">3.1<!--tex4ht:ref: blockd --></a>.
<!--l. 184--><p class="noindent" >
   <h3 class="sectionHead"><span class="titlemark">3.2   </span> <a
 id="x1-130003.2"></a>Work flow of eSim</h3>
<!--l. 185--><p class="noindent" >Fig.&#x00A0;<a
href="#x1-130011">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. 193--><p class="indent" >   <hr class="figure"><div class="figure"
>

<a
 id="x1-130011"></a>


<!--l. 196--><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-130011 -->

<!--l. 201--><p class="indent" >   </div><hr class="endfigure">
<!--l. 203--><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-13002"></a>
<!--l. 210--><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. 219--><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. 227--><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. 238--><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 KiCad to Ngspice Converter in
eSim.
<!--l. 245--><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;[<a
href="#Xspice">14</a>]</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. 253--><p class="noindent" >It is a part of gEDA <a
 id="dx1-13003"></a>project. Ngspice is capable of simulating devices with BSIM, <a
 id="dx1-13004"></a>EKV, HICUM, <a
 id="dx1-13005"></a><a
 id="dx1-13006"></a>

HiSim, <a
 id="dx1-13007"></a>PSP, <a
 id="dx1-13008"></a>and PTM <a
 id="dx1-13009"></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-140004"></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-150004.1"></a>eSim Main Window</h3>
<!--l. 12--><p class="noindent" >
   <h4 class="subsectionHead"><span class="titlemark">4.1.1   </span> <a
 id="x1-160004.1.1"></a>How to launch eSim in Ubuntu?</h4>
<!--l. 13--><p class="noindent" >After installation is completed, to launch eSim 1. Go to terminal.<br
class="newline" />2. Type <span
class="cmbx-10x-x-109">esim </span>and hit enter.<br
class="newline" />The first window that appears is workspace dialog as shown in Fig.&#x00A0;<a
href="#x1-160011">4.1<!--tex4ht:ref: workspace --></a>. <hr class="figure"><div class="figure"
>

<a
 id="x1-160011"></a>


<!--l. 19--><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-160011 -->

<!--l. 22--><p class="indent" >   </div><hr class="endfigure">
<!--l. 24--><p class="indent" >   The default workspace is eSim-Workspace under home directory. To create new workspace
use <span
class="cmti-10x-x-109">browse </span>option.
   <h4 class="subsectionHead"><span class="titlemark">4.1.2   </span> <a
 id="x1-170004.1.2"></a>Main-GUI</h4>
<!--l. 27--><p class="noindent" >The main GUI window of eSim is as shown in Fig.&#x00A0;<a
href="#x1-170012">4.2<!--tex4ht:ref: maingui --></a> <hr class="figure"><div class="figure"
>

<a
 id="x1-170012"></a>


<!--l. 30--><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-170012 -->

<!--l. 33--><p class="indent" >   </div><hr class="endfigure">
<!--l. 34--><p class="indent" >   The eSim main window consists of 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-180004.1.2"></a>Toolbar</h5>
<!--l. 44--><p class="noindent" ><hr class="figure"><div class="figure"
>

<a
 id="x1-180013"></a>


<!--l. 46--><p class="noindent" ><img
src="figures/guitoolbar.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;4.3: </span><span
class="content">Toolbar</span></div><!--tex4ht:label?: x1-180013 -->

<!--l. 49--><p class="noindent" ></div><hr class="endfigure">
     <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-18002"></a>. Clicking on
     this button will open Eeschema, the KiCad schematic editor.
     </li>
     <li class="itemize">Convert  KiCad  to  Ngspice:  This  converter  converts  KiCad  spice  netlist  into
     Ngspice compatible netlist. The KiCad to Ngspice window consists of total five
     tabs as namely <span
class="cmti-10x-x-109">Analysis, Device Model, Source Details, Model Library, Subcircuits</span>.
     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>file in the same project directory.<br
class="newline" />Note that <span
class="cmti-10x-x-109">KiCad to Ngspice Converter </span>can only be used if current project has
     created the KiCad spice netlist file <span
class="cmtt-10x-x-109">.cir</span>.<br
class="newline" />
     <!--l. 62--><p class="noindent" >The details of tabs under KiCad to Ngspice converter are as follows:<br
class="newline" />
     <h5 class="subsubsectionHead"><a
 id="x1-190004.1.2"></a>Analysis</h5>
     <!--l. 65--><p class="noindent" >This feature helps the user to perform different types of analysis such as Operating
     point analysis, <a
 id="dx1-19001"></a>DC analysis, <a
 id="dx1-19002"></a>AC analysis, <a
 id="dx1-19003"></a>transient analysis. <a
 id="dx1-19004"></a>It has the facility
     to
          <ul class="itemize2">
          <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. 73--><p class="noindent" >
     <h5 class="subsubsectionHead"><a
 id="x1-200004.1.2"></a>Source Details</h5>
     <!--l. 74--><p class="noindent" >eSim sources are added from <span
class="cmtt-10x-x-109">eSim</span><span
class="cmtt-10x-x-109">_Sources </span>library. Source such as <span
class="cmti-10x-x-109">SINE, AC, DC,</span>
     <span
class="cmti-10x-x-109">PULSE </span>are in this library. The parameter values to all the sources added in the
     shcematic can be given through &#8217;Source Details&#8217;.

     <!--l. 76--><p class="noindent" >
     <h5 class="subsubsectionHead"><a
 id="x1-210004.1.2"></a>Ngspice Model</h5>
     <!--l. 77--><p class="noindent" >Ngspice has in built model such as <span
class="cmti-10x-x-109">flipflop(D,SR,JK,T),gain,summer </span>etc. which can be
     utilised while building a circuit. eSim allows to add and modify Ngspice model
     parameter through Ngspice Model tab.
     <!--l. 80--><p class="noindent" >
     <h5 class="subsubsectionHead"><a
 id="x1-220004.1.2"></a>Device Modeling</h5>
     <!--l. 81--><p class="noindent" >Devices like <span
class="cmti-10x-x-109">Diode, JFET, MOSFET, IGBT, MOS </span>etc used in the circuit can be
     modeled using device model libraries. eSim also provides editing and adding new model
     libraries. While converting KiCad to Ngspice, these library files are added to the
     corresponding devices used in the circuit.
     <!--l. 83--><p class="noindent" >
     <h5 class="subsubsectionHead"><a
 id="x1-230004.1.2"></a>Subcircuits</h5>
     <!--l. 84--><p class="noindent" >Subcircuits are circuits within circuit. Subcircuiting helps to reuse the parts of the
     circuits. The subcircuits in the main circuits are added using this facility. Also, eSim
     provides us with the facility to edit already existing subcircuits.
     </li>
     <li class="itemize">Simulation: The netlist generated using the <span
class="cmti-10x-x-109">KiCad to Ngspice </span>converter is
     simulated using simulation button. Clicking on the <span
class="cmti-10x-x-109">Simulation </span>button will run
     the Ngspice simulation for current project. Python plotting window will open, as
     shown in Fig.&#x00A0;<a
href="#x1-230014">4.4<!--tex4ht:ref: simulation-op --></a>. It shows the output waveform of current project. In the
     Ngspice tab we can view the output plotted by Ngspice. <hr class="figure"><div class="figure"
><a
 id="x1-230014"></a> <img
src="figures/simulation-op.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;4.4: </span><span
class="content">Simulation Output in Python Plotting Window</span></div><!--tex4ht:label?: x1-230014 -->
     <!--l. 94--><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-23002"></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).
     </li>
     <li class="itemize">PCB Layout: 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-23003"></a>, the layout editor

     used in eSim. 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. It will be saved as a <span
class="cmtt-10x-x-109">.brd </span>file in the current project
     directory.
     </li>
     <li class="itemize">Model Editor: eSim also gives an option to re-configure the model library of a device. It
     facilitates the user to change model library of devices such as diode, transistor,
     MOSFET, etc.
     </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 to recreate it. Clicking on <span
class="cmti-10x-x-109">Subcircuit Builder </span>tool will allow one
     to edit or create a subcircuit.
     <!--l. 126--><p class="noindent" >
     <h5 class="subsubsectionHead"><a
 id="x1-240004.1.2"></a>Menubar</h5>
          <ul class="itemize2">
          <li class="itemize">New Project: New projects are created in the eSim-workspace. When this
          menu is selected, a new window opens up with <span
class="cmtt-10x-x-109">Enter Project name </span>field.
          Type the name of the new project and click on OK. A project directory will
          be created in eSim-Workspace. The name of this folder will be the same as
          that of the project created. Make sure project name does not have any spaces.
          </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: It opens user manual in the dockarea.</li></ul>

     <!--l. 141--><p class="noindent" >
     <h5 class="subsubsectionHead"><a
 id="x1-250004.1.2"></a>Project Explorer</h5>
     <!--l. 142--><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
     double/right clicking, the project file can be opened in the text editor which can then be
     edited.
     <!--l. 145--><p class="noindent" >
     <h5 class="subsubsectionHead"><a
 id="x1-260004.1.2"></a>Dockarea</h5>
     <!--l. 146--><p class="noindent" >This area is used to open the following windows.
          <dl class="enumerate"><dt class="enumerate">
       1. </dt><dd
class="enumerate">KiCad to Ngspice converter
          </dd><dt class="enumerate">
       2. </dt><dd
class="enumerate">Ngspice plotting
          </dd><dt class="enumerate">
       3. </dt><dd
class="enumerate">Python plotting
          </dd><dt class="enumerate">
       4. </dt><dd
class="enumerate">Model builder
          </dd><dt class="enumerate">
       5. </dt><dd
class="enumerate">Subcircuit builder</dd></dl>
     <!--l. 155--><p class="noindent" >
     <h5 class="subsubsectionHead"><a
 id="x1-270004.1.2"></a>Console Area</h5>
     <!--l. 156--><p class="noindent" >Console area provides information about the activity done in current project.
     </li></ul>

   <h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;5</span><br /><a
 id="x1-280005"></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-28001"></a> and is called a
<span
class="cmtt-10x-x-109">Schematic</span>. <a
 id="dx1-28002"></a>eSim uses <span
class="cmtt-10x-x-109">Eeschema</span> <a
 id="dx1-28003"></a>as its schematic editor. Eeschema is the schematic editor of
KiCad. <a
 id="dx1-28004"></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-290005.1"></a>Familiarizing the Schematic Editor interface</h3>
<!--l. 22--><p class="noindent" >Fig.&#x00A0;<a
href="#x1-290011">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-290011"></a>

<div class="center"
>
<!--l. 25--><p class="noindent" >

<!--l. 26--><p class="noindent" ><img
src="figures/schematic1.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-290011 -->
</div>

<!--l. 30--><p class="indent" >   </div><hr class="endfigure">
   <h4 class="subsectionHead"><span class="titlemark">5.1.1   </span> <a
 id="x1-300005.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-300112">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-300112"></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-300112 -->
</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-340005.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-340005.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-310005.1.2"></a>Top toolbar</h4>
<a
 id="dx1-31001"></a>
<a
 id="dx1-31002"></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-310033">5.3<!--tex4ht:ref: eeschem2 --></a>. <hr class="figure"><div class="figure"
>

<a
 id="x1-310033"></a>


<!--l. 84--><p class="noindent" ><img
src="figures/toptoolbar.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-310033 -->

<!--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-320005.1.3"></a>Toolbar on the right</h4>
<a
 id="dx1-32001"></a>
<a
 id="dx1-32002"></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-320034">5.4<!--tex4ht:ref: eeschem3 --></a>. <hr class="figure"><div class="figure"
>

<a
 id="x1-320034"></a>


<!--l. 108--><p class="noindent" ><img
src="figures/rightoolbar.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-320034 -->

<!--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-360005.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">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-330005.1.4"></a>Toolbar on the left</h4>
<a
 id="dx1-33001"></a>
<a
 id="dx1-33002"></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-330035">5.5<!--tex4ht:ref: eeschem4 --></a>. <hr class="figure"><div class="figure"
>

<a
 id="x1-330035"></a>


<!--l. 130--><p class="noindent" ><img
src="figures/lefttoolbar.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-330035 -->

<!--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-340005.1.5"></a>Hotkeys</h4>
<!--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-350005.2"></a>Schematic creation for simulation</h3>
<a
 id="dx1-35001"></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.
<!--l. 177--><p class="indent" >   The first step in the creation of circuit schematic is the selection and placement of
required components. The components are grouped under eSim-libraries as shown in Fig.&#x00A0;<a
href="#x1-350026">5.6<!--tex4ht:ref: libraries --></a>.
<hr class="figure"><div class="figure"
>

<a
 id="x1-350026"></a>


<!--l. 181--><p class="noindent" ><img
src="figures/libraries.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;5.6: </span><span
class="content">eSim-Components Libraries</span></div><!--tex4ht:label?: x1-350026 -->

<!--l. 184--><p class="indent" >   </div><hr class="endfigure">
   <h4 class="subsectionHead"><span class="titlemark">5.2.1   </span> <a
 id="x1-360005.2.1"></a>Selection and placement of components</h4>
<a
 id="dx1-36001"></a>
<!--l. 189--><p class="noindent" >We would need a resistor, a capacitor, a voltage source, ground terminal. To place a resistor
on the schematic editor window, select the <span
class="cmti-10x-x-109">Place a component </span>tool from the toolbar
on the right side and click anywhere on the schematic editor. This opens up the
component selection window. Resistor component can be found under <span
class="cmti-10x-x-109">eSim</span><span
class="cmti-10x-x-109">_Devices</span>
library. Fig.&#x00A0;<a
href="#x1-360027">5.7<!--tex4ht:ref: resistor --></a> shows the selection of resistor component. Click on OK. A resistor
will be tied to the cursor. Place the resistor on the schematic editor by a single
click.
<!--l. 196--><p class="indent" >   <hr class="figure"><div class="figure"
>

<a
 id="x1-360027"></a>


<!--l. 198--><p class="noindent" ><img
src="figures/resistor.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-360027 -->

<!--l. 201--><p class="indent" >   </div><hr class="endfigure">
<!--l. 202--><p class="indent" >   To place the next component, i.e., capacitor, click again on the schematic editor.Similarly,
Capacitor component is found under <span
class="cmti-10x-x-109">eSim</span><span
class="cmti-10x-x-109">_Devices </span>library. 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, choose the library <span
class="cmti-10x-x-109">eSim</span><span
class="cmti-10x-x-109">_source </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. 211--><p class="indent" >   Place the component by clicking on the schematic editor. Similarly place <span
class="cmtt-10x-x-109">gnd</span>, a ground
terminal and <span
class="cmtt-10x-x-109">power</span><span
class="cmtt-10x-x-109">_flag </span>under <span
class="cmtt-10x-x-109">power </span>library. Once all the components are placed, the
schematic editor would look like the Fig.&#x00A0;<a
href="#x1-360038">5.8<!--tex4ht:ref: afterplace --></a>. <hr class="figure"><div class="figure"
>

<a
 id="x1-360038"></a>


<!--l. 216--><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-360038 -->

<!--l. 219--><p class="indent" >   </div><hr class="endfigure">
<!--l. 220--><p class="indent" >   Let us rotate the resistor to complete the circuit. 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-360059">5.9<!--tex4ht:ref: rotate --></a>. This
applies to all components.<a
 id="dx1-36004"></a> <hr class="figure"><div class="figure"
>

<a
 id="x1-360059"></a>


<!--l. 228--><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-360059 -->

<!--l. 231--><p class="indent" >   </div><hr class="endfigure">
<!--l. 232--><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-36006"></a>
   <h4 class="subsectionHead"><span class="titlemark">5.2.2   </span> <a
 id="x1-370005.2.2"></a>Wiring the circuit</h4>
<a
 id="dx1-37001"></a>
<!--l. 238--><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-37002r1">5.10a<!--tex4ht:ref: wire1 --></a>.
<hr class="figure"><div class="figure"
>

<a
 id="x1-3700510"></a>

<a
 id="x1-37002r1"></a>
<!--l. 248--><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-37003r2"></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-37004r3"></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-3700510 -->

<!--l. 256--><p class="indent" >   </div><hr class="endfigure">
<!--l. 257--><p class="indent" >   Similarly connect the wires between all terminals and the final schematic would look like
Fig.&#x00A0;<a
href="#x1-37003r2">5.10b<!--tex4ht:ref: wirefin --></a>.
   <h4 class="subsectionHead"><span class="titlemark">5.2.3   </span> <a
 id="x1-380005.2.3"></a>Assigning values to components</h4>
<a
 id="dx1-38001"></a>
<!--l. 261--><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-3800211">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. 271--><p class="indent" >   <hr class="figure"><div class="figure"
>

<a
 id="x1-3800211"></a>


<!--l. 273--><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-3800211 -->

<!--l. 276--><p class="indent" >   </div><hr class="endfigure">
   <h4 class="subsectionHead"><span class="titlemark">5.2.4   </span> <a
 id="x1-390005.2.4"></a>Annotation and ERC</h4>
<a
 id="dx1-39001"></a>
<a
 id="dx1-39002"></a>
<a
 id="dx1-39003"></a>
<a
 id="dx1-39004"></a>
<!--l. 280--><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 <span
class="cmtt-10x-x-109">annotation</span>, then click on <span
class="cmtt-10x-x-109">OK </span>and finally click on close as
shown in Fig.&#x00A0;<a
href="#x1-3900813">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. 289--><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-3900712">5.12<!--tex4ht:ref: erc --></a>
may be displayed. Click on close in the test erc<a
 id="dx1-39005"></a> window. <a
 id="dx1-39006"></a><hr class="figure"><div class="figure"
>

<a
 id="x1-3900712"></a>


<!--l. 296--><p class="noindent" ><img
src="figures/erc2.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-3900712 -->

<!--l. 299--><p class="indent" >   </div><hr class="endfigure">
<!--l. 300--><p class="indent" >   <hr class="figure"><div class="figure"
>

<a
 id="x1-3900813"></a>


<!--l. 302--><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-3900813 -->

<!--l. 305--><p class="indent" >   </div><hr class="endfigure">
<!--l. 306--><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-3900914">5.14<!--tex4ht:ref: ercgnd --></a>. <hr class="figure"><div class="figure"
>

<a
 id="x1-3900914"></a>


<!--l. 311--><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-3900914 -->

<!--l. 314--><p class="indent" >   </div><hr class="endfigure">
<!--l. 315--><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-39010"></a>Connect the
power flag to the ground terminal as shown in Fig.&#x00A0;<a
href="#x1-37004r3">5.10c<!--tex4ht:ref: schemfin --></a>. 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-3900712">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-400005.2.5"></a>Netlist generation</h4>
<a
 id="dx1-40001"></a>
<!--l. 326--><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-40002"></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. Check the option <span
class="cmtt-10x-x-109">Default Format</span>. Then click on <span
class="cmti-10x-x-109">Generate</span>.
This is shown in Fig.&#x00A0;<a
href="#x1-4000315">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-4000315"></a>


<!--l. 337--><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">Default Format </span>then 3. Click on Generate </span></div><!--tex4ht:label?: x1-4000315 -->

<!--l. 340--><p class="indent" >   </div><hr class="endfigure">
<!--l. 341--><p class="indent" >   Now the netlist is ready to be simulated. Refer to <span class="cite">&#x00A0;[<a
href="#Xkicad">15</a>]</span> or <span class="cite">&#x00A0;[<a
href="#Xkicad2">16</a>]</span> to know more about
Eeschema.

   <h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;6</span><br /><a
 id="x1-410006"></a>PCB Design</h2>  Printed Circuit Board (PCB) <a
 id="dx1-41001"></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-41002"></a> <a
 id="dx1-41003"></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">6.1   </span> <a
 id="x1-420006.1"></a>Schematic creation for PCB design</h3>
<!--l. 16--><p class="noindent" >In Chapter&#x00A0;<a
href="#x1-610009">9<!--tex4ht:ref: chap5 --></a>, we will see the differences between schematic for simulation and schematic for
PCB design. Let us design the PCB for a 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-420011">6.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>. Do the annotation and test for ERC. Refer to
Chapter&#x00A0;<a
href="#x1-610009">9<!--tex4ht:ref: chap5 --></a> to know more about basic steps in schematic creation.
<!--l. 28--><p class="indent" >   <hr class="figure"><div class="figure"
>

<a
 id="x1-420011"></a>


<!--l. 30--><p class="noindent" ><img
src="figures/pcbschfin.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;6.1: </span><span
class="content">Final circuit schematic for RC low pass circuit</span></div><!--tex4ht:label?: x1-420011 -->

<!--l. 33--><p class="indent" >   </div><hr class="endfigure">
   <h4 class="subsectionHead"><span class="titlemark">6.1.1   </span> <a
 id="x1-430006.1.1"></a>Netlist generation for PCB</h4>
<a
 id="dx1-43001"></a>
<a
 id="dx1-43002"></a>
<!--l. 38--><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-43003"></a>click on the button <span
class="cmti-10x-x-109">Netlist</span>. This is shown in Fig.&#x00A0;<a
href="#x1-430042">6.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-430042"></a>


<!--l. 48--><p class="noindent" ><img
src="figures/netlistpcb.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;6.2: </span><span
class="content">Netlist generation for PCB</span></div><!--tex4ht:label?: x1-430042 -->

<!--l. 51--><p class="indent" >   </div><hr class="endfigure">
<!--l. 52--><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">6.1.2   </span> <a
 id="x1-440006.1.2"></a>Mapping of components using Footprint Editor</h4>
<a
 id="dx1-44001"></a>
<a
 id="dx1-44002"></a>
<a
 id="dx1-44003"></a>
<!--l. 59--><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-44004"></a>
<!--l. 64--><p class="noindent" >
   <h4 class="subsectionHead"><span class="titlemark">6.1.3   </span> <a
 id="x1-450006.1.3"></a>Familiarising the Footprint Editor tool</h4>
<a
 id="dx1-45001"></a>
<!--l. 67--><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-450023">6.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-450023"></a>


<!--l. 75--><p class="noindent" ><img
src="figures/fe.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;6.3: </span><span
class="content">Footprint editor with the menu bar, toolbar, left pane and right pane
marked</span></div><!--tex4ht:label?: x1-450023 -->

<!--l. 78--><p class="indent" >   </div><hr class="endfigure">
<!--l. 79--><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-460006.1.3"></a>Toolbar</h5>
<!--l. 82--><p class="noindent" >Some of the important tools in the toolbar are shown in Fig.&#x00A0;<a
href="#x1-460014">6.4<!--tex4ht:ref: tb_fe --></a>. They are explained below:
<hr class="figure"><div class="figure"
>

<a
 id="x1-460014"></a>


<!--l. 86--><p class="noindent" ><img
src="figures/tb_fe.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;6.4: </span><span
class="content">Some important tools in the toolbar</span></div><!--tex4ht:label?: x1-460014 -->

<!--l. 89--><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-470006.1.4">6.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">6.1.4   </span> <a
 id="x1-470006.1.4"></a>Viewing footprints in 2D and 3D</h4>
<a
 id="dx1-47001"></a>
<a
 id="dx1-47002"></a>
<!--l. 110--><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-470035">6.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-470046">6.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-470057">6.7<!--tex4ht:ref: 3dv --></a>.
<!--l. 121--><p class="indent" >   <hr class="figure"><div class="figure"
>

<a
 id="x1-470035"></a>


<!--l. 123--><p class="noindent" ><img
src="figures/sm.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;6.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-470035 -->

<!--l. 127--><p class="indent" >   </div><hr class="endfigure">
<!--l. 128--><p class="indent" >   <hr class="figure"><div class="figure"
>

<a
 id="x1-470046"></a>


<!--l. 130--><p class="noindent" ><img
src="figures/3d.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;6.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-470046 -->

<!--l. 133--><p class="indent" >   </div><hr class="endfigure">
<!--l. 134--><p class="indent" >   <hr class="figure"><div class="figure"
>

<a
 id="x1-470057"></a>


<!--l. 136--><p class="noindent" ><img
src="figures/3dv.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;6.7: </span><span
class="content">Side view of the footprint in 3D</span></div><!--tex4ht:label?: x1-470057 -->

<!--l. 139--><p class="indent" >   </div><hr class="endfigure">
   <h4 class="subsectionHead"><span class="titlemark">6.1.5   </span> <a
 id="x1-480006.1.5"></a>Mapping of components in the RC circuit</h4>
<!--l. 142--><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-480018">6.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-480018"></a>


<!--l. 155--><p class="noindent" ><img
src="figures/map.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;6.8: </span><span
class="content">Footprint mapping done</span></div><!--tex4ht:label?: x1-480018 -->

<!--l. 158--><p class="indent" >   </div><hr class="endfigure">
<!--l. 159--><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">6.2   </span> <a
 id="x1-490006.2"></a>Creation of PCB layout</h3>
<a
 id="dx1-49001"></a>
<a
 id="dx1-49002"></a>
<!--l. 164--><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. 169--><p class="noindent" >
   <h4 class="subsectionHead"><span class="titlemark">6.2.1   </span> <a
 id="x1-500006.2.1"></a>Familiarizing the Layout Editor tool</h4>
<a
 id="dx1-50001"></a>
<!--l. 172--><p class="noindent" >The layout editor with the various menu bar and toolbars is shown in Fig.&#x00A0;<a
href="#x1-500029">6.9<!--tex4ht:ref: pcbnew --></a>.
<hr class="figure"><div class="figure"
>

<a
 id="x1-500029"></a>


<!--l. 176--><p class="noindent" ><img
src="figures/pcbnew.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;6.9: </span><span
class="content">Layout editor with menu bar, toolbars and layer options marked</span></div><!--tex4ht:label?: x1-500029 -->

<!--l. 179--><p class="indent" >   </div><hr class="endfigure">
<!--l. 180--><p class="indent" >   <hr class="figure"><div class="figure"
>

<a
 id="x1-5000310"></a>


<!--l. 182--><p class="noindent" ><img
src="figures/toptble.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;6.10: </span><span
class="content">Top toolbar with important tools marked</span></div><!--tex4ht:label?: x1-5000310 -->

<!--l. 185--><p class="indent" >   </div><hr class="endfigure">
   <h5 class="subsubsectionHead"><a
 id="x1-510006.2.1"></a>Top toolbar</h5>
<!--l. 188--><p class="noindent" >Some of the important menu options in the top menu bar are shown in Fig.&#x00A0;<a
href="#x1-5000310">6.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. 206--><p class="noindent" >
   <h4 class="subsectionHead"><span class="titlemark">6.2.2   </span> <a
 id="x1-520006.2.2"></a>Hotkeys</h4>
<a
 id="dx1-52001"></a>
<!--l. 208--><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. 222--><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. 226--><p class="noindent" >
   <h4 class="subsectionHead"><span class="titlemark">6.2.3   </span> <a
 id="x1-530006.2.3"></a>PCB design example using RC circuit</h4>
<a
 id="dx1-53001"></a>
<!--l. 227--><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-5300411">6.11<!--tex4ht:ref: brnet --></a>.
<a
 id="dx1-53002"></a><a
 id="dx1-53003"></a><hr class="figure"><div class="figure"
>

<a
 id="x1-5300411"></a>


<!--l. 238--><p class="noindent" ><img
src="figures/rcpcb.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;6.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-5300411 -->

<!--l. 242--><p class="indent" >   </div><hr class="endfigure">
<!--l. 243--><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-5300512">6.12<!--tex4ht:ref: netlisttop --></a>. <hr class="figure"><div class="figure"
>

<a
 id="x1-5300512"></a>


<!--l. 247--><p class="noindent" ><img
src="figures/netlisttop.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;6.12: </span><span
class="content">Footprint modules imported to top left corner of layout editor window</span></div><!--tex4ht:label?: x1-5300512 -->

<!--l. 250--><p class="indent" >   </div><hr class="endfigure">
<!--l. 251--><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-5300613">6.13<!--tex4ht:ref: zoom --></a>.
<!--l. 255--><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-5300613"></a>


<!--l. 259--><p class="noindent" ><img
src="figures/zoom.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;6.13: </span><span
class="content">Zoomed in version of the imported netlist</span></div><!--tex4ht:label?: x1-5300613 -->

<!--l. 262--><p class="indent" >   </div><hr class="endfigure">
<!--l. 263--><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-5300714">6.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-53008r1">6.15a<!--tex4ht:ref: curplace --></a>.
<hr class="figure"><div class="figure"
>

<a
 id="x1-5300714"></a>


<!--l. 272--><p class="noindent" ><img
src="figures/movep.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;6.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-5300714 -->

<!--l. 279--><p class="indent" >   </div><hr class="endfigure">
<!--l. 286--><p class="indent" >   <hr class="figure"><div class="figure"
>

<a
 id="x1-5301015"></a>

<a
 id="x1-53008r1"></a>
<!--l. 290--><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-53009r2"></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;6.15: </span><span
class="content">Different stages of placement of modules on PCB</span></div><!--tex4ht:label?: x1-5301015 -->

<!--l. 295--><p class="indent" >   </div><hr class="endfigure">
<!--l. 296--><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-53009r2">6.15b<!--tex4ht:ref: fplace --></a>. <a
 id="dx1-53011"></a>
<!--l. 302--><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-5301416">6.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-5301517">6.17<!--tex4ht:ref: druleedit --></a> shows the sequence of
operations. <a
 id="dx1-53012"></a><a
 id="dx1-53013"></a> <hr class="figure"><div class="figure"
>

<a
 id="x1-5301416"></a>


<!--l. 312--><p class="noindent" ><img
src="figures/drules.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;6.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-5301416 -->

<!--l. 316--><p class="indent" >   </div><hr class="endfigure">
<!--l. 317--><p class="indent" >   <hr class="figure"><div class="figure"
>

<a
 id="x1-5301517"></a>


<!--l. 319--><p class="noindent" ><img
src="figures/druleedit.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;6.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-5301517 -->

<!--l. 323--><p class="indent" >   </div><hr class="endfigure">
<!--l. 325--><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-5301718">6.18<!--tex4ht:ref: layer --></a>. <a
 id="dx1-53016"></a><hr class="figure"><div class="figure"
>

<a
 id="x1-5301718"></a>


<!--l. 329--><p class="noindent" ><img
src="figures/layer.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;6.18: </span><span
class="content">Choosing the copper layer <span
class="cmti-10x-x-109">Back</span></span></div><!--tex4ht:label?: x1-5301718 -->

<!--l. 332--><p class="indent" >   </div><hr class="endfigure">
<!--l. 333--><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-53018r1">6.19a<!--tex4ht:ref: track1 --></a>.
<hr class="figure"><div class="figure"
>

<a
 id="x1-5302119"></a>

<a
 id="x1-53018r1"></a>
<!--l. 341--><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-53019r2"></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-53020r3"></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;6.19: </span><span
class="content">Different stages of laying tracks during PCB design</span></div><!--tex4ht:label?: x1-5302119 -->

<!--l. 349--><p class="indent" >   </div><hr class="endfigure">
<!--l. 350--><p class="indent" >   Similarly lay the track between capacitor C1 and connector P1 as shown in
Fig.&#x00A0;<a
href="#x1-53019r2">6.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-53020r3">6.19c<!--tex4ht:ref: track3 --></a>. All tracks are now laid. The next step is to create PCB
edges.
<!--l. 358--><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-5302320">6.20<!--tex4ht:ref: pcbedges --></a> shows the sequence of operations. Let us now
start drawing edges for PCB. <a
 id="dx1-53022"></a><hr class="figure"><div class="figure"
>

<a
 id="x1-5302320"></a>


<!--l. 365--><p class="noindent" ><img
src="figures/pcbedges.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;6.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-5302320 -->

<!--l. 370--><p class="indent" >   </div><hr class="endfigure">
<!--l. 371--><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-5302421">6.21<!--tex4ht:ref: pcbed --></a>. Double click
to finish drawing the edges. <hr class="figure"><div class="figure"
>

<a
 id="x1-5302421"></a>


<!--l. 377--><p class="noindent" ><img
src="figures/pcbed.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;6.21: </span><span
class="content">PCB edges drawn</span></div><!--tex4ht:label?: x1-5302421 -->

<!--l. 380--><p class="indent" >   </div><hr class="endfigure">
<!--l. 382--><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-5302622">6.22<!--tex4ht:ref: drc --></a> shows the sequence of
operations. <a
 id="dx1-53025"></a><hr class="figure"><div class="figure"
>

<a
 id="x1-5302622"></a>


<!--l. 390--><p class="noindent" ><img
src="figures/drc.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;6.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-5302622 -->

<!--l. 394--><p class="indent" >   </div><hr class="endfigure">
<!--l. 395--><p class="indent" >   Click on <span
class="cmti-10x-x-109">Save board </span>on the top toolbar.
<!--l. 397--><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-5302823">6.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-5302924">6.24<!--tex4ht:ref: plot2 --></a>.
<a
 id="dx1-53027"></a><hr class="figure"><div class="figure"
>

<a
 id="x1-5302823"></a>


<!--l. 410--><p class="noindent" ><img
src="figures/plot.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;6.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-5302823 -->

<!--l. 413--><p class="indent" >   </div><hr class="endfigure">
<!--l. 414--><p class="indent" >   <hr class="figure"><div class="figure"
>

<a
 id="x1-5302924"></a>


<!--l. 416--><p class="noindent" ><img
src="figures/plot2.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;6.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-5302924 -->

<!--l. 421--><p class="indent" >   </div><hr class="endfigure">
<!--l. 422--><p class="indent" >   The PCB design of RC circuit is now complete. To know more about Pcbnew, refer to
<span class="cite">&#x00A0;[<a
href="#Xkicad">15</a>]</span> or <span class="cite">&#x00A0;[<a
href="#Xkicad2">16</a>]</span>.

   <h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;7</span><br /><a
 id="x1-540007"></a>Model Editor</h2>
<!--l. 4--><p class="noindent" >Spice based simulators include a feature which allows accurate modeling of semiconductor
devices such as diodes, transistors etc. eSim Model Editor provides a facility to define a new
model for devices such as <span
class="cmti-10x-x-109">diodes, MOSFET, BJT, JFET, IGBT, Magnetic core </span>etc. Model
Editor 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 Editor also
provides a facility to edit existing models. The GUI of the model editor is as shown in
Fig.&#x00A0;<a
href="#x1-540011">7.1<!--tex4ht:ref: modeleditor --></a>
<!--l. 15--><p class="indent" >   <hr class="figure"><div class="figure"
>

<a
 id="x1-540011"></a>


<!--l. 17--><p class="noindent" ><img
src="figures/modeleditor_new.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;7.1: </span><span
class="content">Model Editor</span></div><!--tex4ht:label?: x1-540011 -->

<!--l. 20--><p class="indent" >   </div><hr class="endfigure">
   <h3 class="sectionHead"><span class="titlemark">7.1   </span> <a
 id="x1-550007.1"></a>Creating New Model Library </h3>
<!--l. 24--><p class="noindent" >eSim lets us create new model libraries based on the template model libraries. On selecting
<span
class="cmtt-10x-x-109">New </span>button the window is popped as shown in Fig.&#x00A0;<a
href="#x1-550012">7.2<!--tex4ht:ref: modeleditor_new --></a>. The name has to be unique otherwise
the error message appears on the window.
<!--l. 27--><p class="indent" >   <hr class="figure"><div class="figure"
>

<a
 id="x1-550012"></a>


<!--l. 29--><p class="noindent" ><img
src="figures/modeleditor.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;7.2: </span><span
class="content">Creating New Model Library</span></div><!--tex4ht:label?: x1-550012 -->

<!--l. 32--><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 opens up in a tabular form as shown in Fig.&#x00A0;<a
href="#x1-550023">7.3<!--tex4ht:ref: modelnew --></a>
<hr class="figure"><div class="figure"
>

<a
 id="x1-550023"></a>


<!--l. 36--><p class="noindent" ><img
src="figures/modelnew.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;7.3: </span><span
class="content">Choosing the Template Model Library </span></div><!--tex4ht:label?: x1-550023 -->

<!--l. 39--><p class="indent" >   </div><hr class="endfigure">

<!--l. 43--><p class="indent" >   New parameters can be added or current parameters can be removed using <span
class="cmtt-10x-x-109">ADD</span>
and <span
class="cmtt-10x-x-109">REMOVE </span>buttons. Also the values of parameters can be changed in the table.
Adding and removing the parameters in library files is shown in the Fig.&#x00A0;<a
href="#x1-550034">7.4<!--tex4ht:ref: modeladd --></a> and
Fig.&#x00A0;<a
href="#x1-550045">7.5<!--tex4ht:ref: modelremove --></a>
<!--l. 45--><p class="indent" >   <hr class="figure"><div class="figure"
>

<a
 id="x1-550034"></a>


<!--l. 47--><p class="noindent" ><img
src="figures/modeladd.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;7.4: </span><span
class="content">Adding the Parameter in a Library</span></div><!--tex4ht:label?: x1-550034 -->

<!--l. 50--><p class="indent" >   </div><hr class="endfigure">
<!--l. 52--><p class="indent" >   <hr class="figure"><div class="figure"
>

<a
 id="x1-550045"></a>


<!--l. 54--><p class="noindent" ><img
src="figures/modelremove.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;7.5: </span><span
class="content">Removing a Parameter from a Library </span></div><!--tex4ht:label?: x1-550045 -->

<!--l. 57--><p class="indent" >   </div><hr class="endfigure">
<!--l. 59--><p class="indent" >   After the editing of the model library is done, the file can be saved by selecting the <span
class="cmtt-10x-x-109">SAVE</span>
button. These libraries are saved in the <span
class="cmti-10x-x-109">User Libraries </span>folder under <span
class="cmti-10x-x-109">deviceModelLibrary</span>
repository.
   <h3 class="sectionHead"><span class="titlemark">7.2   </span> <a
 id="x1-560007.2"></a>Editing Current Model Library</h3>
<!--l. 62--><p class="noindent" >The existing model library can be modified using <span
class="cmtt-10x-x-109">EDIT </span>option. On clicking the <span
class="cmtt-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-560016">7.6<!--tex4ht:ref: modeledit --></a>. You can select
the library you want to edit. Once you are done with the editing, click on <span
class="cmtt-10x-x-109">SAVE</span>
button.
<!--l. 65--><p class="indent" >   <hr class="figure"><div class="figure"
>

<a
 id="x1-560016"></a>


<!--l. 67--><p class="noindent" ><img
src="figures/modeledit.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;7.6: </span><span
class="content">Editing Existing Model Library</span></div><!--tex4ht:label?: x1-560016 -->

<!--l. 70--><p class="indent" >   </div><hr class="endfigure">
   <h3 class="sectionHead"><span class="titlemark">7.3   </span> <a
 id="x1-570007.3"></a>Uploading external .lib file to eSim repository</h3>
<!--l. 73--><p class="noindent" >eSim directly cannot use the external .lib file. It has to be uploaded to eSim repository before
using it in a circuit. eSim provides the facility to upload library files. They are then converted
into xml format, which can be easily modified from the eSim interface. On clicking <span
class="cmtt-10x-x-109">UPLOAD</span>
button the library can be uploaded from any location. The model library will be
saved with the name you have provided, in the <span
class="cmti-10x-x-109">User Libraries </span>folder of repository
<span
class="cmti-10x-x-109">deviceModelLibrary</span>.

   <h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;8</span><br /><a
 id="x1-580008"></a>SubCircuit Builder</h2> 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. The following Fig.&#x00A0;<a
href="#x1-580011">8.1<!--tex4ht:ref: subcircuit_mainwin --></a> shows
the window that is opened when the SubCircuit tool is chosen from the toolbar.
<hr class="figure"><div class="figure"
>

<a
 id="x1-580011"></a>


<!--l. 8--><p class="noindent" ><img
src="figures/subcirciut_window.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;8.1: </span><span
class="content">Subcircuit Window</span></div><!--tex4ht:label?: x1-580011 -->

<!--l. 11--><p class="noindent" ></div><hr class="endfigure">

   <h3 class="sectionHead"><span class="titlemark">8.1   </span> <a
 id="x1-590008.1"></a>Creating a SubCircuit</h3>
<!--l. 32--><p class="noindent" >The steps to create subcircuit are as follows.
     <ul class="itemize1">
     <li class="itemize">After opening the Subcircuit tool, click on <span
class="cmtt-10x-x-109">New Subcircuit Schematic </span>button.
     It will ask the name of the subcircuit. Enter the name of subcircuit (without any
     spaces) and click <span
class="cmtt-10x-x-109">OK </span>as shown in Fig.&#x00A0;<a
href="#x1-590012">8.2<!--tex4ht:ref: newsubcktschematic --></a>.
     <!--l. 39--><p class="noindent" ><hr class="figure"><div class="figure"
><a
 id="x1-590012"></a> <img
src="figures/newsubcktschematic.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;8.2: </span><span
class="content">New Sub circuit Window</span></div><!--tex4ht:label?: x1-590012 -->
     <!--l. 44--><p class="noindent" ></div><hr class="endfigure">
     </li>
     <li class="itemize">After clicking <span
class="cmtt-10x-x-109">OK </span>button it will open KiCad schematic. Draw your circuit
     which will be later used as a subcircuit. e.g the Fig.&#x00A0;<a
href="#x1-590023">8.3<!--tex4ht:ref: createsubcktsch --></a> shows the half adder
     circuit.
     <!--l. 49--><p class="noindent" ><hr class="figure"><div class="figure"
><a
 id="x1-590023"></a> <img
src="figures/createsubcktsch.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;8.3: </span><span
class="content">New Sub circuit Window</span></div><!--tex4ht:label?: x1-590023 -->
     <!--l. 54--><p class="noindent" ></div><hr class="endfigure">

     </li>
     <li class="itemize">Once you complete the circuit, assign port to the node of your circuit which will be
     used to connect with the main circuit. The circuit will look like Fig.&#x00A0;<a
href="#x1-590034">8.4<!--tex4ht:ref: halfadder --></a> after
     adding PORT to it. The PORT symbol can be found in Eeschema as shown in
     Fig.&#x00A0;<a
href="#x1-590045">8.5<!--tex4ht:ref: port --></a>.
     <!--l. 61--><p class="noindent" ><hr class="figure"><div class="figure"
><a
 id="x1-590034"></a> <img
src="figures/ha_sub.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;8.4: </span><span
class="content">Half-Adder Subcircuit </span></div><!--tex4ht:label?: x1-590034 -->
     <!--l. 66--><p class="noindent" ></div><hr class="endfigure">
     <!--l. 69--><p class="noindent" ><hr class="figure"><div class="figure"
><a
 id="x1-590045"></a> <img
src="figures/port_lib.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;8.5: </span><span
class="content">Selection of PORT component</span></div><!--tex4ht:label?: x1-590045 -->
     <!--l. 74--><p class="noindent" ></div><hr class="endfigure">

     </li>
     <li class="itemize">Next step is to save the schematic and generate KiCad netlist as explained in Chapter
     5.
     </li>
     <li class="itemize">To use this as a subcircuit, create a block in KiCad Eeschema by following steps given
     below:
          <dl class="enumerate"><dt class="enumerate">
       1. </dt><dd
class="enumerate">Go to library browser of Eeschema.
          </dd><dt class="enumerate">
       2. </dt><dd
class="enumerate">Select the working library as eSim_Subckt as shown in Fig.&#x00A0;<a
href="#x1-590076">8.6<!--tex4ht:ref: esimsubckt --></a> <hr class="figure"><div class="figure"
><a
 id="x1-590076"></a> <img
src="figures/esim-subckt.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;8.6: </span><span
class="content">Selecting Working Library</span></div><!--tex4ht:label?: x1-590076 -->
          <!--l. 90--><p class="noindent" ></div><hr class="endfigure">

          </dd><dt class="enumerate">
       3. </dt><dd
class="enumerate">Click on create a new component with reference X as shown in Fig.&#x00A0;<a
href="#x1-590097">8.7<!--tex4ht:ref: subcktnewcomp --></a> <hr class="figure"><div class="figure"
><a
 id="x1-590097"></a>
          <img
src="figures/subcktnewcomp.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;8.7: </span><span
class="content">Creating New Component</span></div><!--tex4ht:label?: x1-590097 -->
          <!--l. 99--><p class="noindent" ></div><hr class="endfigure">
          </dd><dt class="enumerate">
       4. </dt><dd
class="enumerate">Start drawing the subcircuit block. Update and save it as shown in Fig.&#x00A0;<a
href="#x1-590118">8.8<!--tex4ht:ref: block --></a>.
          <!--l. 104--><p class="noindent" ><hr class="figure"><div class="figure"
><a
 id="x1-590118"></a> <img
src="figures/halfadderblock.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;8.8: </span><span
class="content">Half-Adder Subcircuit Block</span></div><!--tex4ht:label?: x1-590118 -->
          <!--l. 109--><p class="noindent" ></div><hr class="endfigure">
          </dd></dl>

     </li>
     <li class="itemize">Close the Eeschema window and click on Convert KiCad to Ngspice button in subcircuit
     builder tool. This will convert the KiCad spice netlist to Ngspice netlist. And it will
     save your subcircuit into eSim repository, which you can add in your main
     circuit.
     </li></ul>
<!--l. 120--><p class="noindent" >
   <h3 class="sectionHead"><span class="titlemark">8.2   </span> <a
 id="x1-600008.2"></a>Edit a Subcircuit</h3>
<!--l. 121--><p class="noindent" >The steps to edit a subcircuit are as follows.
     <ul class="itemize1">
     <li class="itemize">After opening the Subcircuit tool, click on <span
class="cmtt-10x-x-109">Edit Subcircuit Schematic </span>button.
     It will open a dialog box where you can select any subcircuit for editing.
     </li>
     <li class="itemize">After selecting the subcircuit it will open it in KiCad Eeschema, where you can
     edit the subcircuit.
     </li>
     <li class="itemize">Next step is to save the schematic and generate KiCad netlist.
     </li>
     <li class="itemize">If you have edited the number of ports then you have to change the block in KiCad
     Eeschema accordingly.
     </li>
     <li class="itemize">Close the Eeschema window and click on <span
class="cmtt-10x-x-109">Convert KiCad to Ngspice </span>button in
     subcircuit builder tool to convert the edited subcircuit KiCad netlist into Ngspice
     netlist.
     </li></ul>

   <h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;9</span><br /><a
 id="x1-610009"></a>Solved Examples</h2>
   <h3 class="sectionHead"><span class="titlemark">9.1   </span> <a
 id="x1-620009.1"></a>Solved Examples</h3>
<!--l. 8--><p class="noindent" >
   <h4 class="subsectionHead"><span class="titlemark">9.1.1   </span> <a
 id="x1-630009.1.1"></a>Basic RC Circuit</h4>
<!--l. 9--><p class="noindent" >
   <h5 class="subsubsectionHead"><a
 id="x1-640009.1.1"></a>Problem Statement:</h5>
<!--l. 9--><p class="noindent" >Plot the Input and Output Waveform of an RC circuit whose input voltage (Vs) is 50Hz,
3V peak to peak. The values of Resistor (R) and Capacitor(C) are 1<span
class="cmmi-10x-x-109">k </span>and 1<span
class="cmmi-10x-x-109">uf</span>
respectively.
   <h5 class="subsubsectionHead"><a
 id="x1-650009.1.1"></a>Solution:</h5>
     <ul class="itemize1">
     <li class="itemize">Creating a Project: The new project is created by clicking the <span
class="cmtt-10x-x-109">New </span>icon on the
     menubar. The name of the project is given in the pop up window as shown in
     Fig.&#x00A0;<a
href="#x1-650011">9.1<!--tex4ht:ref: rc1 --></a>. <hr class="figure"><div class="figure"
><a
 id="x1-650011"></a> <img
src="figures/rc1.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;9.1: </span><span
class="content">Creating New Project</span></div><!--tex4ht:label?: x1-650011 -->
     <!--l. 20--><p class="noindent" ></div><hr class="endfigure">
     </li>
     <li class="itemize">Creating the Schematic: To create the schematic, click the very first icon of the left
     toolbar as shown in the Fig.&#x00A0;<a
href="#x1-650022">9.2<!--tex4ht:ref: rc2 --></a>. This will open KiCad Eeschema.
     <!--l. 25--><p class="noindent" ><hr class="figure"><div class="figure"
><a
 id="x1-650022"></a> <img
src="figures/rc2.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;9.2: </span><span
class="content">Open Schematic Editor</span></div><!--tex4ht:label?: x1-650022 -->
     <!--l. 31--><p class="noindent" ></div><hr class="endfigure">
     <!--l. 33--><p class="noindent" >To create a schematic in KiCad, we need to place the required components. Fig.&#x00A0;<a
href="#x1-650033">9.3<!--tex4ht:ref: rc_component --></a>
     shows the icon on the right toolbar which opens the component library.
     <!--l. 35--><p class="noindent" ><hr class="figure"><div class="figure"
><a
 id="x1-650033"></a> <img
src="figures/rc_component.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;9.3: </span><span
class="content">Place Component Icon</span></div><!--tex4ht:label?: x1-650033 -->
     <!--l. 41--><p class="noindent" ></div><hr class="endfigure">

     <!--l. 45--><p class="noindent" >After all the required components of the simple RC circuit are placed, wiring is done
     using the <span
class="cmtt-10x-x-109">Place Wire </span>option as shown in the Fig.&#x00A0;<a
href="#x1-650044">9.4<!--tex4ht:ref: rc_wire --></a>
     <!--l. 47--><p class="noindent" ><hr class="figure"><div class="figure"
><a
 id="x1-650044"></a> <img
src="figures/rc_wire.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;9.4: </span><span
class="content">Place Wire Icon</span></div><!--tex4ht:label?: x1-650044 -->
     <!--l. 53--><p class="noindent" ></div><hr class="endfigure">
     <!--l. 55--><p class="noindent" >Next step is <span
class="cmtt-10x-x-109">ERC (Electric Rules Check)</span>. Fig.&#x00A0;<a
href="#x1-650055">9.5<!--tex4ht:ref: erc1 --></a> shows the icon for <span
class="cmtt-10x-x-109">ERC</span>.
     <!--l. 57--><p class="noindent" ><hr class="figure"><div class="figure"
><a
 id="x1-650055"></a> <img
src="figures/erc1.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;9.5: </span><span
class="content">Electric Rules Check Icon</span></div><!--tex4ht:label?: x1-650055 -->
     <!--l. 63--><p class="noindent" ></div><hr class="endfigure">
     <!--l. 65--><p class="noindent" >Fig.&#x00A0;<a
href="#x1-650066">9.6<!--tex4ht:ref: rc_complete1 --></a> shows the RC circuit after connecting the components by wire.
     <!--l. 67--><p class="noindent" ><hr class="figure"><div class="figure"
><a
 id="x1-650066"></a> <img
src="figures/rc_complete1.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;9.6: </span><span
class="content">RC circuit</span></div><!--tex4ht:label?: x1-650066 -->
     <!--l. 72--><p class="noindent" ></div><hr class="endfigure">

     <!--l. 76--><p class="noindent" >After clicking the <span
class="cmtt-10x-x-109">ERC </span>icon a window opens up. Click the <span
class="cmtt-10x-x-109">Run </span>button to run rules check.
     The errors are listed in as shown in Fig.&#x00A0;<a
href="#x1-65007r1">9.7a<!--tex4ht:ref: erc2 --></a>. This error is handled by adding <span
class="cmtt-10x-x-109">Power</span>
     <span
class="cmtt-10x-x-109">Flag </span>as shown in Fig.&#x00A0;<a
href="#x1-65008r2">9.7b<!--tex4ht:ref: rc_pwr --></a>.
     <!--l. 78--><p class="noindent" ><hr class="figure"><div class="figure"
><a
 id="x1-650097"></a> <a
 id="x1-65007r1"></a> <img
src="figures/erc2.png" alt="PIC"
>
 <span
class="cmr-9">(a)</span>
 <span
class="cmr-9">ERC</span>
 <span
class="cmr-9">Run</span>                                                                                                               <a
 id="x1-65008r2"></a> <img
src="figures/rc_pwr.png" alt="PIC"
>
                                                                                                   <span
class="cmr-9">(b)</span>
                                                                                                                     <span
class="cmr-9">Power</span>
                                                                                                                     <span
class="cmr-9">Flag</span>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;9.7: </span><span
class="content">ERC check and POWER FLAG</span></div><!--tex4ht:label?: x1-650097 -->
     <!--l. 87--><p class="noindent" ></div><hr class="endfigure">
     <!--l. 89--><p class="noindent" >After adding the <span
class="cmtt-10x-x-109">Power Flag </span>the completed RC circuit is shown in Fig.&#x00A0;<a
href="#x1-65010r1">9.8a<!--tex4ht:ref: rc_schematic --></a> and the
     netlist is generated as shown in Fig.&#x00A0;<a
href="#x1-65011r2">9.8b<!--tex4ht:ref: rc_netlist --></a>.
     <!--l. 92--><p class="noindent" ><hr class="figure"><div class="figure"
><a
 id="x1-650128"></a> <a
 id="x1-65010r1"></a> <img
src="figures/rc_schematic.png" alt="PIC"
>
 <span
class="cmr-9">(a)</span>
 <span
class="cmr-9">Schematic</span>
 <span
class="cmr-9">of  RC</span>
 <span
class="cmr-9">circuit</span>                                                                                                            <a
 id="x1-65011r2"></a> <img
src="figures/rc_netlistgeneration.png" alt="PIC"
>
                                                                                                   <span
class="cmr-9">(b)</span>
                                                                                                                     <span
class="cmr-9">Generating</span>
                                                                                                                     <span
class="cmr-9">KiCad</span>
                                                                                                                     <span
class="cmr-9">Netlist</span>
                                                                                                                     <span
class="cmr-9">of  RC</span>
                                                                                                                     <span
class="cmr-9">circuit</span>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;9.8: </span><span
class="content">RC Schematic and Netlist Generation</span></div><!--tex4ht:label?: x1-650128 -->
     <!--l. 101--><p class="noindent" ></div><hr class="endfigure">

     </li>
     <li class="itemize">Convert KiCad to Ngspice: To convert KiCad netlist of RC circuit to NgSpice
     compatible netlist click on KiCad to Ngspice icon as shown in Fig.&#x00A0;<a
href="#x1-650139">9.9<!--tex4ht:ref: rcki2ng --></a>.
     <!--l. 107--><p class="noindent" ><hr class="figure"><div class="figure"
><a
 id="x1-650139"></a> <img
src="figures/rc_ki2ng.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;9.9: </span><span
class="content">Convert KiCad to Ngspice Icon</span></div><!--tex4ht:label?: x1-650139 -->
     <!--l. 112--><p class="noindent" ></div><hr class="endfigure">
     <!--l. 114--><p class="noindent" >Now you can enter the type of analysis and source details as shown in Fig.&#x00A0;<a
href="#x1-65014r1">9.10a<!--tex4ht:ref: rc_analysistab --></a> and
     Fig.&#x00A0;<a
href="#x1-65015r2">9.10b<!--tex4ht:ref: rc_sourcedetailstab --></a> respectively.
     <!--l. 116--><p class="noindent" ><hr class="figure"><div class="figure"
><a
 id="x1-6501610"></a> <a
 id="x1-65014r1"></a> <img
src="figures/rc_analysistab.png" alt="PIC"
>
 <span
class="cmr-9">(a)</span>
 <span
class="cmr-9">RC</span>
 <span
class="cmr-9">Analysis</span>                                                                                                         <a
 id="x1-65015r2"></a> <img
src="figures/rc_sourcedetailstab.png" alt="PIC"
>
                                                                                                   <span
class="cmr-9">(b)</span>
                                                                                                                     <span
class="cmr-9">RC</span>
                                                                                                                     <span
class="cmr-9">Source</span>
                                                                                                                     <span
class="cmr-9">Details</span>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;9.10: </span><span
class="content">RC Analysis and Source Detail</span></div><!--tex4ht:label?: x1-6501610 -->
     <!--l. 125--><p class="noindent" ></div><hr class="endfigure">
     <!--l. 126--><p class="noindent" >The other tab will be empty as RC circuit do not use any Ngspice model, device library
     and subcircuit.
     <!--l. 128--><p class="noindent" >After entering the value, press the convert button. It will convert the netlist into
     Ngspice compatible netlist.

     </li>
     <li class="itemize">Simulation: To run Ngspice simulation click the simulation icon in the tool bar
     as shown in the Fig.&#x00A0;<a
href="#x1-6501711">9.11<!--tex4ht:ref: rcplot --></a>. <hr class="figure"><div class="figure"
><a
 id="x1-6501711"></a> <img
src="figures/rc_plot.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;9.11: </span><span
class="content">Simulation Icon</span></div><!--tex4ht:label?: x1-6501711 -->
     <!--l. 139--><p class="noindent" ></div><hr class="endfigure">
     <!--l. 141--><p class="noindent" >In eSim, there are two types of plot. First is normal Ngspice plot and second is
     interactive python plot as shown in Fig.&#x00A0;<a
href="#x1-65018r1">9.12a<!--tex4ht:ref: rc_ngspiceplot --></a> and Fig.&#x00A0;<a
href="#x1-65019r2">9.12b<!--tex4ht:ref: rc_pythonplot --></a> respectively.
     <!--l. 143--><p class="noindent" ><hr class="figure"><div class="figure"
><a
 id="x1-6502012"></a> <a
 id="x1-65018r1"></a> <img
src="figures/rc_ngspiceplot.png" alt="PIC"
>
 <span
class="cmr-9">(a)</span>
 <span
class="cmr-9">Ngspice</span>
 <span
class="cmr-9">Plot</span>
 <span
class="cmr-9">of RC</span>                                                                                                            <a
 id="x1-65019r2"></a> <img
src="figures/rc_pythonplot.png" alt="PIC"
>
                                                                                                   <span
class="cmr-9">(b)</span>
                                                                                                                     <span
class="cmr-9">Python</span>
                                                                                                                     <span
class="cmr-9">Plot</span>
                                                                                                                     <span
class="cmr-9">of RC</span>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;9.12: </span><span
class="content">Ngspice and Interactive Python Plotting</span></div><!--tex4ht:label?: x1-6502012 -->
     <!--l. 152--><p class="noindent" ></div><hr class="endfigure">
     <!--l. 154--><p class="noindent" >In the interactive python plot you can select any node or branch to plot voltage or
     current across it. Also it has the facility to plot basic functions across the node like
     addition, substraction, multiplication, division and v/s.
     </li></ul>

<!--l. 160--><p class="noindent" >
   <h4 class="subsectionHead"><span class="titlemark">9.1.2   </span> <a
 id="x1-660009.1.2"></a>Half Wave Rectifier</h4>
<!--l. 162--><p class="noindent" >
   <h5 class="subsubsectionHead"><a
 id="x1-670009.1.2"></a>Problem Statement:</h5>
<!--l. 162--><p class="noindent" >Plot the Input and Output Waveform of Half Wave Rectifier circuit where the input voltage
(Vs) is 50Hz, 2V peak to peak. The value for Resistor (R) is 1k.
<!--l. 164--><p class="noindent" >
   <h5 class="subsubsectionHead"><a
 id="x1-680009.1.2"></a>Solution:</h5>
<!--l. 165--><p class="noindent" >The new project is created by clicking the <span
class="cmtt-10x-x-109">New </span>icon on the menubar. The name of the project
is given in the window shown in Fig.&#x00A0;<a
href="#x1-650011">9.1<!--tex4ht:ref: rc1 --></a>.
     <ul class="itemize1">
     <li class="itemize">Creating Schematic: To create the schematic, click the very first icon of the left
     toolbar as shown in the Fig.&#x00A0;<a
href="#x1-650022">9.2<!--tex4ht:ref: rc2 --></a>. This will open KiCad Eeschema.<br
class="newline" />
     <!--l. 171--><p class="noindent" >After the KiCad window is opened, to create a schematic we need to place the
     required components. Fig.&#x00A0;<a
href="#x1-650033">9.3<!--tex4ht:ref: rc_component --></a> shows the icon on the right toolbar which opens
     the component library.<br
class="newline" />
     <!--l. 174--><p class="noindent" >After all the required components of the simple Half Wave rectifier circuits are
     placed, wiring is done using the <span
class="cmtt-10x-x-109">Place Wire </span>option as shown in the Fig.&#x00A0;<a
href="#x1-650044">9.4<!--tex4ht:ref: rc_wire --></a><br
class="newline" />
     <!--l. 176--><p class="noindent" >Next step is <span
class="cmtt-10x-x-109">ERC (Electric Rules Check)</span>. Fig.&#x00A0;<a
href="#x1-650055">9.5<!--tex4ht:ref: erc1 --></a> shows the icon for <span
class="cmtt-10x-x-109">ERC</span>. After
     completing all the above steps the final Half Wave Rectifier schematic will look
     like Fig.&#x00A0;<a
href="#x1-6800113">9.13<!--tex4ht:ref: hwr_schematic --></a>.<br
class="newline" />
     <!--l. 178--><p class="noindent" ><hr class="figure"><div class="figure"
><a
 id="x1-6800113"></a> <img
src="figures/hwr_schematic.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;9.13: </span><span
class="content">Schematic of Half Wave Rectifier circuit</span></div><!--tex4ht:label?: x1-6800113 -->
     <!--l. 183--><p class="noindent" ></div><hr class="endfigure">

     <!--l. 187--><p class="noindent" >KiCad netlist is generated as shown in the Fig.&#x00A0;<a
href="#x1-6800214">9.14<!--tex4ht:ref: hwr_netlistgeneration --></a> <br
class="newline" />
     <!--l. 189--><p class="noindent" ><hr class="figure"><div class="figure"
><a
 id="x1-6800214"></a> <img
src="figures/hwr_netlistgeneration.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;9.14: </span><span
class="content">Half Wave Rectifier circuit Netlist Generation</span></div><!--tex4ht:label?: x1-6800214 -->
     <!--l. 194--><p class="noindent" ></div><hr class="endfigure">
     </li>
     <li class="itemize">Convert KiCad to Ngspice: After creating KiCad netlist, click on the <span
class="cmtt-10x-x-109">KiCad-Ngspice</span>
     <span
class="cmtt-10x-x-109">converter </span>button. This will open converter window where you can enter details of
     Analysis, Source values and Device library.
     <!--l. 198--><p class="noindent" ><hr class="figure"><div class="figure"
><a
 id="x1-6800615"></a> <a
 id="x1-68003r1"></a> <img
src="figures/hwr_analysistab.png" alt="PIC"
>
 <span
class="cmr-9">(a)</span>
 <span
class="cmr-9">Half</span>
 <span
class="cmr-9">Wave</span>
 <span
class="cmr-9">Rectifier</span>
 <span
class="cmr-9">Analysis</span>                                               <a
 id="x1-68004r2"></a> <img
src="figures/hwr_sourcedetailstab.png" alt="PIC"
>
                                                  <span
class="cmr-9">(b)</span>
                                                           <span
class="cmr-9">Half</span>
                                                           <span
class="cmr-9">Wave</span>
                                                           <span
class="cmr-9">Rectifier</span>
                                                           <span
class="cmr-9">Source</span>
                                                           <span
class="cmr-9">Details</span>                                                 <a
 id="x1-68005r3"></a> <img
src="figures/hwr_devicemodelingtab.png" alt="PIC"
>
                                                                                                   <span
class="cmr-9">(c)</span>
                                                                                                                     <span
class="cmr-9">Half</span>
                                                                                                                     <span
class="cmr-9">Wave</span>
                                                                                                                     <span
class="cmr-9">Rectifier</span>
                                                                                                                     <span
class="cmr-9">Device</span>
                                                                                                                     <span
class="cmr-9">Modeling</span>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;9.15: </span><span
class="content">Analysis, Source and Device Tab</span></div><!--tex4ht:label?: x1-6800615 -->
     <!--l. 210--><p class="noindent" ></div><hr class="endfigure">
     <!--l. 212--><p class="noindent" >Under device library you can add the library for diode used in the circuit. If you do not
     add any library it will take default Ngspice model.
     </li>
     <li class="itemize">Simulation: Once the KiCad-Ngspice converter runs successfully, you can run
     simulation by clicking the simulation button in the toolbar. <hr class="figure"><div class="figure"
><a
 id="x1-6800916"></a> <a
 id="x1-68007r1"></a> <img
src="figures/hwr_ngspiceplot.png" alt="PIC"
>
<span
class="cmr-9">(a)</span>
<span
class="cmr-9">Ngspice</span>
<span
class="cmr-9">Plot</span>
<span
class="cmr-9">of</span>
<span
class="cmr-9">Half</span>
<span
class="cmr-9">Wave</span>
<span
class="cmr-9">Rectifier</span>           <a
 id="x1-68008r2"></a> <img
src="figures/hwr_pythonplot.png" alt="PIC"
>
                    <span
class="cmr-9">(b)</span>
                        <span
class="cmr-9">Python</span>
                        <span
class="cmr-9">Plot</span>
                        <span
class="cmr-9">of</span>
                        <span
class="cmr-9">Half</span>
                        <span
class="cmr-9">Wave</span>
                        <span
class="cmr-9">Rectifier</span>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;9.16: </span><span
class="content">Half Wave Rectifier Simulation Output</span></div><!--tex4ht:label?: x1-6800916 -->
     <!--l. 225--><p class="noindent" ></div><hr class="endfigure">
     </li></ul>

<!--l. 232--><p class="noindent" >
   <h4 class="subsectionHead"><span class="titlemark">9.1.3   </span> <a
 id="x1-690009.1.3"></a>Precision Rectifier</h4>
<!--l. 233--><p class="noindent" >
   <h5 class="subsubsectionHead"><a
 id="x1-700009.1.3"></a>Problem Statement:</h5>
<!--l. 233--><p class="noindent" >Plot the input and output waveform of the Precision Rectifier circuit where input voltage
(Vs) is 50<span
class="cmmi-10x-x-109">Hz </span>, 3<span
class="cmmi-10x-x-109">V </span>peak to peak.
<!--l. 235--><p class="noindent" >
   <h5 class="subsubsectionHead"><a
 id="x1-710009.1.3"></a>Solution:</h5>
<!--l. 236--><p class="noindent" >The new project is created by clicking the <span
class="cmtt-10x-x-109">New </span>icon on the menubar. The name of the project
is given as shown in the Fig.&#x00A0;<a
href="#x1-650011">9.1<!--tex4ht:ref: rc1 --></a>.
     <ul class="itemize1">
     <li class="itemize">Creating Schematic: To create the schematic, click the very first icon of the left
     toolbar as shown in the Fig.&#x00A0;<a
href="#x1-650022">9.2<!--tex4ht:ref: rc2 --></a>. This will open KiCad Eeschema.<br
class="newline" />After the KiCad window is opened, to create a schematic we need to place the
     required components. Fig.&#x00A0;<a
href="#x1-650033">9.3<!--tex4ht:ref: rc_component --></a> shows the icon on the right toolbar which opens
     the component library.<br
class="newline" />After all the required components of the precision rectifier circuit are placed,
     wiring is done using the <span
class="cmtt-10x-x-109">Place Wire </span>option as shown in the Fig.&#x00A0;<a
href="#x1-650044">9.4<!--tex4ht:ref: rc_wire --></a>.<br
class="newline" />Next step is <span
class="cmtt-10x-x-109">ERC (Electric Rules Check)</span>. Fig.&#x00A0;<a
href="#x1-650055">9.5<!--tex4ht:ref: erc1 --></a> shows the icon for <span
class="cmtt-10x-x-109">ERC</span>. The
     Fig.&#x00A0;<a
href="#x1-7100117">9.17<!--tex4ht:ref: pr_schematic --></a> shows the complete Precision Rectifier schematic after removing the
     errors.
     <!--l. 246--><p class="noindent" ><hr class="figure"><div class="figure"
><a
 id="x1-7100117"></a> <img
src="figures/pr_schematic.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;9.17: </span><span
class="content">Schematic of Precision Rectifier circuit</span></div><!--tex4ht:label?: x1-7100117 -->
     <!--l. 251--><p class="noindent" ></div><hr class="endfigure">
     <!--l. 253--><p class="noindent" >The KiCad netlist is generated as shown in Fig.&#x00A0;<a
href="#x1-7100218">9.18<!--tex4ht:ref: pr_netlistgeneration --></a>.<br
class="newline" />
     <!--l. 255--><p class="noindent" ><hr class="figure"><div class="figure"
><a
 id="x1-7100218"></a> <img
src="figures/pr_netlistgeneration.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;9.18: </span><span
class="content">Precision Rectifier circuit Netlist Generation</span></div><!--tex4ht:label?: x1-7100218 -->
     <!--l. 260--><p class="noindent" ></div><hr class="endfigure">

     </li>
     <li class="itemize">Convert KiCad to Ngspice: After creating KiCad netlist, click on KiCad-Ngspice
     converter button.<br
class="newline" />
     <!--l. 266--><p class="noindent" >This will open converter window where you can enter details of Analysis, Source values,
     Device library and Subcircuit.
     <!--l. 268--><p class="noindent" ><hr class="figure"><div class="figure"
><a
 id="x1-7100719"></a> <a
 id="x1-71003r1"></a> <img
src="figures/pr_analysistab.png" alt="PIC"
>
 <span
class="cmr-9">(a)</span>
 <span
class="cmr-9">Precision</span>
 <span
class="cmr-9">Rectifier</span>
 <span
class="cmr-9">Analysis</span>                                                                                                         <a
 id="x1-71004r2"></a> <img
src="figures/pr_sourcedetailstab.png" alt="PIC"
>
                                                                                                   <span
class="cmr-9">(b)</span>
                                                                                                                     <span
class="cmr-9">Precision</span>
                                                                                                                     <span
class="cmr-9">Rectifier</span>
                                                                                                                     <span
class="cmr-9">Source</span>
                                                                                                                     <span
class="cmr-9">Details</span>
<a
 id="x1-71005r3"></a>
<!--l. 278--><p class="noindent" > <img
src="figures/pr_devicemodelingtab.png" alt="PIC"
>
<span
class="cmr-9">(c)</span>
<span
class="cmr-9">Precision</span>
<span
class="cmr-9">Rectifier</span>
<span
class="cmr-9">Device</span>
<span
class="cmr-9">Modeling</span>                                                                   <a
 id="x1-71006r4"></a> <img
src="figures/pr_subcircuitstab.png" alt="PIC"
>
                                                                          <span
class="cmr-9">(d)</span>
                                                                          <span
class="cmr-9">Precision</span>
                                                                          <span
class="cmr-9">Rectifier</span>
                                                                          <span
class="cmr-9">Subcircuit</span>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;9.19: </span><span
class="content">Analysis, Source, Device library and Subcircuit tab</span></div><!--tex4ht:label?: x1-7100719 -->
     <!--l. 283--><p class="noindent" ></div><hr class="endfigure">
     <!--l. 285--><p class="noindent" >Under device library you can add the library for the diode used in the circuit. If you do
     not add any library it will take default Ngspice model for diode.<br
class="newline" />
     <!--l. 288--><p class="noindent" >Under subcircuit tab you have to add the subciruit used in your circuit. If you forget to
     add subcircuit it will throw an error.

     </li>
     <li class="itemize">Simulation: Once the KiCad-Ngspice converter runs successfully, you can run the
     simulation by clicking the simulation button in the toolbar. <hr class="figure"><div class="figure"
><a
 id="x1-7101020"></a> <a
 id="x1-71008r1"></a> <img
src="figures/pr_ngspiceplot.png" alt="PIC"
>
<span
class="cmr-9">(a)</span>
<span
class="cmr-9">Ngspice</span>
<span
class="cmr-9">Plot</span>
<span
class="cmr-9">of</span>
<span
class="cmr-9">Precision</span>
<span
class="cmr-9">Rectifier</span>           <a
 id="x1-71009r2"></a> <img
src="figures/pr_pythonplot.png" alt="PIC"
>
                    <span
class="cmr-9">(b)</span>
                        <span
class="cmr-9">Python</span>
                        <span
class="cmr-9">Plot</span>
                        <span
class="cmr-9">of</span>
                        <span
class="cmr-9">Precision</span>
                        <span
class="cmr-9">Rectifier</span>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;9.20: </span><span
class="content">Precision Rectifier Simulation Output</span></div><!--tex4ht:label?: x1-7101020 -->
     <!--l. 302--><p class="noindent" ></div><hr class="endfigure">
     </li></ul>

<!--l. 309--><p class="noindent" >
   <h4 class="subsectionHead"><span class="titlemark">9.1.4   </span> <a
 id="x1-720009.1.4"></a>Inverting Amplifier</h4>
<!--l. 310--><p class="noindent" >
   <h5 class="subsubsectionHead"><a
 id="x1-730009.1.4"></a>Problem Statement:</h5>
<!--l. 311--><p class="noindent" >Plot the Input and Output Waveform of Inverting Amplifier circuit 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-740009.1.4"></a>Solution:</h5>
     <ul class="itemize1">
     <li class="itemize">Creating Schematic: To create the schematic, click the very first icon of the left
     toolbar as shown in the Fig.&#x00A0;<a
href="#x1-650022">9.2<!--tex4ht:ref: rc2 --></a>. This will open KiCad Eeschema.<br
class="newline" />After the KiCad window is opened, to create a schematic we need to place the
     required components. Fig.&#x00A0;<a
href="#x1-650033">9.3<!--tex4ht:ref: rc_component --></a> shows the icon on the right toolbar which opens
     the component library.<br
class="newline" />After all the required components of the inverting amplifier circuit are placed,
     wiring is done using the <span
class="cmtt-10x-x-109">Place Wire </span>option as shown in the Fig.&#x00A0;<a
href="#x1-650044">9.4<!--tex4ht:ref: rc_wire --></a>.<br
class="newline" />Next step is <span
class="cmtt-10x-x-109">ERC (Electric Rules Check)</span>. Fig.&#x00A0;<a
href="#x1-650055">9.5<!--tex4ht:ref: erc1 --></a> shows the icon for <span
class="cmtt-10x-x-109">ERC</span>.
     <!--l. 321--><p class="noindent" >The Fig.&#x00A0;<a
href="#x1-7400121">9.21<!--tex4ht:ref: ia_schematic --></a> shows the complete Precision Rectifier schematic after removing
     the errors.
     <!--l. 323--><p class="noindent" ><hr class="figure"><div class="figure"
><a
 id="x1-7400121"></a> <img
src="figures/ia_schematic.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;9.21: </span><span
class="content">Schematic of Inverting Amplifier circuit</span></div><!--tex4ht:label?: x1-7400121 -->
     <!--l. 328--><p class="noindent" ></div><hr class="endfigure">
     <!--l. 330--><p class="noindent" >The KiCad netlist is generated as shown in Fig.&#x00A0;<a
href="#x1-7400222">9.22<!--tex4ht:ref: ia_netlistgeneration --></a>.<br
class="newline" /><hr class="figure"><div class="figure"
><a
 id="x1-7400222"></a> <img
src="figures/ia_netlistgeneration.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;9.22: </span><span
class="content">Inverting Amplifier circuit Netlist Generation</span></div><!--tex4ht:label?: x1-7400222 -->
     <!--l. 336--><p class="noindent" ></div><hr class="endfigure">
     </li>
     <li class="itemize">Convert KiCad to Ngspice: After creating KiCad netlist, click on KiCad-Ngspice
     converter button.<br
class="newline" />
     <!--l. 342--><p class="noindent" >This will open converter window where you can enter details of Analysis, Source values,
     Device library and Subcircuit.

     <!--l. 344--><p class="noindent" >Subcircuit of Op-Amp is shown in Fig.&#x00A0;<a
href="#x1-74006r4">9.23d<!--tex4ht:ref: ia_sub --></a> <hr class="figure"><div class="figure"
><a
 id="x1-7400723"></a> <a
 id="x1-74003r1"></a> <img
src="figures/ia_analysistab.png" alt="PIC"
>
<span
class="cmr-9">(a)</span>
<span
class="cmr-9">Inverting</span>
<span
class="cmr-9">Amplifier</span>
<span
class="cmr-9">Analysis</span>                                 <a
 id="x1-74004r2"></a> <img
src="figures/ia_sourcedetailstab.png" alt="PIC"
>
                                      <span
class="cmr-9">(b)</span>
                                              <span
class="cmr-9">Inverting</span>
                                              <span
class="cmr-9">Amplifier</span>
                                              <span
class="cmr-9">Source</span>
                                              <span
class="cmr-9">Details</span>
<a
 id="x1-74005r3"></a>
<!--l. 355--><p class="noindent" > <img
src="figures/ia_subcircuitstab.png" alt="PIC"
>
<span
class="cmr-9">(c)</span>
<span
class="cmr-9">Inverting</span>
<span
class="cmr-9">Amplifier</span>
<span
class="cmr-9">Subcircuit</span>                                                                  <a
 id="x1-74006r4"></a> <img
src="figures/ia_sub.png" alt="PIC"
>
                                                                          <span
class="cmr-9">(d)</span>
                                                                          <span
class="cmr-9">Sub-Circuit</span>
                                                                          <span
class="cmr-9">of</span>
                                                                          <span
class="cmr-9">Op-Amp</span>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;9.23: </span><span
class="content">Analysis, Source, and Subcircuit tab</span></div><!--tex4ht:label?: x1-7400723 -->
     <!--l. 360--><p class="noindent" ></div><hr class="endfigure">

     <!--l. 363--><p class="noindent" >Under subcircuit tab you have to add the subciruit used in your circuit. If you forget to
     add subcircuit, it will throw an error.<br
class="newline" />
     </li>
     <li class="itemize">Simulation: Once the KiCad-Ngspice converter runs successfully, you can run
     simulation by clicking the simulation button in the toolbar. <hr class="figure"><div class="figure"
><a
 id="x1-7401024"></a> <a
 id="x1-74008r1"></a> <img
src="figures/ia_ngspiceplot.png" alt="PIC"
>
<span
class="cmr-9">(a)</span>
<span
class="cmr-9">Inverting</span>
<span
class="cmr-9">Amplifier</span>
<span
class="cmr-9">Ngspice</span>
<span
class="cmr-9">Plot</span>
<a
 id="x1-74009r2"></a>
<!--l. 374--><p class="noindent" > <img
src="figures/ia_pythonplot.png" alt="PIC"
>
<span
class="cmr-9">(b)</span>
<span
class="cmr-9">Inverting</span>
<span
class="cmr-9">Amplifier</span>
<span
class="cmr-9">Python</span>
<span
class="cmr-9">Plot</span>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;9.24: </span><span
class="content">Inverting Amplifier Simulation Output</span></div><!--tex4ht:label?: x1-7401024 -->
     <!--l. 376--><p class="noindent" ></div><hr class="endfigure">
     </li></ul>

<!--l. 386--><p class="noindent" >
   <h4 class="subsectionHead"><span class="titlemark">9.1.5   </span> <a
 id="x1-750009.1.5"></a>Half Adder Example</h4>
<!--l. 388--><p class="noindent" >
   <h5 class="subsubsectionHead"><a
 id="x1-760009.1.5"></a>Problem Statement:</h5>
<!--l. 388--><p class="noindent" >Plot the Input and Output Waveform of Half Adder circuit.
<!--l. 390--><p class="noindent" >
   <h5 class="subsubsectionHead"><a
 id="x1-770009.1.5"></a>Solution:</h5>
     <ul class="itemize1">
     <li class="itemize">Creating Schematic: To create the schematic, click the very first icon of the left
     toolbar as shown in the Fig.&#x00A0;<a
href="#x1-650022">9.2<!--tex4ht:ref: rc2 --></a>. This will open KiCad Eeschema.<br
class="newline" />After the KiCad window is opened, to create a schematic we need to place the
     required components. Fig.&#x00A0;<a
href="#x1-650033">9.3<!--tex4ht:ref: rc_component --></a> shows the icon on the right toolbar which opens
     the component library.<br
class="newline" />After all the required components of the Half Adder circuit are placed, wiring is
     done using the <span
class="cmtt-10x-x-109">Place Wire </span>option as shown in the Fig.&#x00A0;<a
href="#x1-650044">9.4<!--tex4ht:ref: rc_wire --></a>.<br
class="newline" />Next step is <span
class="cmtt-10x-x-109">ERC (Electric Rules Check)</span>. Fig.&#x00A0;<a
href="#x1-650055">9.5<!--tex4ht:ref: erc1 --></a> shows the icon for <span
class="cmtt-10x-x-109">ERC</span>.
     <!--l. 399--><p class="noindent" >The Fig.&#x00A0;<a
href="#x1-7700125">9.25<!--tex4ht:ref: ha_schematic --></a> shows the complete Half Adder schematic after removing the
     errors. <hr class="figure"><div class="figure"
><a
 id="x1-7700125"></a> <img
src="figures/ha_schematic.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;9.25: </span><span
class="content">Schematic of Half Adder circuit</span></div><!--tex4ht:label?: x1-7700125 -->
     <!--l. 405--><p class="noindent" ></div><hr class="endfigure">
     <!--l. 407--><p class="noindent" >The KiCad netlist is generated as shown in Fig.&#x00A0;<a
href="#x1-7700226">9.26<!--tex4ht:ref: ha_netlistgeneration --></a>.<br
class="newline" /><hr class="figure"><div class="figure"
><a
 id="x1-7700226"></a> <img
src="figures/ha_netlistgeneration.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;9.26: </span><span
class="content">Half Adder circuit Netlist Generation</span></div><!--tex4ht:label?: x1-7700226 -->
     <!--l. 413--><p class="noindent" ></div><hr class="endfigure">

     </li>
     <li class="itemize">Convert KiCad to Ngspice: After creating KiCad netlist click on KiCad-Ngspice
     converter button.<br
class="newline" />
     <!--l. 420--><p class="noindent" >This will open converter window where you can enter details of Analysis, Source values,
     Ngspice model and Subcircuit.
     <!--l. 422--><p class="noindent" ><hr class="figure"><div class="figure"
><a
 id="x1-7700727"></a> <a
 id="x1-77003r1"></a> <img
src="figures/ha_analysistab.png" alt="PIC"
>
 <span
class="cmr-9">(a)</span>
 <span
class="cmr-9">Half</span>
 <span
class="cmr-9">Adder</span>
 <span
class="cmr-9">Analysis</span>                                                                                                         <a
 id="x1-77004r2"></a> <img
src="figures/ha_sourcedetailstab.png" alt="PIC"
>
                                                                                                   <span
class="cmr-9">(b)</span>
                                                                                                                     <span
class="cmr-9">Half</span>
                                                                                                                     <span
class="cmr-9">Adder</span>
                                                                                                                     <span
class="cmr-9">Source</span>
                                                                                                                     <span
class="cmr-9">Details</span>
<a
 id="x1-77005r3"></a>
<!--l. 432--><p class="noindent" > <img
src="figures/ha_ngspicemodeltab.png" alt="PIC"
>
<span
class="cmr-9">(c)</span>
<span
class="cmr-9">Half</span>
<span
class="cmr-9">Adder</span>
<span
class="cmr-9">Ngspice</span>
<span
class="cmr-9">Model</span>                                                                     <a
 id="x1-77006r4"></a> <img
src="figures/ha_subcircuitstab.png" alt="PIC"
>
                                                                          <span
class="cmr-9">(d)</span>
                                                                          <span
class="cmr-9">Half</span>
                                                                          <span
class="cmr-9">Adder</span>
                                                                          <span
class="cmr-9">Subcircuit</span>
                                                                          <span
class="cmr-9">Model</span>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;9.27: </span><span
class="content">Analysis, Source, Ngspice Model and Subcircuit tab</span></div><!--tex4ht:label?: x1-7700727 -->
     <!--l. 437--><p class="noindent" ></div><hr class="endfigure">
     <!--l. 439--><p class="noindent" >Subcircuit of Half Adder in Fig.&#x00A0;<a
href="#x1-7700828">9.28<!--tex4ht:ref: ha_sub --></a> <hr class="figure"><div class="figure"
><a
 id="x1-7700828"></a> <img
src="figures/ha_sub.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;9.28: </span><span
class="content">Half Adder Subcircuit</span></div><!--tex4ht:label?: x1-7700828 -->
     <!--l. 445--><p class="noindent" ></div><hr class="endfigure">

     </li>
     <li class="itemize">Simulation: Once the KiCad-Ngspice converter runs successfully, you can run
     simulation by clicking the simulation button in the toolbar. <hr class="figure"><div class="figure"
><a
 id="x1-7701129"></a> <a
 id="x1-77009r1"></a> <img
src="figures/ha_ngspiceplot.png" alt="PIC"
>
<span
class="cmr-9">(a)</span>
<span
class="cmr-9">Half</span>
<span
class="cmr-9">Adder</span>
<span
class="cmr-9">Ngspice</span>
<span
class="cmr-9">Plot</span>                 <a
 id="x1-77010r2"></a> <img
src="figures/ha_pythonplot.png" alt="PIC"
>
                    <span
class="cmr-9">(b)</span>
                        <span
class="cmr-9">Half</span>
                        <span
class="cmr-9">Adder</span>
                        <span
class="cmr-9">Python</span>
                        <span
class="cmr-9">Plot</span>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;9.29: </span><span
class="content">Half Adder Simulation Output</span></div><!--tex4ht:label?: x1-7701129 -->
     <!--l. 459--><p class="noindent" ></div><hr class="endfigure">
     </li></ul>

   <h2 class="likechapterHead"><a
 id="x1-780009.1.5"></a>References</h2><a
 id="Q1-1-166"></a>
    <div class="thebibliography">
    <p class="bibitem" ><span class="biblabel">
  [1]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a
 id="Xsedra"></a>A.&#x00A0;S.  Sedra  and  K.&#x00A0;C.  Smith,  <span
class="cmti-10x-x-109">Microelectronic  Circuits  -  Theory  and</span>
    <span
class="cmti-10x-x-109">Applications</span>.   Oxford University Press, 2009.
    </p>
    <p class="bibitem" ><span class="biblabel">
  [2]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a
 id="Xkmm11-csi"></a>K.&#x00A0;M. Moudgalya, &#8220;Spoken Tutorial: A Collaborative and Scalable Education
    Technology,&#8221; <span
class="cmti-10x-x-109">CSI Communications</span>, vol.&#x00A0;35, no.&#x00A0;6, pp. 10&#8211;12, September 2011,
    available at <a
href="http://spoken-tutorial.org/CSI.pdf" class="url" >http://spoken-tutorial.org/CSI.pdf</a>.
    </p>
    <p class="bibitem" ><span class="biblabel">
  [3]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a
 id="Xscilab"></a>(2013, May). [Online]. Available: <a
href="http://www.scilab.org/" class="url" >http://www.scilab.org/</a>
    </p>
    <p class="bibitem" ><span class="biblabel">
  [4]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a
 id="XGARUDA"></a>(2013,                     May).                     [Online].                     Available:
    <a
href="http://scilab-test.garudaindia.in/scilab_in/,
  http://scilab-test.garudaindia.in/cloud" class="url" >http://scilab-test.garudaindia.in/scilab_in/,http://scilab-test.garudaindia.in/cloud</a>
    </p>
    <p class="bibitem" ><span class="biblabel">
  [5]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a
 id="XT10KT"></a>D.&#x00A0;B.  Phatak.  (2013,  May)  Teach  10,000  teacher  programme.  [Online].
    Available: <a
href="http://www.it.iitb.ac.in/nmeict/MegaWorkshop.do" class="url" >http://www.it.iitb.ac.in/nmeict/MegaWorkshop.do</a>
    </p>
    <p class="bibitem" ><span class="biblabel">
  [6]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a
 id="XT10KT-kal"></a>K.&#x00A0;Kannan and K.&#x00A0;Narayanan, &#8220;Ict-enabled scalable workshops for engineering
    college teachers in india,&#8221; in <span
class="cmti-10x-x-109">Post-Secondary Education and Technology: A Global</span>
    <span
class="cmti-10x-x-109">Perspective on Opportunities and Obstacles to Development (International and</span>
    <span
class="cmti-10x-x-109">Development  Education)</span>,  R.&#x00A0;Clohey,  S.&#x00A0;Austin-Li,  and  J.&#x00A0;C.  Weldman,  Eds.
    Palgrave Macmillan, 2012.

    </p>
    <p class="bibitem" ><span class="biblabel">
  [7]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a
 id="XT10KT-kgp"></a>(2013, May) Teach 10,000 teacher programme on analog electronics. [Online].
    Available: <a
href="http://www.nmeict.iitkgp.ernet.in/Analogmain.htm" class="url" >http://www.nmeict.iitkgp.ernet.in/Analogmain.htm</a>
    </p>
    <p class="bibitem" ><span class="biblabel">
  [8]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a
 id="Xaakash"></a>(2013, May). [Online]. Available: <a
href="http://www.aakashlabs.org/" class="url" >http://www.aakashlabs.org/</a>
    </p>
    <p class="bibitem" ><span class="biblabel">
  [9]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a
 id="Xeda"></a>(2013,                     May).                     [Online].                     Available:
    <a
href="http://en.wikipedia.org/wiki/Electronic_design_automation" class="url" >http://en.wikipedia.org/wiki/Electronic_design_automation</a>
    </p>
    <p class="bibitem" ><span class="biblabel">
 [10]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a
 id="Xsynaptic"></a>(2013, May) Synaptic Package Manager Spoken Tutorial. [Online]. Available:
    <a
href="http://www.spoken-tutorial.org/list_videos?view=1&foss=Linux&language=English" class="url" >http://www.spoken-tutorial.org/list_videos?view=1&amp;foss=Linux&amp;language=English</a>
    </p>
    <p class="bibitem" ><span class="biblabel">
 [11]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a
 id="Xeeschema"></a>(2013,                     May).                     [Online].                     Available:
    <a
href="http://www.kicad-pcb.org/display/KICAD/KiCad+EDA+Software+Suite" class="url" >http://www.kicad-pcb.org/display/KICAD/KiCad+EDA+Software+Suite</a>
    </p>
    <p class="bibitem" ><span class="biblabel">
 [12]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a
 id="Xngspice-web"></a>(2013, May). [Online]. Available: <a
href="http://ngspice.sourceforge.net/" class="url" >http://ngspice.sourceforge.net/</a>
    </p>
    <p class="bibitem" ><span class="biblabel">
 [13]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a
 id="Xscilab-in"></a>(2013, May). [Online]. Available: <a
href="http://scilab.in/" class="url" >http://scilab.in/</a>
    </p>
    <p class="bibitem" ><span class="biblabel">
 [14]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a
 id="Xspice"></a>S.&#x00A0;M.  Sandler  and  C.&#x00A0;Hymowitz,  <span
class="cmti-10x-x-109">SPICE  Circuit  Handbook</span>.     New  York:
    McGraw-Hill Professional, 2006.
    </p>
    <p class="bibitem" ><span class="biblabel">
 [15]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a
 id="Xkicad"></a>J.-P.    Charras    and    F.&#x00A0;Tappero.    (2013,    May).    [Online].    Available:
    <a
href="http://www.kicad-pcb.org/display/KICAD/KiCad+Documentation" class="url" >http://www.kicad-pcb.org/display/KICAD/KiCad+Documentation</a>

    </p>
    <p class="bibitem" ><span class="biblabel">
 [16]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a
 id="Xkicad2"></a>D.&#x00A0;Jahshan    and    P.&#x00A0;Hutchinson.    (2013,    May).    [Online].    Available:
    <a
href="http://bazaar.launchpad.net/~kicad-developers/kicad/doc/files/head:/doc/tutorials/" class="url" >http://bazaar.launchpad.net/<span
class="cmsy-8">&sim;</span>kicad-developers/kicad/doc/files/head:/doc/tutorials/</a>
    </p>
    <p class="bibitem" ><span class="biblabel">
 [17]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a
 id="Xngspice"></a>P.&#x00A0;Nenzi and H.&#x00A0;Vogt. (2013) Ngspice users manual version 25plus. [Online].
    Available: <a
href="http://ngspice.sourceforge.net/docs/ngspice-manual.pdf" class="url" >http://ngspice.sourceforge.net/docs/ngspice-manual.pdf</a>
    </p>
    <p class="bibitem" ><span class="biblabel">
 [18]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a
 id="Xkmm11-TUGboat"></a>K.&#x00A0;M. Moudgalya, &#8220;<span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
class="E">E</span>X</span></span>&#x00A0;Training through Spoken Tutorials,&#8221; <span
class="cmti-10x-x-109">TUGboat</span>,
    vol.&#x00A0;32, no.&#x00A0;3, pp. 251&#8211;257, 2011.
    </p>
    <p class="bibitem" ><span class="biblabel">
 [19]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a
 id="Xst"></a>(2013, May). [Online]. Available: <a
href="http://www.spoken-tutorial.org/" class="url" >http://www.spoken-tutorial.org/</a>
    </p>
    <p class="bibitem" ><span class="biblabel">
 [20]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a
 id="Xoscad"></a>(2013, May). [Online]. Available: <a
href="http://oscad.in/" class="url" >http://oscad.in/</a>
</p>
    </div>

</body></html>