33
Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015 Rakhi R and Kannan M. Moudgalya Indian Institute of Technology Bombay, India February 2, 2015 Rakhi R, Kannan Moudgalya OpenModelica and Oscad 1/33

Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Page 33: Analysis and Design Optimisation of Electronic Circuits ... · Analysis and Design Optimisation of Electronic Circuits using Oscad and OpenModelica OpenModelica Annual Workshop 2015

Thanks

[email protected]

Rakhi R, Kannan Moudgalya OpenModelica and Oscad 33/33