Difference between revisions of "ESim/C2/Schematic-Creation-and-Simulation/English"

From Script | Spoken-Tutorial
Jump to: navigation, search
Line 32: Line 32:
 
*create '''circuit schematic'''
 
*create '''circuit schematic'''
 
* generate '''spice netlist'''
 
* generate '''spice netlist'''
* convert spice '''netlist '''to '''ngspice '''format
+
* convert '''spice netlist '''to '''ngspice '''format
 
* simulate the '''netlist'''
 
* simulate the '''netlist'''
  
Line 102: Line 102:
  
 
Type '''RC >> '''click on '''OK'''.
 
Type '''RC >> '''click on '''OK'''.
| style="background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.159cm;padding-right:0.191cm;" | Click on the '''New Project button''', to create a new project.
+
| style="background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.159cm;padding-right:0.191cm;" | Click on the '''New Project button''', to create a new '''project'''.
  
  
Line 108: Line 108:
 
|-
 
|-
 
| style="background-color:#ffffff;border-top:1pt solid #000001;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.159cm;padding-right:0.191cm;" |  
 
| style="background-color:#ffffff;border-top:1pt solid #000001;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.159cm;padding-right:0.191cm;" |  
| style="background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.159cm;padding-right:0.191cm;" | Please note that spaces are not allowed in the Project name.
+
| style="background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.159cm;padding-right:0.191cm;" | Please note that spaces are not allowed in the '''project''' name.
 
|-
 
|-
 
| style="background-color:#ffffff;border-top:1pt solid #000001;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.159cm;padding-right:0.191cm;" | '''eSim Main Window:'''
 
| style="background-color:#ffffff;border-top:1pt solid #000001;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.159cm;padding-right:0.191cm;" | '''eSim Main Window:'''
Line 465: Line 465:
  
  
Type '''0 '''in the start textbox.
+
Type '''0 '''in the '''Start''' textbox.
 
|-
 
|-
 
| style="background-color:#ffffff;border-top:1pt solid #000001;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.159cm;padding-right:0.191cm;" |  
 
| style="background-color:#ffffff;border-top:1pt solid #000001;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.159cm;padding-right:0.191cm;" |  
Line 501: Line 501:
  
 
Press '''Convert '''button
 
Press '''Convert '''button
| style="background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.159cm;padding-right:0.191cm;" | We will talk about the '''Ngspice Model, Device Modelling and subcircuits tab '''in later tutorials.
+
| style="background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.159cm;padding-right:0.191cm;" | We will talk about the '''Ngspice Model, Device Modelling''' and '''Subcircuits''' tab in later tutorials.
  
  
Line 567: Line 567:
  
  
'''Maximise''' the '''schematic '''and drag the '''multimeter windows''' to the corresponding nodes of '''schematic'''.
+
'''Maximise''' the '''schematic '''and drag the '''multimeter windows''' on the corresponding nodes of '''schematic'''.
 
|-
 
|-
 
| style="background-color:#ffffff;border-top:1pt solid #000001;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.159cm;padding-right:0.191cm;" |  
 
| style="background-color:#ffffff;border-top:1pt solid #000001;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.159cm;padding-right:0.191cm;" |  

Revision as of 05:25, 1 July 2019

Schematic Creation and simulation using eSim

Author: Gaurav Supal

Keywords: video tutorial, eSim, schematic, simulation, EDA, Ngspice, analysis, transient


Visual cue

Narration

Show Slide:

Opening Slide


Welcome to the spoken tutorial on “Schematic Creation and Simulation using eSim
Show Slide:

Learning Objectives


In this tutorial, using eSim, we will learn to-
  • create circuit schematic
  • generate spice netlist
  • convert spice netlist to ngspice format
  • simulate the netlist
Show Slide:

Systems Requirements


To record this tutorial, we will use-
  • Ubuntu Linux OS 16.04

eSim version 1.1.2.

Show Slide:

Prerequisites

To practice this tutorial, basic knowledge of analog and digital electronics is required.
System Computer:

Desktop icon


To launch eSim, double-click on the eSim icon on your desktop.
Show slide:

Launch eSim through Terminal

esim >> press Enter


Alternately, you can also open eSim from the terminal.


To do so, press Ctrl, Alt and T keys together.


Now, type esim and press Enter.

System Computer:

eSim startup window



Click Ok.

eSim window opens up.


Note that the project files created, will be saved in the eSim-Workspace directory, by default.


Press “Ok” in the dialog box.

Let us now create an RC circuit schematic and simulate it.
eSim Main Window:

Creating New Project


Type RC >> click on OK.

Click on the New Project button, to create a new project.


In the “Enter Project name” field, type RC and click on OK.

Please note that spaces are not allowed in the project name.
eSim Main Window:

Project Explorer >> point to RC >> Double-click >> click Open Schematic

Our new project RC will appear under Projects.

Double-click on RC to select the project.

To create the circuit schematic, click Open Schematic button on the left toolbar.

eSim schematic window:

Click Ok.

Click on Yes in the confirmation dialog box.


Ignore the eeschema error by clicking OK.


The Schematic editor window opens up.

eSim schematic window:

Click on Place component tool >> click anywhere

Let us now add components to the schematic.


Click on Place component tool from the right toolbar.


Now click anywhere on the editor.

eSim schematic window:

Adding Resistor


Type eSim_Devices in the Filter field.


Then select R and click on OK.

Now click anywhere on the editor.

Click on the editor once. Place the resistor R on the editor, by clicking on the editor once.
Press F1.


Zoom in by pressing F1.


You can also do so, by scrolling the scroll button of your mouse.

eSim schematic window:

Adding Capacitor


Filter field >> Type eSim_Devices >> select C >> click Ok

Click on the editor once again.


Type again eSim_Devices in the Filter field.


Then select C and click on OK.

Place capacitor on the editor Place the capacitor C on the editor as done before.
eSim schematic window:

Adding Sine Source



Filter field >> Type eSim_ Sources >> select sine >> click Ok

Click again on the editor.


Type eSim_Sources in the Filter field.

Select sine and click on OK.

Place sine on the editor Place the sine on the editor as done before.
Filterfield >> Type gnd>> select gnd >> click OK >> place on editor Similarly, type gnd and place a ground terminal on editor.
eSim schematic window:

Adding Plots


Filter field >> Type eSim_Plot >> select plot_v1 >> click OK >> place on editor

Similarly, type eSim_Plot, select the plot_v1 and place it on the editor.
Copy plot_v1 >> place on editor We need one more plot for output.


Place the cursor on plot_v1, right click and select copy component.


Now place it on the editor.

This is the plot component used to plot voltages at the required nodes.
eSim schematic window:

Adding Labels


Let us now add labels to the schematic.


The labels are used to name the required nodes in the circuit.


This will help us understand the netlist and connection of our circuit.

Click on Place global label tool >> click anywhere >> Type IN >> click on OK Click on Place global label tool from the right toolbar.


Now click anywhere on the editor.


Type IN in text field and click on OK.

Click on Place global label tool >> click anywhere >> Type OUT >> click on OK Similarly, place one more label OUT in editor.
Let us move and arrange the components to create the RC circuit.
eSim schematic window:

Moving the components

Place cursor on resistor >> press 'M'

To move the resistor, place the cursor on it and press the key 'm'.
Click on editor at preferred location. Place it at the preferred location, by clicking on editor again.
eSim schematic window:

Rotating the components


To rotate the resistor, place the cursor on it and press the key 'r'.


Similarly, move the plot components and labels, as shown.

eSim schematic window:

Connecting wires to the schematic

Now, let us connect the various components using wires.
eSim schematic window:

Click on Place wire button >> click sine resource and drag between Sine and Resistor >> click on it.

Click on Place wire button from the right toolbar.


Click on one end of the sine source.


Move the cursor point to one end of the resistor and click on it.

Similarly, connect all the components as demonstrated here.
eSim schematic window:


The plot components are placed at the output and input nodes.


This helps us to view the corresponding voltage waveforms on simulation.

eSim schematic window:

Annotate the schematic


To annotate the schematic components, click on Annotate button from the top toolbar.


Click on Annotate and then click on OK.


The schematic is now annotated.

eSim schematic window:

Giving values to components

To assign value to the resistor, right-click on it and choose Edit Component.


Click on Value.


Type 1k and click on OK.

Similarly, assign value 1u for capacitor.
eSim schematic window:

Perform ERC check

Click on Perform electrical rules check button >> click on Run.

Now let us do electrical rules check for this schematic.


Click on Perform electrical rules check button on the top toolbar.


Click on Run.

Point to the errors. We can see the errors -
  • global label not connected
  • and a pin is not driven to components


Close ERC

Ignore the global label not connected error, since we have used the labels for naming the nodes only.


Close the ERC window.

eSim schematic window:

Adding Power Flag

Note that the ground terminal pin is highlighted by a green arrow in the schematic.


It means that this pin is not driven by any power source.


To prevent this, let us place a power flag.

Click on Place component tool >> Click on Schematic editor >> Type PWR_FLAG >> click Ok >> place it on the editor


Click on Place component tool.


Click on the Schematic editor.


Type PWR underscore FLAG and Click OK Place it on the schematic editor.

Select wire >> connect PWR_FLAG to gnd


Connect this power flag to the ground terminal using a wire.


This indicates that a power source will be connected here.

eSim schematic window:

Perform ERC check


Now repeat the electrical rules check.


There will be only global label not connected errors, which can be ignored.

Click on Delete Markers >> click on Close. Click on Delete Markers and then click on Close.
eSim schematic window:

Generating Kicad Netlist


Now let us generate the netlist of this circuit.


Click on Generate netlist button from the top toolbar.

Click Generate netlist>> spice tab >> check Default>> click on Generate.


Click Save

Click on the Spice tab.


Check the option Default format and then click on Generate.


Click on Save.

eSim schematic window: A Kicad netlist of the RC circuit has been generated.


Now minimise the schematic editor.

eSim Main Window:

Click on Convert Kicad to Ngspice

Now, let us add simulation parameters to this netlist.


Click on Convert Kicad to Ngspice from eSim toolbar.

Kicad to Ngspice Converter:


Analysis Tab >> Select Transient

Let us add transient parameters in Analysis tab.


By default, Transient is selected.


Scroll down to enter values in the Transient analysis fields.

Kicad to Ngspice Converter:

Inserting values


Start time >> 0ms
Make Start Time equal to 0 by doing the following:


Type 0 in the Start textbox.

Step time >> 5ms

Stop time >> 30ms

Similarly, make the Step time 5 milliseconds

and Stop time 30 milliseconds.

Kicad to Ngspice Converter:

Source Details Tab

Let us add the source details

To do so, click on Source details tab.

Kicad to Ngspice Converter:

offset value >> 0

amplitude >> 5

frequency >> 50

delay time >> 0

damping factor >> 0

Enter the offset value as 0 and press Tab.


Type 5 for amplitude, 50 for frequency and 0 for both delay time and damping factor.

Kicad to Ngspice Converter:

Press Convert button

We will talk about the Ngspice Model, Device Modelling and Subcircuits tab in later tutorials.


Press the Convert button to convert the Kicad Netlist to ngspice netlist

Click Ok.

Close the kicad to ngspice tool

A confirmation dialog box appears. Here let's click Ok.

Close the Kicad to ngspice tool by clicking close at top right corner of the window.

eSim Main Window:

Click on Simulation.

Click on simulation from the eSim toolbar to simulate the example.


An ngspice terminal and plot windows open along with a python plot window.
Ngspice Plot:


The plot waveforms show transient analysis of the RC circuit.


Close the Ngspice terminal and plot window.

Python Plot Window:


Click on Potting tab >> maximize

Select the python plot window by clicking on Plotting tab in the dock area.


Maximize the Python plot window.

Check IN and OUT nodes >> click plot


To plot the output:

Check the IN and OUT nodes and click on the plot button.


The output plot is shown in blue and input plot in red.

Python Plot Window:

Multimeter Feature

Click on Multimeter >> Click on open schematic

To view the rms values of node voltages, click on the multimeter button.


The Multimeter window opens up, which will be on top of all other windows.


Maximise the schematic and drag the multimeter windows on the corresponding nodes of schematic.

<<PAUSE>>

Now let us summarize.

Show Slide:

Summary


In this tutorial, we learnt to-
  • Create circuit schematic
  • Generate spice netlist
  • Convert spice netlist to ngspice format
  • Simulate the netlist
Show Slide:

Assignment - 1


Here are few assignments for you to solve.


Watch the Kicad and the Ngspice tutorials on the spoken tutorial website.


Create voltage divider by changing components in eSim and simulate it.

Show Slide:

Assignment - 2

Similarly, Create the astable multivibrator in eSim and simulate it.
Show Slide:

Forum

Please post your timed queries in this forum.
Show Slide:

FOSSEE Forum

Please post your general queries on eSim in this forum.
Show Slide:

Textbook Companion

FOSSEE team coordinates the TBC project.
Show Slide:

Acknowledgment

http://spoken-tutorial.org

Spoken Tutorial Project is funded by NMEICT, MHRD, Govt. of India.


For more details, visit this website.

Previous slide


This is Usha from IIT Bombay, signing off.

Thank you.

Contributors and Content Editors

Nancyvarkey, PoojaMoolya, Saurabhbansode, Vineeta