Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of...
Transcript of Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of...
![Page 1: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015](https://reader034.fdocuments.us/reader034/viewer/2022042114/5e9156d6064ebf20640b47f5/html5/thumbnails/1.jpg)
Analysis and Design Optimisation ofElectronic Circuits using
Oscad and OpenModelica
OpenModelica Annual Workshop 2015
Rakhi R and Kannan M. MoudgalyaIndian Institute of Technology Bombay, India
February 2, 2015
Rakhi R, Kannan Moudgalya OpenModelica and Oscad 1/33
![Page 2: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015](https://reader034.fdocuments.us/reader034/viewer/2022042114/5e9156d6064ebf20640b47f5/html5/thumbnails/2.jpg)
Outline
What is Oscad?
Enhancing explanation feature using OM in Oscadv2.0
Circuit design optimisation examples
Integrating Ngspice to Modelica converter in OMsuite
Conclusions and future work
Rakhi R, Kannan Moudgalya OpenModelica and Oscad 2/33
![Page 3: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015](https://reader034.fdocuments.us/reader034/viewer/2022042114/5e9156d6064ebf20640b47f5/html5/thumbnails/3.jpg)
What is Oscad?
Open Source Electronic Design Automation (EDA)tool
Developed at IIT Bombay
Capable of circuit design, simulation, analysis(explanation feature) and PCB layout design
Runs on Linux, Windows, Aakash
About half a million students need such a tool everyyear in India
India is also a centre for circuit designs
Rakhi R, Kannan Moudgalya OpenModelica and Oscad 3/33
![Page 4: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015](https://reader034.fdocuments.us/reader034/viewer/2022042114/5e9156d6064ebf20640b47f5/html5/thumbnails/4.jpg)
Schematics: Oscad on Aakash
Rakhi R, Kannan Moudgalya OpenModelica and Oscad 4/33
![Page 5: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015](https://reader034.fdocuments.us/reader034/viewer/2022042114/5e9156d6064ebf20640b47f5/html5/thumbnails/5.jpg)
PCB layout: Oscad on Aakash
Rakhi R, Kannan Moudgalya OpenModelica and Oscad 5/33
![Page 6: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015](https://reader034.fdocuments.us/reader034/viewer/2022042114/5e9156d6064ebf20640b47f5/html5/thumbnails/6.jpg)
Method to use: Oscad on Aakash
Rakhi R, Kannan Moudgalya OpenModelica and Oscad 6/33
![Page 7: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015](https://reader034.fdocuments.us/reader034/viewer/2022042114/5e9156d6064ebf20640b47f5/html5/thumbnails/7.jpg)
Released Oscad Book as Open Source
Rakhi R, Kannan Moudgalya OpenModelica and Oscad 7/33
![Page 8: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015](https://reader034.fdocuments.us/reader034/viewer/2022042114/5e9156d6064ebf20640b47f5/html5/thumbnails/8.jpg)
Oscad: Electronic Design Automation
Built by putting together
KiCAD for schematics
Ngspice for simulation
Fritzing for bread boarding
Scilab to see mathematical equations
GHDL for digital simulation
Rakhi R, Kannan Moudgalya OpenModelica and Oscad 8/33
![Page 9: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015](https://reader034.fdocuments.us/reader034/viewer/2022042114/5e9156d6064ebf20640b47f5/html5/thumbnails/9.jpg)
Explanation Facility
Wanted to extract mathematical equations
Can explain (oscillations, correctness, etc.) usingthem
Previous method: manual generation
Needed to maintain the interface to solvers
Needed different interfaces for different types ofproblems
Developed an OpenModelica interface
Rakhi R, Kannan Moudgalya OpenModelica and Oscad 9/33
![Page 10: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015](https://reader034.fdocuments.us/reader034/viewer/2022042114/5e9156d6064ebf20640b47f5/html5/thumbnails/10.jpg)
Design Flow in Oscad v2.0
Footprint
Mapper(Cvpcb)
PCBLayout
(Pcbnew)
1
2
3 4
5
6
7
8
10
9Simulation
output
file
Gerber
KiCad
Circuit
Schematic
Editor
Model
Builder ConverterNetlist
Circuit
Simulator
(Ngspice)
Analysis
InserterBuilder
Sub−circuit OMEdit
OMOptim
(Eeschema)
Extension
Create circuit schematic → Ngspice netlist → use OMtools for optimisation and circuit equations
Rakhi R, Kannan Moudgalya OpenModelica and Oscad 10/33
![Page 11: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015](https://reader034.fdocuments.us/reader034/viewer/2022042114/5e9156d6064ebf20640b47f5/html5/thumbnails/11.jpg)
Integrating OpenModelica and Oscad
1 Convert Ngspice netlist to Modelica code2 LATEX interface to display equations in standard
mathematical notations3 Open OMOptim for circuit design optimisation
Rakhi R, Kannan Moudgalya OpenModelica and Oscad 11/33
![Page 12: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015](https://reader034.fdocuments.us/reader034/viewer/2022042114/5e9156d6064ebf20640b47f5/html5/thumbnails/12.jpg)
Ngspice to Modelica Conversion
OM requires circuit description in Modelica language
Oscad provides circuit description as Ngspice netlist
Netlist converters available in Dymola, do not work inOM
A tool for Ngspice to Modelica conversion developedfor OM
Takes care of Spice device parameters, can handlesubcircuits
Opens the converted Modelica code in OMEdit
Rakhi R, Kannan Moudgalya OpenModelica and Oscad 12/33
![Page 13: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015](https://reader034.fdocuments.us/reader034/viewer/2022042114/5e9156d6064ebf20640b47f5/html5/thumbnails/13.jpg)
Comparison of Ngspice and Modelica forBridge Rectifier with Filter
Ngspice Simulation OM Simulation
Rakhi R, Kannan Moudgalya OpenModelica and Oscad 13/33
![Page 14: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015](https://reader034.fdocuments.us/reader034/viewer/2022042114/5e9156d6064ebf20640b47f5/html5/thumbnails/14.jpg)
LATEX Interface for Equation Generator
Rakhi R, Kannan Moudgalya OpenModelica and Oscad 14/33
![Page 15: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015](https://reader034.fdocuments.us/reader034/viewer/2022042114/5e9156d6064ebf20640b47f5/html5/thumbnails/15.jpg)
LATEX Interface for Equation Generator
1 Ngspice code converter generates Modelica code2 OMC generates equations from Modelica code3 Parser extracts the equations and writes to a text file4 Python code converts text to LATEX5 Compile LATEX code to produce pdf
Shell script to perform all the above steps.Let us see the output of some of these steps using avoltage divider circuit
Rakhi R, Kannan Moudgalya OpenModelica and Oscad 15/33
![Page 16: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015](https://reader034.fdocuments.us/reader034/viewer/2022042114/5e9156d6064ebf20640b47f5/html5/thumbnails/16.jpg)
Equation Generator Example:Circuit and Ngspice Netlist
r2 2 0 100r1 2 1 100v1 1 0 5.dc v1 0e-00 5e-001e-00* Control State-ments.controlrun.endc.end
Rakhi R, Kannan Moudgalya OpenModelica and Oscad 16/33
![Page 17: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015](https://reader034.fdocuments.us/reader034/viewer/2022042114/5e9156d6064ebf20640b47f5/html5/thumbnails/17.jpg)
OpenModelica Description
model max power transferModelica.Electrical.Analog.Basic.Groundground1;Modelica.Electrical.Analog.Basic.Resistor R1(R= 100);Modelica.Electrical.Analog.Basic.Resistor R2(R= 100);Modelica.Electrical.Analog.Sources.ConstantVoltageVDC(V = 5);equationconnect(VDC.n, ground1.p);connect(R2.n, ground1.p);connect(R1.n, R2.p);connect(VDC.p, R1.p);
end max power transfer;Rakhi R, Kannan Moudgalya OpenModelica and Oscad 17/33
![Page 18: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015](https://reader034.fdocuments.us/reader034/viewer/2022042114/5e9156d6064ebf20640b47f5/html5/thumbnails/18.jpg)
Output of Parser
Equations (9, 9)
========================================
1/1 (1): R2.LossPower = (-R2.v) * VDC.i
2/2 (1): R2.v = (-R2.R_actual) * VDC.i
3/3 (1): R1.v = VDC.V - R2.v
4/4 (1): R1.LossPower = (-R1.v) * VDC.i
5/5 (1): R1.v = (-R1.R_actual) * VDC.i
6/6 (1): R2.R_actual = R2.R * (1.0 + R2.alpha * (R2.T - R2.T_ref))
7/7 (1): R1.R_actual = R1.R * (1.0 + R1.alpha * (R1.T - R1.T_ref))
8/8 (1): R1.T = R1.T_ref
9/9 (1): R2.T = R2.T_ref
State SetsRakhi R, Kannan Moudgalya OpenModelica and Oscad 18/33
![Page 19: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015](https://reader034.fdocuments.us/reader034/viewer/2022042114/5e9156d6064ebf20640b47f5/html5/thumbnails/19.jpg)
LATEX Code
1 \ b e g i n a l i g n 2 R 2 . LossPower &= (−R 2 . v ) \ times VDC. i \\3 R 2 . v &= (−R 2 . R\ a c t ) \ times VDC. i \\4 R 1 . v &= VDC. V − R 2 . v\\5 R 1 . LossPower &= (−R 1 . v ) \ times VDC. i \\6 R 1 . v &= (−R 1 . R\ a c t ) \ times VDC. i \\7 R 2 . R\ a c t &= R 2 . R \ times ( 1 . 0 + R2 .\ alpha \
times (R 2 .T − R 2 .T\ r e f ) ) \\8 R 1 . R\ a c t &= R 1 . R \ times ( 1 . 0 + R1 .\ alpha \
times (R 1 .T − R 1 .T\ r e f ) ) \\9 R 1 .T &= R 1 .T\ r e f \\
10 R 2 .T &= R 2 .T\ r e f \\11 \end a l i g n
Rakhi R, Kannan Moudgalya OpenModelica and Oscad 19/33
![Page 20: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015](https://reader034.fdocuments.us/reader034/viewer/2022042114/5e9156d6064ebf20640b47f5/html5/thumbnails/20.jpg)
Equations Generated
R2.LossPower = (−R2.v)× VDC .i (1)
R2.v = (−R2.R act)× VDC .i (2)
R1.v = VDC .V − R2.v (3)
R1.LossPower = (−R1.v)× VDC .i (4)
R1.v = (−R1.R act)× VDC .i (5)
R2.R act = R2.R × (1.0 + R2.α× (R2.T − R2.T ref )) (6)
R1.R act = R1.R × (1.0 + R1.α× (R1.T − R1.T ref )) (7)
R1.T = R1.T ref (8)
R2.T = R2.T ref (9)
Rakhi R, Kannan Moudgalya OpenModelica and Oscad 20/33
![Page 21: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015](https://reader034.fdocuments.us/reader034/viewer/2022042114/5e9156d6064ebf20640b47f5/html5/thumbnails/21.jpg)
Circuit design optimisation examples
Rakhi R, Kannan Moudgalya OpenModelica and Oscad 21/33
![Page 22: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015](https://reader034.fdocuments.us/reader034/viewer/2022042114/5e9156d6064ebf20640b47f5/html5/thumbnails/22.jpg)
Circuit design optimisation examples
Inverter chain delay minimisation
Low noise amplifier design
Rakhi R, Kannan Moudgalya OpenModelica and Oscad 22/33
![Page 23: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015](https://reader034.fdocuments.us/reader034/viewer/2022042114/5e9156d6064ebf20640b47f5/html5/thumbnails/23.jpg)
Min. prop. delay in CMOS inv. chain
0.5µm CMOS, Input frequency 500MHzIn each inverter, NMOS, width Wn = winv × λ,PMOS, Wp = 3Wn, λ = 0.25µm
Rakhi R, Kannan Moudgalya OpenModelica and Oscad 23/33
![Page 24: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015](https://reader034.fdocuments.us/reader034/viewer/2022042114/5e9156d6064ebf20640b47f5/html5/thumbnails/24.jpg)
Parameter optimisation
Find widths winv2,winv3,winv4 such that propagationdelay is minimum
Delay min. when width of every inverter in the chainapprox. 4 times that of previous one
Algo. Delay (s) w inv2,w inv3,w inv4 Time (m)PSO 2.73e-10 34.95, 119.21, 463.40 15:47
NSGA2 2.71e-10 36.87, 137.84, 508.16 15:40SPEA2 2.86e-10 33.44, 149.63, 345.18 17:23
Widths multiplied by about 3.6 (on an average) insubsequent stages
Rakhi R, Kannan Moudgalya OpenModelica and Oscad 24/33
![Page 25: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015](https://reader034.fdocuments.us/reader034/viewer/2022042114/5e9156d6064ebf20640b47f5/html5/thumbnails/25.jpg)
Parameter optimisation
Above problem converted to 1 parameteroptimisation problem
Defined Winv2 = h ×Winv1,Winv3 = h2 ×Winv1 so on
h optimised for minimum delay
-
Algorithm Delay (s) h Comp. Time (min.)PSO 2.69e-10 3.9896 15:13
NSGA2 2.69e-10 3.9942 16:10SPEA2 2.69e-10 4.0020 15:08
The results clearly show that the delay is minimumwhen the stage effort is around 4
Rakhi R, Kannan Moudgalya OpenModelica and Oscad 25/33
![Page 26: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015](https://reader034.fdocuments.us/reader034/viewer/2022042114/5e9156d6064ebf20640b47f5/html5/thumbnails/26.jpg)
Parameter optimisation results
Clearly shows delay converges to a minimum when stageeffort is 4.
Rakhi R, Kannan Moudgalya OpenModelica and Oscad 26/33
![Page 27: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015](https://reader034.fdocuments.us/reader034/viewer/2022042114/5e9156d6064ebf20640b47f5/html5/thumbnails/27.jpg)
Low Noise Amplifier Design for MaximumGain and Minimum Power
LNA circuit optimised for max gain, min powerconsumption, with sufficient linearity
Designed for min Noise Factor
Resonant frequency ω0 ≈ 1010s−1
Input impedance, Rs = 50Ω
Cascode Common Source (CS) LNA with inductivedegeneration used
0.5µm CMOS technology
Rakhi R, Kannan Moudgalya OpenModelica and Oscad 27/33
![Page 28: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015](https://reader034.fdocuments.us/reader034/viewer/2022042114/5e9156d6064ebf20640b47f5/html5/thumbnails/28.jpg)
LNA Optimisation Problem
Max. Gain, Min. Power,subject to
Vgs1 > Vth
Vds1 > Vdsat
Vgs2 > Vth
Vds2 > Vdsat
Ids ≥ 0.0015A
0.98ω0 ≤ fout ≤ 1.02ω0
Vgsi , Vdsi : Voltages of gate-source, MOS Mni ’s drain-sourceVth: Threshold voltage, Ids: Drain-source current
Vdsat: Saturation voltageRakhi R, Kannan Moudgalya OpenModelica and Oscad 28/33
![Page 29: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015](https://reader034.fdocuments.us/reader034/viewer/2022042114/5e9156d6064ebf20640b47f5/html5/thumbnails/29.jpg)
Optimisation ResultsParameter Value
L2 7.136nHC2 1.396pF
wnbias 236λwM2,M3 2360λ
R2 9.383kΩR3 2.63kΩNF 2.08
power 10.63mWgain 9.3
Performed multi objective optimisation using PSOalgorithmOutput freq: 9.96× 1010 rad/s, within limits
Rakhi R, Kannan Moudgalya OpenModelica and Oscad 29/33
![Page 30: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015](https://reader034.fdocuments.us/reader034/viewer/2022042114/5e9156d6064ebf20640b47f5/html5/thumbnails/30.jpg)
Integrating Ngspice to Modelica Converter
Rakhi R, Kannan Moudgalya OpenModelica and Oscad 30/33
![Page 31: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015](https://reader034.fdocuments.us/reader034/viewer/2022042114/5e9156d6064ebf20640b47f5/html5/thumbnails/31.jpg)
Integrating Ngspice to Modelica Converter
API ngspicetoModelica() added to omcTool “Import Ngspice Netlist” added in OMEditGenerates Modelica code and opens in OMEdit
Rakhi R, Kannan Moudgalya OpenModelica and Oscad 31/33
![Page 32: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015](https://reader034.fdocuments.us/reader034/viewer/2022042114/5e9156d6064ebf20640b47f5/html5/thumbnails/32.jpg)
Conclusions
Explanation feature in Oscad enhanced using OMtoolsFeature helps user gain more insights into the circuitDesign optimisation facility helps design efficientcircuits in a short timeImplemented LATEX interface to equation generator inOMA generic Ngspice netlist to Modelica code converteradded in OM suiteHelps obtain Modelica code from Ngspice netlists,without creating schematic in OscadSeveral optimisation problems illustrated usingenhanced explanation feature in Oscad 2.0
Rakhi R, Kannan Moudgalya OpenModelica and Oscad 32/33