Computer-Aided Circuit Simulation and Verification

56 downloads 83 Views 240KB Size Report
Lecture 1: Formulation. • KCL/KVL. • Sparse Tableau Analysis. • Nodal Analysis, Modified Nodal Analysis. *some slides borrowed from Berkeley EE219 Course ...
Computer-Aided Circuit Simulation and Verification

CSE245 – Fall 2004 Professor:Chung-Kuan Cheng

Administration • Lectures: 5:00pm ~ 6:20pm TTH HSS 2152 • Office Hours: 4:00pm ~ 4:45pm TTH APM 4256 • Textbook Electronic Circuit and System Simulation Methods T.L. Pillage, R.A. Rohrer, C. Visweswariah, McGrawHill • TA: Zhengyong (Simon) Zhu ([email protected])

Circuit Simulation Input and setup

Circuit

Simulator: Solve dx/dt=f(x) numerically Output

Types of analysis: – – – –

DC Analysis DC Transfer curves Transient Analysis AC Analysis, Noise, Distortion, Sensitivity

Program Structure (a closer look) Models

Input and setup

Numerical Techniques: –Formulation of circuit equations –Solution of ordinary differential equations –Solution of nonlinear equations –Solution of linear equations

Output

CSE245: Course Outline • Formulation – – – –

RLC Linear, Nonlinear Components,Transistors, Diodes Incident Matrix Nodal Analysis, Modified Nodal Analysis K Matrix

• Dynamic Linear System – – – –

S domain analysis, Impulse Response Taylor’s expansion Moments, Passivity, Stability, Realizability Symbolic analysis, Y-Delta, BDD analysis

• Matrix Solver – LU, KLU, reordering – Mutigrid, PCG, GMRES

CSE245: Course Outline (Cont’) • Integration – – – – – –

Forward Euler, Backward Euler, Trapezoidal Rule Explicit and Implicit Method, Prediction and Correction Equivalent Circuit Errors: Local error, Local Truncation Error, Global Error A-Stable Alternating Direction Implicit Method

• Nonlinear System – Newton Raphson, Line Search

• Transmission Line, S-Parameter – FDTD: equivalent circuit, convolution – Frequency dependent components

• Sensitivity • Mechanical, Thermal, Bio Analysis

Lecture 1: Formulation • KCL/KVL • Sparse Tableau Analysis • Nodal Analysis, Modified Nodal Analysis

*some slides borrowed from Berkeley EE219 Course

Formulation of Circuit Equations • Unknowns – B branch currents (i) – N node voltages (e) – B branch voltages (v)

• Equations – N+B Conservation Laws – B Constitutive Equations

Branch Constitutive Equations (BCE) Ideal elements Element Resistor Capacitor Inductor Voltage Source Current Source VCVS VCCS CCVS CCCS

Branch Eqn v = R·i i = C·dv/dt v = L·di/dt v = vs, i = ? i = is, v = ? vs = AV · vc, i = ? is = GT · vc, v = ? vs = RT · ic, i = ? is = AI · ic, v = ?

Conservation Laws • Determined by the topology of the circuit • Kirchhoff’s Voltage Law (KVL): Every circuit node has a unique voltage with respect to the reference node. The voltage across a branch eb is equal to the difference between the positive and negative referenced voltages of the nodes on which it is incident – No voltage source loop

• Kirchhoff’s Current Law (KCL): The algebraic sum of all the currents flowing out of (or into) any circuit node is zero. – No Current Source Cut

Equation Formulation - KCL R3

1

R1

2

Is5

R4

G2v3 0

 i1  i  2 1 1 1 0 0    0 0 0 − 1 1 − 1 i3  = 0      i4  i5 

Ai=0

N equations

Kirchhoff’s Current Law (KCL)

Equation Formulation - KVL R3

1

R1

2

Is5

R4

G2v3 0

 v1  1 0  0  v  1 0  0  2    e    v3  − 1 − 1  1  = 0     e2     v4  0 1  0  v5  0 − 1 0

v - AT e = 0

B equations

Kirchhoff’s Voltage Law (KVL)

Equation Formulation - BCE R3

1

R1

2

R4

G2v3

Is5

0

 1 − R  1  0  0    0   0

0

0

0

0 − G2 1 0 − R3 0

0

0

0

0 0 −

1 R4 0

 0 v i 0   1   1    0 v i2   0  2   0 v3  + i3  =  0   v4  i4   0  0 v  i  i    5   5   s5  0

Kvv + i = is B equations

Equation Formulation Node-Branch Incidence Matrix branches n o 1 d 2 e s i

1 2 3

j

(+1, -1, 0)

N

{

Aij =

+1 if node i is terminal + of branch j -1 if node i is terminal - of branch j 0 if node i is not connected to branch j

B

Equation Assembly (Stamping Procedures) • Different ways of combining Conservation Laws and Constitutive Equations – Sparse Table Analysis (STA) – Modified Nodal Analysis (MNA)

Sparse Tableau Analysis (STA) 1. Write KCL: 2. Write KVL: 3. Write BCE: A 0   K i

0 I Kv

Sparse Tableau

Ai=0 v -ATe=0 Kii + Kvv=S 0 i  0 − AT  v  =  0  0  e   S 

(N eqns) (B eqns) (B eqns)

N+2B eqns N+2B unknowns N = # nodes B = # branches

Sparse Tableau Analysis (STA) Advantages • It can be applied to any circuit • Eqns can be assembled directly from input data • Coefficient Matrix is very sparse Problem Sophisticated programming techniques and data structures are required for time and memory efficiency

Nodal Analysis (NA) 1. Write KCL A·i=0 (N eqns, B unknowns) 2. Use BCE to relate branch currents to branch voltages i=f(v) (B unknowns → B unknowns) 3. Use KVL to relate branch voltages to node voltages 4. v=h(e) (B unknowns → N unknowns)

Yne=ins Nodal Matrix

N eqns N unknowns N = # nodes

Nodal Analysis - Example R3

1

R1

2

R4

G2v3

Is5

0

1. KCL: 2. BCE: 3. KVL:

Ai=0 Kvv + i = is → i = is - Kvv ⇒ A Kvv = A is v = ATe ⇒ A KvATe = A is

1 1  R + G2 + R 3  1 1  −  R3

1 − G2 −  R3  e1   0   = 1 1  e2  is 5  + R3 R4 

Yne = ins

Nodal Analysis • Example shows NA may be derived from STA • Better: Yn may be obtained by direct inspection (stamping procedure) – Each element has an associated stamp – Yn is the composition of all the elements’ stamps

Nodal Analysis – Resistor “Stamp” Spice input format: Rk N+ Rk

N-

N+

i

1 N+ 

 R  k − 1 N-  R  k

N+ NN-

1 −  Rk  1  Rk 

Rkvalue What if a resistor is connected to ground? …. Only contributes to the diagonal

1 ∑ iothers + R (eN + − eN − ) = ∑ is k

KCL at node N+

1 ∑ iothers − R (eN + − eN − ) = ∑ is k

KCL at node N-

Nodal Analysis – VCCS “Stamp” Spice input format: Gk NC+

NC-

∑i ∑i

others others

Gkvalue

N+

+ vc

N+ N- NC+ NC-

NC+ N+  G k

− G k N- 

Gkvc

-

+ Gk (eNC + − eNC − ) = ∑ is

− Gk (eNC + − eNC − ) = ∑ is

NKCL at node N+ KCL at node N-

NC-

− Gk  Gk 

Nodal Analysis – Current source “Stamp” Spice input format:

Ik

N+ N- Ikvalue

N+ N+ NN+ 

Ik

N-

 N- 

 − I k  = I    k 

Nodal Analysis (NA) Advantages • Yn is often diagonally dominant and symmetric • Eqns can be assembled directly from input data • Yn has non-zero diagonal entries • Yn is sparse (not as sparse as STA) and smaller than STA: NxN compared to (N+2B)x(N+2B) Limitations • Conserved quantity must be a function of node variable – Cannot handle floating voltage sources, VCVS, CCCS, CCVS

Modified Nodal Analysis (MNA) How do we deal with independent voltage sources? +

Ekl

k

-

l ikl

 k   l    

1

−1

    1  ek          =   − 1  el            0  ikl   Ekl 

• ikl cannot be explicitly expressed in terms of node voltages ⇒ it has to be added as unknown (new column) • ek and el are not independent variables anymore ⇒ a constraint has to be added (new row)

MNA – Voltage Source “Stamp” Spice input format: Vk

+

Ek

N+

-

Nik

N+ N-

Ekvalue

N+ N- ik N+ 0

0 1 N- 0 0 -1 Branch k 1 -1 0

RHS

0 0    Ek 

Modified Nodal Analysis (MNA) How do we deal with independent voltage sources? Augmented nodal matrix

Yn C 

B  e  = MS    0 i 

Some branch currents

In general:

Yn C 

B  e  = MS    D  i 

MNA – General rules • A branch current is always introduced as and additional variable for a voltage source or an inductor • For current sources, resistors, conductors and capacitors, the branch current is introduced only if: – Any circuit element depends on that branch current – That branch current is requested as output

MNA – CCCS and CCVS “Stamp”

MNA – An example 1

R1

+ v3 R3

2

R4

G2v3 0

Step 1: Write KCL i1 + i2 + i3 = 0 -i3 + i4 - i5 - i6 = 0 i6 + i8 = 0 i7 – i8 = 0

-

Is5

-

ES6

3

+ +

E7v3

R8 4

(1) (2) (3) (4)

MNA – An example Step 2: Use branch equations to eliminate as many branch currents as possible 1/R1·v1 + G2 ·v3 + 1/R3·v3 = 0 (1) - 1/R3·v3 + 1/R4·v4 - i6 = is5 (2) i6 + 1/R8·v8 = 0 (3) i7 – 1/R8·v8 = 0 (4) Step 3: Write down unused branch equations v6 = ES6 v7 – E7·v3 = 0

(b6) (b7)

MNA – An example Step 4: Use KVL to eliminate branch voltages from previous equations 1/R1·e1 + G2·(e1-e2) + 1/R3·(e1-e2) = 0 (1) - 1/R3·(e1-e2) + 1/R4·e2 - i6 = is5 (2) i6 + 1/R8·(e3-e4) = 0 (3) i7 – 1/R8·(e3-e4) = 0 (4) (e3-e2) = ES6 (b6) e4 – E7·(e1-e2) = 0 (b7)

MNA – An example 1 1 + + G  2 R R3  1 1  −  R3   0    0   0  E7 

 1  −  G2 +  R3   1 1 + R3 R4

0

0

0

0

−1

1 R8 1 − R8 1

1 − R8 1 R8 0

− E7

0

−1

0 0

 0 0 e   0   1    − 1 0 e i 2 s 5      e   0  3 1 0   =    e4   0      0 1  i6   ES 6   i7   0  0 0  0 0

Yn C 

B  e  = MS    0 i 

Modified Nodal Analysis (MNA) Advantages • MNA can be applied to any circuit • Eqns can be assembled directly from input data • MNA matrix is close to Yn Limitations • Sometimes we have zeros on the main diagonal

Suggest Documents