Download Computer-Aided Verification of Electronic Circuits and Systems

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
CSE245: Computer-Aided Circuit
Simulation and Verification
Lecture 1: Introduction and Formulation
Spring 2010
Chung-Kuan Cheng
Administration
• CK Cheng, CSE 2130, tel. 534-6184, [email protected]
• Lectures: 3:30 ~ 4:50pm TTH CSB005
• Textbooks
– Required: Electronic Circuit and System Simulation Methods
T.L. Pillage, R.A. Rohrer, C. Visweswariah, McGraw-Hill
– Recommended: Interconnect Analysis and Synthesis
CK Cheng, J. Lillis, S. Lin, N. Chang, John Wiley & Sons
• Grading
– Homework and Projects: 60%
– Project Presentation: 20%
– Final Report: 20%
CSE245: Course Outline
• Formulation (2-3 lectures)
–
–
–
–
RLC Linear, Nonlinear Components,Transistors, Diodes
Incident Matrix
Nodal Analysis, Modified Nodal Analysis
K Matrix
• Linear System (3-4 lectures)
–
–
–
–
S domain analysis, Impulse Response
Taylor’s expansion
Moments, Passivity, Stability, Realizability
Symbolic analysis, Y-Delta, BDD analysis
• Matrix Solver (3-4 lectures)
– LU, KLU, reordering
– Mutigrid, PCG, GMRES
CSE245: Course Outline (Cont’)
• Integration (3-4 lectures)
–
–
–
–
–
–
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 (2-3 lectures)
– Newton Raphson, Line Search
• Transmission Line, S-Parameter (2-3 lectures)
– FDTD: equivalent circuit, convolution
– Frequency dependent components
• Sensitivity (3-4 lectures)
– Direct Method, Adjoint Network Method
• Mechanical, Thermal, Bio Analysis
Motivation: Analysis
• Energy: Fission, Fusion, Fossil Energy,
Efficiency Optimization
• Astrophysics: Dark energy, Nucleosynthesis
• Climate: Pollution, Weather Prediction
• Biology: Microbial life
• Socioeconomic Modeling: Global scale
modeling
Nonlinear Systems, ODE, PDE, Heterogeneous
Systems, Multiscale Analysis.
Motivation: Analysis
Exascale Calculation: 1018, Parallel Processing
at 20MW
• 10 Petaflops 2012
• 100 PF 2017
• 1000 PF 2022
Motivation: Analysis
• Modeling: Inputs, outputs, system models.
• Simulation: Time domain, frequency domain,
wavelet simulation.
• Sensitivity Calculation: Optimization
• Uncertainty Quantification: Derivation with
partial information or variations
• User Interface: Data mining, visualization,
Motivation: Circuit Analysis
• Why
– Whole Circuit Analysis, Interconnect Dominance
• What
– Power, Clock, Interconnect Coupling
• Where
–
–
–
–
Matrix Solvers, Integration Methods
RLC Reduction, Transmission Lines, S Parameters
Parallel Processing
Thermal, Mechanical, Biological Analysis
Circuit Simulation
Circuit
Input and setup
Simulator:
Solve
f (X )  C
dX (t )
dt
Output
numerically
dX (t )
f (X )  C
 GX (t )  BU (t )
dt
Y  DX (t )  FU (t )
Types of analysis:
– DC Analysis
– DC Transfer curves
– Transient Analysis
– AC Analysis, Noise, Distortions, 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
Lecture 1: Formulation
• Derive from KCL/KVL
• Sparse Tableau Analysis (IBM)
• Nodal Analysis, Modified Nodal Analysis
(SPICE)
*some slides borrowed from Berkeley EE219 Course
Conservation Laws
• Determined by the topology of the circuit
• 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
• Kirchhoff’s Voltage Law (KVL): Every circuit
node has a unique voltage with respect to the reference node.
The voltage across a branch vb is equal to the difference
between the positive and negative referenced voltages of the
nodes on which it is incident
– No voltage source loop
Branch Constitutive Equations
(BCE)
Ideal elements
Element
Branch Eqn
Variable parameter
Resistor
v = R·i
-
Capacitor
i = C·dv/dt
-
Inductor
v = L·di/dt
-
Voltage Source
v = vs
i=?
Current Source
i = is
v=?
VCVS
vs = AV · vc
i=?
VCCS
is = GT · vc
v=?
CCVS
vs = RT · ic
i=?
CCCS
is = AI · ic
v=?
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
• 2B+N equations, 2B+N unknowns => unique solution
Equation Formulation - KCL
R3
1
R1
2
R4
G2v3
0
Law:
State Equation:
Ai=0
N equations
Node 1:
Node 2:
 i1 
i 
2
1 1 1 0 0    0
0 0  1 1  1 i3   0

   
i4 
Branches
i5 
Kirchhoff’s Current Law (KCL)
Is5
Equation Formulation - KVL
R3
1
R1
2
Is5
R4
G2v3
0
Law:
v
- AT
State Equation:
e=0
B equations
 v1  1 0 
0 
v  1 0 
0 
2
  
e   
v3   1  1  1   0
  
 e2   
v 4  0 1 
0 
v5  0  1
0
vi = voltage across branch i
ei = voltage at node i
Kirchhoff’s Voltage Law (KVL)
Equation Formulation - BCE
R3
1
R1
Law:
K v v + K ii = i s
B equations
2
R4
G2v3
State Equation:
 1
 R
 1
 0
 0


 0

 0
0
0
0
0
0
0
0
0
0  G2
1
0 
R3
0
0

Is5
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
Equation Formulation
Node-Branch Incidence Matrix A
branches
1 2 3
n
o 1
d 2
e
s i
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 Branch Constitutive Equations
– Sparse Table Analysis (STA)
– Nodal Analysis (NA)
– Modified Nodal Analysis (MNA)
Sparse Tableau Analysis (STA)
1. Write KCL:
2. Write KVL:
3. Write BCE:
Ai=0
v - ATe=0
Kii + Kvv=S
0 i  0
A 0
 0 I  AT  v   0 

   
 Ki K v
0  e S 
Sparse Tableau
(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
Disadvantages
• Sophisticated programming techniques and data
structures are required for time and memory
efficiency
Nodal Analysis (NA)
1. Write KCL
Ai=0
(N equations, B unknowns)
2. Use BCE to relate branch currents to branch
voltages
i=f(v)
(B equations  B unknowns)
3. Use KVL to relate branch voltages to node voltages
v=h(e)
(B equations  N unknowns)
Yne=ins
Nodal Matrix
N eqns
N unknowns
N = # nodes
Nodal Analysis - Example
R3
1
R1
1. KCL:
2. BCE:
3. KVL:
Yne = ins
Yn = AKvAT
Ins = Ais
2
Is5
R4
G2v3
0
Ai=0
Kvv + i = is  i = is - Kvv  A Kvv = A is
v = ATe  A KvATe = A is
1
1

G

2
R
R3
 1
1



R3
1
R3   e1   0 
    
1
1  e2  is 5 

R3 R4 
 G2 
Nodal Analysis
• Example shows how NA may be derived from
STA
• Better Method: 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:
N+
Rk
N-
Rk
N+
i
N+  1
 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:
NC+
i
i
others
others
N+ N- NC+ NC-
Gkvalue
N+
+
vc
NC-
Gk
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+ N-
N+ 
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
-
l
k
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 
In general:
Some branch currents
Yn
C

B  e 
 MS



D  i 
MNA – General rules
• A branch current is always introduced as an
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
-
R8
-
+
0
4
E7v3
Step 1: Write KCL
i1  i2  i3  0
 i3  i4  i5  i6  0
i6  i8  0
i7  i8  8
3
+
Is5
R4
G2v3
ES6
(1)
(2)
(3)
(4)
MNA – An example
Step 2: Use branch equations to eliminate as many branch currents
as possible
1
1
v1  G2v3  v3  0
R1
R3
(1)
1
1
v3  v4  i6  is 5
R3
R4
(2)

i6 
1
v8  0
R8
(3)
i7 
1
v8  0
R8
(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
1
e1  G2 (e1  e2 ) 
(e1  e2 )  0
R1
R3

1
1
(e1  e2 ) 
e 2  i6  i s 5
R3
R4
(1)
(2)
i6 
1
( e3  e 4 )  0
R8
(3)
i7 
1
( e3  e 4 )  0
R8
(4)
(e3  e2 )  ES 6
e4  E 7 (e1  e2 )  0
(b6)
(b7)
MNA – An example
Yn
C

B  e 
 MS



0 i 
1
1
  G2 
R3
 R1
1



R3


0



0


0

E7


1 

  G2  
R3 

1
1

R3 R4
0
0
0
0
1
1
R8
1

R8
1
 E7
0
0
0
1
R8
1
R8
0

1

0 0
e   0 
 1  

 1 0 e
i
 2   s5 
 e   0 
3
1 0    

 e4   0 
  

0 1  i6   ES 6
  i7   0 
0 0

0 0
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