22 views

Uploaded by varun_009

- Project Management 3
- Spice Convergence Troubleshooting (BEST)
- Aim Spice Tutorial v3
- A Small Signal Model of the BCM PWM Switch
- updated sis team checklist 13-3-14
- Java-Lab
- Lokendra Singh Sekhawat Resume 2
- network theorms
- COBOL
- Mixed Signal Lab Manual
- Nitesh - vlsi
- Main
- plr-US
- VlsiCadLabGuideG8
- Mosfet Spice
- 04EC NetworkTheory Prelims 2017 1600
- Hankel-norm Based Interaction Measure for Input-output Pairing
- IJETR023024
- spices list as per spiceses board.xlsx
- (2) Circuits and Machines Solutions

You are on page 1of 8

Hemanshu R. Pota

September 10, 2010

1 Introduction

For the half-wave rectier shown in Figure 1, plot v

L

, v

D

, and i

L

for R = 10 , L

s

= 100 mH

when (a) v

s

= 50 sin 250t V, and (b) v

s

is a 50 V peak 50 Hz square waveform. For the diode use

I

s

= 10

14

A and V

T

= 26 mV.

+

v

s

i

D

D

1

+

v

D

R

L

s

+

v

L

i

L

Figure 1: Half-wave Rectier

To solve for current and voltages in the half-wave rectier in Figure 1, we write KVL equation

for the circuit (using the diode equation i

D

= I

s

_

e

v

D

/V

T

1

_

):

v

s

V

T

ln

_

i

L

I

s

+ 1

_

Ri

L

L

s

di

L

dt

= 0 (1)

Starting from the given initial value, we can obtain new values of i

L

using the following equation

i

new

L

= i

old

L

+ (rate of change of i

L

) t

i

new

L

= i

old

L

+

t

L

s

_

v

s

V

T

ln

_

i

old

L

I

s

+ 1

_

Ri

old

L

_

(2)

The above innocuous looking equation (2) gives good answers till i

L

gets very small or negative.

More specically as

_

i

L

Is

+ 1

_

becomes negative ln

_

i

L

Is

+ 1

_

becomes complex and not of any use to

us. In the above integration step (2) we have to add a check if i

L

is predicted (of course incorrectly)

to be smaller than I

s

and then x v

d

= v

s

. Using this x the current i

L

obtained from equation (2)

is shown in Figure 2 and the voltages v

D

and v

s

are shown in Figure 3. The matlab script used to

obtain these plots is given below.

%Prob 7 - Power Electronics problem sheet

clear all

dt = 0.0001; tf = 0.04;

1

How SPICE Works

A Simple Example

t = 0:dt:tf;

Is = 10(-14); % reverse saturation current;

VT = 0.026;

gmin = 0.1;

R = 10;

Ls = 0.1;

il = zeros(1,length(t));

vs = zeros(1,length(t));

vd = zeros(1,length(t));

for k = 1:length(t)-1

vs(k) = 50

*

sin(2

*

pi

*

50

*

t(k));

if il(k) == -Is

il(k) = il(k) + 10(-10); %to make sure il(k)/Is > -1.

end;

vd(k) = VT

*

log(il(k)/Is + 1);

il(k+1) = il(k) + ((vs(k) - vd(k) - R

*

il(k))/Ls)

*

dt;

if il(k+1) <= -Is

vd(k) = vs(k);

il(k+1) = Is

*

(exp(vd(k)/VT) - 1);

end;

end;

fignum=0;

fignum = fignum + 1; figure(fignum);

plot(t,il); grid on;

xlabel(Time (s)); ylabel(i_L (A)); title(Simple Integration);

fignum = fignum + 1; figure(fignum);

plot(t,vs,g,t,vd,r); grid on;

legend(vs,vd);

xlabel(Time (s)); ylabel(v_D (V) and v_s (V));

title(Simple Integration);

0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04

0.5

0

0.5

1

1.5

2

2.5

Time (s)

i L

(

A

)

Simple Integration

Figure 2: Inductor Current

0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04

50

40

30

20

10

0

10

20

30

40

50

Time (s)

v

D

(

V

)

a

n

d

v

s

(

V

)

Simple Integration

vs

vd

Figure 3: Diode and Supply Voltage

The above mentioned x for the stiff diode nonlinearity needs a good knowledge of the circuit

2 of 8

How SPICE Works

A Simple Example

conguration, etc. SPICE routinely solves circuits with thousands of nonlinear elements like the

diode in Figure 1. It will be very instructive to see how SPICE handles the nonlinear elements during

its nonlinear transient analysis. Based on the material in books [1, 2] and journal papers [3, 4, 5],

written by the original researchers who helped develop SPICE, I have put together this note to explain

exactly how SPICE solves a circuit such as shown in Figure 1. I hope in this short note the genius of

the developers of the original SPICE is made clear.

2 How SPICE Does it

For transient analysis, at every time-step, SPICE linearises all the nonlinear elements and distre-

tises all the derivative and integral relationships. This results in a circuit only with resistors, current

sources, and voltage sources. In this section, SPICE equivalent models for a diode, inductor, and

capacitors are derived. A similar process is used by SPICE to have equivalent representations of all

the devices. The SPICE equivalents are used in the next section to perform transient analysis for the

half-wave rectier circuit in Figure 1.

In the following (k + 1) really stands for t = (k + 1)h, where h is the step-size and k stands for

the k

th

time-step. Next we discuss how to obtain values of currents and voltages at (k + 1)

st

step,

given their values at the k

th

step.

2.1 Diode Representation

The linearised SPICE equivalent for the diode in Figure 1, for the (k + 1)

st

step, is represented as

i

D

= G

D

(k)v

D

+ I

Q

(k) (3)

The above equation (3) is a linear version of the nonlinear diode equation i

D

= I

s

_

e

v

D

/V

T

1

_

, and

for the (k + 1)

st

step, with known i

D

(k) and v

D

(k), the values of G

D

and I

Q

are obtained as

G

D

(k) =

di

D

dv

D

i

D

=i

D

(k)

v

D

=v

D

(k)

=

I

s

V

T

e

v

D

/V

T

i

D

=i

D

(k)

v

D

=v

D

(k)

(4)

I

Q

(k) = i

D

G

D

(k)v

D

(5)

The above representation (5) converts a diode to a resistor

_

1

G

D

(k)

_

in parallel with a current source

(I

Q

(k)).

2.2 Inductor Representation

The voltage-current relationship for an inductor v

L

= L

di

L

dt

is discretised, for the (k + 1)

st

step, as

follows (h is the step-size)

v

L

= L

di

L

dt

(6)

_

t+h

t

v

L

dt =

_

t+h

t

Ldi

L

(7)

h

2

(v

L

(k + 1) + v

L

(k)) = L(i

L

(k + 1) i

L

(k)) (8)

i

L

(k + 1) =

h

2L

v

L

(k + 1) +

h

2L

v

L

(k) + i

L

(k) (9)

i

L

(k + 1) =

h

2L

v

L

(k + 1) + I

LQ

(k) (where I

LQ

(k) =

h

2L

v

L

(k) + i

L

(k)) (10)

3 of 8

How SPICE Works

A Simple Example

The above representation (10) converts an inductor to a resistor (

2L

h

) in parallel with a current source

(I

LQ

(k)).

2.3 Capacitor Representation

The voltage-current relationship for a capacitor i

C

= C

dv

C

dt

is discretised, for the (k + 1)

st

step, as

follows (h is the step-size)

i

C

= C

dv

C

dt

(11)

_

t+h

t

i

C

dt =

_

t+h

t

Cdv

C

(12)

h

2

(i

C

(k + 1) + i

C

(k)) = C (v

C

(k + 1) v

C

(k)) (13)

i

C

(k + 1) =

2C

h

v

C

(k + 1)

2C

h

v

C

(k) i

C

(k) (14)

i

C

(k + 1) =

2C

h

v

C

(k + 1) + I

CQ

(k) (where I

CQ

(k) =

2C

h

v

C

(k) i

C

(k)) (15)

The above representation (15) converts a capacitor to a resistor (

h

2C

) in parallel with a current source

(I

CQ

(k)).

2.4 Equivalent Representations

The three equivalent circuits described above are shown in Figure 4. In circuit analysis, all the ele-

ments in the circuit are replaced by their SPICE equivalents and the voltages and currents are obtained

for that equivalent circuit which is made up of only resistors, current sources, and voltage sources.

This is demonstrated in the example in the next section.

+

v

D

i

D

I

Q

1

G

D

+

v

D

i

j

L

+

v

L

i

L

I

LQ

2L

h

+

v

L

i

j

C

+

v

C

i

C

I

CQ

h

2C

+

v

C

i

j

Figure 4: SPICE Equivalent Circuits

The equation for the three equivalent circuits in Figure 4 are

_

G

D

G

D

G

D

G

D

_ _

V

i

V

j

_

=

_

I

Q

I

Q

_

;

_

h

2L

h

2L

h

2L

h

2L

_ _

V

i

V

j

_

=

_

I

LQ

I

LQ

_

;

_

2C

h

2C

h

2C

h

2C

h

_ _

V

i

V

j

_

=

_

I

CQ

I

CQ

_

(16)

2.5 Integration Methods

The above three equivalent circuits have been obtained using the simplest integration method. Much

of the SPICE or for that matter any integration software is in the choice of different integration

methods. Please refer to the following easy-to-read papers to get an understanding of the link between

integration methods and solutions [3, 4, 5]. These papers are based on a wealth of experience.

4 of 8

How SPICE Works

A Simple Example

3 A Simple Example

The transient analysis for the half-wave rectier shown in Figure 1 is performed here as SPICE would

do it. The rst step is to replace the diode and the inductor by their equivalents given in Figure 4.

We obtain Figure 5 after replacing the original elements in Figure 1 with SPICE equivalents from

Figure 4.

v

s

(k + 1)

+

1

G

M

+G

D

(k)

I

Q

(k)

R

i

L

(k + 1)

h

2Ls

v

L

(k) + i

L

(k)

2Ls

h

2

1

0

Figure 5: SPICE Equivalent Half-wave Rectier

The nodal equations for the circuuit in Figure 5 can be written as:

At node 1: (v

1

(k + 1) v

s

(k + 1)) (G

D

(k) + G

M

) +

v

1

(k + 1) v

2

(k + 1)

R

= I

Q

(k) (17)

At node 2:

v

2

(k + 1) v

1

(k + 1)

R

+

h

2L

s

v

2

(k + 1) +

h

2L

s

v

2

(k) + i

L

(k) = 0 (18)

In compact matrix notation the above two equations (17) and (18) can be written as

_

G

D

(k) + G

M

+

1

R

1

R

1

R

h

2Ls

+

1

R

_ _

v

1

(k + 1)

v

2

(k + 1)

_

=

_

I

Q

(k) + v

s

(k + 1) (G

D

(k) + G

M

)

h

2Ls

v

2

(k) i

L

(k)

_

(19)

Y (k)V (k + 1) = I(k)

The above matrix equation (19) is solved for v

1

(k + 1) and v

2

(k + 1). The obtained values

of the node voltages v

1

(k + 1) and v

2

(k + 1) must also satisfy diode equation, i.e., i

D

(k + 1) =

I

s

_

e

v

D

(k+1)/V

T

1

_

. The values of i

D

(k + 1) and v

D

(k + 1) can be obtained from the node voltages

v

1

(k + 1) and v

2

(k + 1). If i

D

(k + 1) and v

D

(k + 1) do not satisfy the diode equation then these

new values of i

D

(k + 1) and v

D

(k + 1) are used to obtain an updated estimate of G

D

(k) and I

Q

(k)

using equations (4) and (5). With these updated values of G

D

(k) and I

Q

(k) the matrix equation (19)

is solved again and the process is continued till there is a convergence. Note that G

M

is not a standard

part of the diode equivalent circuit but it a term added by SPICE to improve the convergence.

Using the above described algorithm, the obtained current i

L

is shown in Figure 6 and the voltages

v

D

and v

s

are shown in Figure 7. The matlab script used to obtain these plots is included below.

%Prob 7 - Power Electronics problem sheet

%This is the way spice would solve it

clear all

dt = 0.00001; tf = 0.04;

t = 0:dt:tf;

5 of 8

How SPICE Works

A Simple Example

Is = 10(-12); % reverse saturation current;

VT = 0.026;

R = 10;

Ls = 0.1;

Gm = 1/10000;

io = zeros(1,length(t));

vdiode = zeros(1,length(t));

vd = 0.6; Vnode = [0;0];

kiter = zeros(1,length(t));

for j = 1:length(t)

vs=50

*

sin(2

*

pi

*

50

*

t(j)); materr = 2; k = 0;

ILc = -Vnode(2)

*

dt/(2

*

Ls)-(Vnode(1) - Vnode(2))/R;

while materr > 0.01;

k = k + 1;

id = Is

*

(exp(vd/VT)-1);

GD = (Is/VT)

*

exp(vd/VT);

IQ = id - GD

*

vd;

Ynode = [GD+Gm+1/R -1/R; -1/R dt/(2

*

Ls)+1/R];

Inode = [IQ + vs

*

(GD+Gm); ILc];

Vnodenew = Ynode\Inode;

vd = vs - Vnodenew(1);

if vd > 1.0

vd = 0.7;

end;

materr = norm(Vnodenew - Vnode);

Vnode = Vnodenew;

end;

io(j) = (Vnode(1)-Vnode(2))/R;

vdiode(j) = vd;

kiter(j) = k;

end;

fignum = 0;

fignum = fignum + 1; figure(fignum);

plot(t,io);grid on;

xlabel(Time (s)); ylabel(i_L (A)); title(How SPICE Does it);

fignum = fignum + 1; figure(fignum);

plot(t,vdiode,r-,t,50

*

sin(2

*

pi

*

50

*

t),g); grid on;

xlabel(Time (s)); ylabel(); title(How SPICE Does it);

legend(v_D,v_s);

4 The Genius of SPICE

In [3], Professor Pederson writes (the citations in the following paragraph are fromthe original paper):

The problem of the best way to formulate circuit equations had to be addressed early.

The common mesh equation formulation was not well suited for evaluation with the digi-

tal computer of those days. The capacitive elements as well as the high-resistance sources

were troublesome with this formulation. In early work, Bashkow looked at alternate

6 of 8

How SPICE Works

A Simple Example

0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04

0.5

0

0.5

1

1.5

2

2.5

Time (s)

i L

(

A

)

How SPICE Does it

Figure 6: Inductor Current

0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04

50

40

30

20

10

0

10

20

30

40

50

Time (s)

v

D

(

V

)

a

n

d

v

s

(

V

)

How SPICE Does it

v

D

v

s

Figure 7: Diode and Supply Voltage

forms of a complete description of an electrical network and devised the A matrix [2].

This in part emanated out of his studies of dynamical systems as described in Whittaker

and Watson. The A matrix is widely accepted as the forerunner of the state-variable de-

scription of an electrical network and was used in the early years of CAD as the basis of

equation formulation in CAD programs [38]. With subsequent developments, however,

it became clear that the state-variable approach, although very signicant for theoretical

studies, is not the best basis for computer programs for circuit analysis. As brought out

below, the modied-nodal and sparse-tableau formulations are better. For one who has

observed the developments in this eld throughout the 30 years of its existence, the erce

disagreements of just ten years ago on this subject make for interesting and frustrating

memories.

The above paragraph is of special interest to people with control theory background. The genius

of the nodal matrix approach is that the Y matrix, such as in equation (19) above, can be assembled by

inspection. In a computer program one has to only read the nodes to which the element is connected

and then update the entries corresponding to those nodes from the Y matrix of each element. The

code needed to do this would be perhaps less than a few dozen lines. As compared to this, creating an

A matrix would be quite a challenge. SPICE would not have been able to analyse integrated circuits

with hundreds of thousands of transistors had it not taken the Y matrix approach.

For an N node network referenced to a ground node, normally called the Node 0, the Y matrix is

an N N matrix. To build the Y matrix, individual element Y matrices shown in equation (16) are

used. The update algorithm for the system Y matrix, due to an element connected between nodes i

and j, is as follows:

1. Y

eq

11

term is added to Y

ii

2. Y

eq

12

term is added to Y

ij

3. Y

eq

21

term is added to Y

ji

4. Y

eq

22

term is added to Y

jj

This means that as each SPICE line is read, the Y matrix is built by modication of the existing

terms or adding new terms. In addition to the Y matrix, a list of all nonlinear element must also be

7 of 8

How SPICE Works

A Simple Example

maintained and used at each new transient analysis step. And that is about it. The transient analysis

algorithm is then solving a linear algebraic equation repeatedly and checked for convergence with

nonlinear relationships like the diode equation. Nothing could be simpler. This simplicity of SPICE

is a work of genius.

5 Exercise

For the half-wave rectier shown in Figure 8, plot v

o

, v

D

, i

L

, and i

s

for R = 1 k, C = 10 F

when (a) v

s

= 50 sin 250t V, and (b) v

s

is a 50 V peak 50 Hz square waveform. For the diode use

I

s

= 10

14

A and V

T

= 26 mV.

+

v

s i

s

D

1

+

v

D

C

+

v

C

R

+

v

o

i

L

Figure 8: Half-wave Rectier - RC Load

Use the integration method and also the SPICE method and compare your answers.

References

[1] Andrei Vladimirescu. The SPICE Book. John Wiley & Sons, Inc., Brisbane, 1994.

[2] Ron M. Kielkowski. Inside SPICE: Overcoming the obstacles of circuit simulation. McGraw-

Hill, Inc., Sydney, 1994. ISBN 0-07-911525-X.

[3] Donald O. Pederson. A historical review of circuit simulation. IEEE Trans on Circuits and

Systems, CAS-31(1):103111, January 1984.

[4] William J. McCalla and Donald O. Pederson. Elements of computer-aided circuit analysis. IEEE

Trans on Circuits Theory, CT-18(1):1426, January 1971.

[5] Arthur Richard Newton and Alberto L. Sangiovanni-Vincentelli. Relaxation-based electrical sim-

ulation. IEEE Trans on Computer-Aided Design, CAD-3(4):308331, October 1984.

8 of 8

- Project Management 3Uploaded byfreanne_0527
- Spice Convergence Troubleshooting (BEST)Uploaded byAlexandre Penna
- Aim Spice Tutorial v3Uploaded byMadalina Hirbea
- A Small Signal Model of the BCM PWM SwitchUploaded byClunche
- updated sis team checklist 13-3-14Uploaded byapi-235837059
- Java-LabUploaded byPadma Pradhan
- Lokendra Singh Sekhawat Resume 2Uploaded byLokendra Singh Shekhawat
- network theormsUploaded byRishi Kant Sharma
- COBOLUploaded bysuman_yarlagadda
- Mixed Signal Lab ManualUploaded bykbmn2
- Nitesh - vlsiUploaded byAman Katiyar
- MainUploaded bykcb26
- plr-USUploaded byjoscani
- VlsiCadLabGuideG8Uploaded byharivarahi
- Mosfet SpiceUploaded byarjun raj
- 04EC NetworkTheory Prelims 2017 1600Uploaded byss m
- Hankel-norm Based Interaction Measure for Input-output PairingUploaded byspams20035571
- IJETR023024Uploaded byerpublication
- spices list as per spiceses board.xlsxUploaded byladdu1111
- (2) Circuits and Machines SolutionsUploaded byJohn
- lecture3.pdfUploaded byAlemayehu Asmare
- Test2 12 SolUploaded byMark
- Comp_2000-2001_145-aug01-1 (1)Uploaded byMuhammed Muhammed
- C problemsUploaded byggyuuou
- new writing paper.docxUploaded byShadab Alam
- 3872 Ewahyuni 301 ASMM EnglishUploaded byCok Nanda
- dynamic-1Uploaded byagungyoke
- classtestNo1Uploaded byNew Pages
- Operations With ArrayUploaded byAravind Ck
- 5a30d2e5e4b0db4f58d6691cUploaded byRishabh

- 60_TV_2_marksUploaded bymaduravigneshkumar
- Final Vlsi Pract 08Uploaded byVernon D'souza
- Manual FET Pro430Uploaded byMiguel Jimenez
- Alternator Product KnowledgeUploaded byShanmugam Balasubramaniam
- Small 2Uploaded byAnselmo Oliveira
- occupancy based fan speed controllerUploaded byVinay Mishra
- 70-1488CD Pgm ManualUploaded byDiscover Prophecy
- Design of Unified Power Quality Conditioner (UPQC)Uploaded byHari Prasad
- RaspberryUploaded byLito Manayon
- FDD LTE Indoor CoverageUploaded byNuwan Weerasekara
- Harman Kardon Avr-130Uploaded byFrancisco Orozco
- MIP2K2-Panasonic.pdfUploaded byHoang Le
- Optical AmplifiersUploaded byp_neeraj296974
- 01 DIRA Software_General description.docUploaded bywellsu
- Automatic Wheelchair for Physically Disabled PersonsUploaded byPeaceMaker Amirah
- Spectre X2 Maintenance ManualUploaded byGonzalo Hernández
- Ch1-Introduction to DSP'sUploaded bySuriya Madhan
- ba3308.pdfUploaded byAnghelescu Cristina
- 24LC024Uploaded byDavid Chao
- aca42 instructionmanual100801Uploaded byscalin1900
- Difference Between Power Transformer and Distribution TransformerUploaded byVENKATESAN R
- Adl 5801Uploaded byibanitescu
- Epson 1650 Scanner ManualUploaded bykbgro
- D22 Final 4-18-12- Za COMTRADE CalculatorUploaded byZoki
- Tubes Versus Transistors in Electric Guitar AmplifiersUploaded byribar
- Manual de Servicio Philips FW-M730Uploaded byaldo
- KPI improvment in 3GUploaded byAjay Parmar
- curtis dc to 3 phase ac motor controller 1230Uploaded byCykhong Khong
- KENWOOD DP-1100SG optimiséUploaded bycaneton11
- Final ReportUploaded byAmsalu Setey