1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
|
%\usepackage{appendix}
\chapter {Getting Started}
\thispagestyle{empty}
\label{chap4}
In this chapter we will get started with eSim. Referring to
this chapter will make one familiar with eSim and will help
plan the project before actually designing a circuit.
\section{How to launch eSim?}
After the installation of eSim, a shortcut to eSim is created
on the Desktop. To launch eSim double click on the shortcut.\\
Alternately, for Ubuntu Linux users, one can also launch eSim from the terminal.\\
1. Go to terminal.\\
2. Type \textbf{esim} and press {\tt Enter}.\\
The first window that appears is the workspace dialog as shown in
\figref{workspace}.
\begin{figure}[h]
\centering
\includegraphics[width=\lgfig]{workspace.png}
\caption{eSim-Workspace}
\label{workspace}
\end{figure}
\item 1.The default workspace is eSim-Workspace under home directory.
To select a new workspace location, use the {\tt browse} option. Do not select a location which has a space character or special character(s).
\item 2. If you select the \textbf{set default} click-box, then the chosen location will be set as default workspace and the dialog box won't appear next time you launch eSim.
\item 3. If you wish to change the default workspace location, then use the menu-bar from eSim's main Interface, which is explained in upcoming section.
\section{eSim User Interface}
The main graphic window of eSim is as shown in \figref{maingui}.
\begin{figure}[h]
\centering
\includegraphics[width=\hgfig]{maingui.png}
\caption{eSim Main GUI}
\label{maingui}
\end{figure}
\\
The eSim window consists of the following sections.
\begin{enumerate}
\item Menubar
\item Toolbar
\item Project explorer
\item Dockarea
\item Console area
\end{enumerate}
\subsection{Menubar}
\begin{itemize}
\item \textbf{New Project}:
New projects are created in the eSim-Workspace. When this menu is selected,
a new window opens up with {\tt Enter Project name} field. Type the name of
the new project and click on {\tt 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. \textit {Make sure that the project name does not have
any spaces in between.} This project is also added to the project explorer.
\item \textbf{Open Project}:
This opens the file dialog of default eSim-Workspace where the projects are stored.
Select the required project and click on {\tt Open}. The selected project is added
to the project explorer.
\item \textbf{Close Project}:
This button closes the opened project.
\item \textbf{Change workspace} : Clicking on this will open the window shown in \figref{workspace}. If you have chosen a default workspace location but wish to change it later on, launch eSim, click on this icon and do the necessary changes.
\item \textbf{Mode Switch} : Using this feature user can decide whether to fetch latest footprints(refer Section :PCB Designing) from the internet or use the locally available footprints. \\
Note : By switching to online mode, you will require a stable and high-speed internet connection, if it is not available to you then please always remain in the offline mode.
\item \textbf{Help} : Clicking on this icon will launch the eSim user manual for that particular version of eSim.
\end{itemize}
\subsection{Toolbar}
The toolbar consists of the following buttons. See \figref{guitoolbar}.
\begin{figure}[h]
\centering
\includegraphics[width=\lgfig]{manual_images/guitoolbar.PNG}
\caption{Toolbar}
\label{guitoolbar}
\end{figure}
\subsubsection {Open Schematic}
The first button on the toolbar is the \texttt{Schematic
Editor}\index{Schematic!editor}. Clicking on this button
will open the schematic editor.
If a new project is being created, one will get a
dialog box confirming the creation of a schematic. This
is illustrated in See \figref{schematic-confirmation}.
However, if an already existing project is opened, the
schematic editor window is opened. To know how to use
the schematic editor to create circuit schematics, refer
to \chapref{chap5}. \\ \\
When one right clicks on a particular project : three options appear, their functions listed below: \\
\begin{enumerate}
\item Rename Project : This will rename the project and the underlying files. Note that all project files must be closed from all running applications that access them before renaming a project.
\item Remove Project : This will remove the project selected from the \texttt{Project Explorer} list.
\item Refresh : At times, all the files under a project will not be displayed. In that case, selecting this option will update the latest files under a project.
\end{enumerate}
\begin{figure}[h]
\centering
\includegraphics[width=\lgfig]{manual_images/schematic-confirmation.png}
\caption{Confirmation for schematic creation}
\label{schematic-confirmation}
\end{figure}
\subsubsection {Convert KiCad to Ngspice}
In the schematic editor window, after creating the schematic a netlist is to be generated which contains information about the components present in the schematic created and their values specified . Although this netlist is present, it cannot be directly fed to the simulator. Here the KiCad-to-Ngspice converter comes into play.
This tool converts the netlist generated from the schematic into another netlist which is compatible with Ngspice, the simulator used in eSim.
The \textbf{Convert KiCad to Ngspice} window consists of five tabs namely \texttt{Analysis, Source Details, Ngspice Model, Device Modeling and Subcircuits}.
The details of these tabs are as follows.\\
\begin{itemize}
\item \texttt{Analysis:} This feature helps the user to enter the parameters for performing different types of analysis such as Operating point analysis, \index{Operating point analysis} DC analysis, \index{DC Analysis} AC analysis, \index{AC Small-signal Analysis} transient analysis, \index{Transient Analysis} DC Sweep Analysis. \index{DC Sweep Analysis}
It has the facility to select the
\begin{itemize}
\item Type of analysis and
\item The simulation parameter values for analysis
\end{itemize}
\item \texttt{Source Details:}eSim sources are added from {\tt eSim\_Sources} library in the \linebreak schematic. Sources such as \textit{SINE, AC, DC, PULSE, PWL} are in this library. The parameter values to all the sources added in the schematic can
be given through 'Source Details' tab in the KiCad-To-Ngspice window.
\item \texttt{Ngspice Model:}Ngspice has in-built model such as \texttt{basic logic gates, \linebreak flip-flops, gain, summer, buffer, DAC and ADC block}etc. which can be utilised while building a circuit.
eSim allows to add and modify Ngspice model parameter through
Ngspice Model tab.
\item \texttt{Device Modeling:}Devices like \texttt{Diode, JFET, MOSFET, IGBT, MOS} 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.
\item \texttt{Subcircuits:}eSim allows you 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. The subcircuits are added to the main circuits using this
facility. We can also edit already existing subcircuits.
\\
Once the values have been entered, press the {\tt Convert} button. This
will generate the {\tt .cir.out} file in the same project directory.
Note that \textit{KiCad to Ngspice Converter} can only be used if
the KiCad spice netlist {\tt .cir} file is already generated.
\\
\end{itemize}
\subsubsection {Simulation}
The netlist generated using the \texttt{KiCad to Ngspice} converter
is simulated using \textit{Simulation} button on the eSim left toolbar. This
will run the Ngspice simulation for current project. eSim have two options
to see the simulation output. The first one is the Python plotting window
which opens up in the dock area, as shown in \figref{simulation-op}.
The second is the Ngspice window with the simulation data. The user can
type in Ngspice commands to view the plots.
\textit {Note: If the user has used the plot components (available under eSim\_Plot library) at various nodes in the circuit schematic the Ngspice plots are displayed automatically.}
\begin{figure}[h]
\centering
\includegraphics[width=\hgfig]{manual_images/simulation-op.png}
\caption{Simulation Output in Python Plotting Window}
\label{simulation-op}
\end{figure}
%\subsubsection {Foot Print Editor:}
%Clicking on the \textit{Footprint Editor} tool will open the {\tt CvPcb}
%\index{CvPcb} window. This window will ideally open the .net file for the
%current project. So, before using this tool, one should have the netlist
%for PCB design (a .net file). %To know more about how to assign footprints
%to components, see \chapref{chap7}.
%\subsubsection {PCB Layout:}
%Clicking on the \textit{Layout Editor} tool will open {\tt
%Pcbnew}\index{Pcbnew}, 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 {\tt .brd} file in the
%current project directory. %\chapref{chap7} explains how to use the
%\textit{Layout Editor} to design a PCB.
\subsubsection {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. It also facilitates the user to load the spice library externally and use it for the existing or newly added models.To know
more about Model Editor, refer to \chapref{chap7}.
\subsubsection {Subcircuit}
eSim also allows the user 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 an Op-Amp as a
subcircuit and then use it as just a single component across circuits
without having to recreate it. Clicking on \textit{Subcircuit
Builder} tool will allow one to edit or create a subcircuit. To know
how to make a subcircuit, refer to \chapref{chap8}.
\subsubsection {NGHDL}
NGHDL is an add on to eSim for mixed signal circuit simulation. By using the foreign language interface of GHDL, NGHDL communicates with Ngspice and accomplishes mixed signal simulation. Using NGHDL, user can create custom digital model using VHDL language. From simple multiplexers, counters to microcontrollers and ASICs, any custom component in the digital domain can be realized using the NGHDL tool. The created digital model can be used in either mixed signal circuit or a standalone circuit operating in digital domain. NGHDL gives user the liberty to edit existing models supplied with eSim per their needs, either for experimenting new ideas or to change the model per their specific requirement.
\subsubsection {Modelica Converter}
OpenModelica (OM) is an open source modeling and simulation tool based on
Modelica language. Modelica is an object oriented language. The Modelica Converter in eSim interface, converts the ngspice netlist to Modelica format. This facility will be only available if you have OpenModelica already installed in the system. More details on how to use this module is available in \chapref{chap10}.
\subsubsection {OM Optimisation}
OMOptimisation (OMOptim) is a powerful and interactive tool for performing design optimisation. It has a good library of electrical components called Modelica Standard Library (MSL). OMOptim is stable and robust. It is very easy to add objective functions to the OMOptim interface.
\subsection{Project Explorer}
Project explorer contains the list of all the projects previously added to it.
Select a project and double click on it, this will display all the files under
this project. Right click on any displayed file to open it. To remove or refresh
any project file from the project explorer, right click on the main project file.
\subsection{Dockarea}
This area is used to open the following windows.
\begin{enumerate}
\item KiCad to Ngspice converter
\item Ngspice plotting
\item Python plotting
\item Model builder
\item Subcircuit builder
\end{enumerate}
Modules/Windows will appear here as per your selection.
\subsection{Console Area}
Console area provides the log information about the activity done during the current session.
|