CAD and Circuit Simulators

advertisement
'
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
Analog Integrated Circuit Design
$
Spice-37
CAD and Circuit Simulators
_ ž × õ
>
‡
¦
œ
»Á
‫כ‬
šÉ
þ
Ù
Kyungpook National University
&
Integrated Systems Lab, Kyungpook National University
'
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
Analog Integrated Circuit Design
%
$
Spice-1
Computer Aided Design (CAD)
❏ Design = key word
❏ A working chip NOT just a working program
❏ Evolutionary not revolutionary
❏ Close coupling with designers
❏ 20 lines of bug-free code per day
&
Integrated Systems Lab, Kyungpook National University
%
'
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
Analog Integrated Circuit Design
CAD Areas for Integrated Circuits
$
Spice-2
❏ Design verification
– Simulation: circuit, logic, mixed
– Functional verification
– Timing verification
– Physical verification
❏ Circuit synthesis
– High-level synthesis
– Combinational logic optimization
– Sequential logic optimization
– Layout synthesis
– Analog circuit synthesis
&
Integrated Systems Lab, Kyungpook National University
'
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
Analog Integrated Circuit Design
%
$
Spice-3
❏ Circuit testing
– Fault simulation
– Automatic test pattern generation
– Sequential test
– Buil-in self test (BIST)
– Analog test
❏ Design representation
– Domain: behavioral, structural, physical
– Digital HDL: VHDL, ELLA, Verilog HDL, Hardware C
– Analog HDL: VHDL-AMS, AnaVHDL, AHDL, Verilog-A
– Design database
&
Integrated Systems Lab, Kyungpook National University
%
'
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
Analog Integrated Circuit Design
$
Spice-4
Circuit Simulators
❏ Spice: Simulation Program with Integrated Circuit Emphasis
– a general-purpose circuit simulator
– de facto industrial standard for computer-aided circuit analysis
– Spice2g6 (1980), Spice3f5 (1994), PSpice (1984), HSpice
❏ Simulation flow
*.cir
*.out
Spice
Circuit file
Output file
❏ Output postprocessing using probe
&
Integrated Systems Lab, Kyungpook National University
'
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
Analog Integrated Circuit Design
Analysis Types of Spice
%
$
Spice-5
❏ DC analysis
– operating point (.op)
– dc sweep (.dc)
– small-signal transfer function (.tf)
– small-signal sensitivity (.sens)
❏ Transient analysis
– time domain response (.tran)
– Fourier analysis (.four)
❏ AC analysis
– small-signal frequency response (.ac)
– noise analysis (.noise)
&
Integrated Systems Lab, Kyungpook National University
%
'
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
Analog Integrated Circuit Design
Spice Input File
$
Spice-6
❏ Circuit file format
Title statement
Analysis requests
Output requests
Circuit description
Power supplies
Signal sources
Element descriptions
Model statements
+
Continued line
*
Comment line
.end
&
Integrated Systems Lab, Kyungpook National University
'
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
Analog Integrated Circuit Design
%
$
Spice-7
A Diode Circuit
❏ Circuit diagram
1
+
2
D1
+
vD
−
+
RL
vI
−
vO
−
0
❏ Node number: 0 for the ground node, 1 to 9999
&
Integrated Systems Lab, Kyungpook National University
%
'
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
Analog Integrated Circuit Design
Example of Circuit File
$
Spice-8
❏ diode.cir
A diode circuit
.options reltol=0.001, abstol=1pA, vntol=1uV
.dc vI 0 1v 0.01v
.print dc v(2) (.probe)
*
step stop start max
*.tran 0.01m 4m
0m
0.001m
vI 1 0 dc 1v ac 1v 0
+
sin (0v 5v 1kHz 0s 0)
D1 1 2 D1N4184
RL 2 0 1k
.model D1N4184 D (Is=0.1p Rs=16 Cjo=2p Tt=12n Bv=100)
.end
❏ PSpice: File->Open, File->Run Probe, Trace->Add
&
'
Integrated Systems Lab, Kyungpook National University
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
Analog Integrated Circuit Design
Basic Concepts of Circuit Simulators
%
$
Spice-9
❏ Reliable device models
❏ Systematic formulation
❏ Solution by Newton-Raphson method
❏ Sparse matrix techniques
❏ Circuit analysis methods
– Sparse Tableau Analysis (STA): ASTAP
– Modified Nodal Analysis (MNA): SPICE
❏ Stable integration formulae
❏ Automatic stepsize control
&
Integrated Systems Lab, Kyungpook National University
%
'
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
Analog Integrated Circuit Design
$
Spice-10
Sparse Tableau Analysis
❏ KCL equations
Ai =
0,
aij
+1 if node i is the positive node of branch j
=
i =
A = incidence matrix
branch current vector
❏ KVL equations
e − At v
=
0
e
=
branch voltage vector
v
=
node voltage vector
❏ Branch equations
&
Zb i − Yb e
%
= S = source vector
Integrated Systems Lab, Kyungpook National University
'
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
Analog Integrated Circuit Design
❏ STA equations

A
0

 0

Zb
1
−Yb
0

i


$
Spice-11

0

 

t 


=
−A   e   0 

0
v
S
❏ Features
– Application to any circuit
– Assembly by inspection
– Sparse coefficient matrix
– Sophisticated programing
– Solutions to all node voltages, all branch voltages, and all branch
currents → large matrix size
&
Integrated Systems Lab, Kyungpook National University
%
'
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
$
Analog Integrated Circuit Design
Spice-12
❏ Example: a linear resistive circuit
1
e3
+
R3
R1
G2 e 3
2
3
−
−+
ES6
+
e4
−
R4
IS5
R8
E7 e3
−+
0
4
❏ STA equations
&
'
Integrated Systems Lab, Kyungpook National University
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
Analog Integrated Circuit Design
3
3 2
i1
0
7 6 i2 7 6 0 7
6
1 −1 −1
7
76 7 6
6
7 6 i3 7 6 0 7
6
10 1
7
76 7 6
6
7 6 i4 7 6 0 7
6
1 −1
7
76 7 6
6
7 6 i5 7 6 0 7
6
1
−1
7
76 7 6
6
7 6 i6 7 6 0 7
6
1
−1
7
76 7 6
6
7 6 i7 7 6 0 7
6
1
−1 1
7
76 7 6
6
76i 7 6 0 7
6
1
−1
7
76 8 7 6
6
7 6e 7 6 0 7
6
1
1
7
76 17 6
6
7
76 7 6
6
1
1 −1
7 6 e2 7 6 0 7
6
7
76 7 = 6
6
1
0 −1 7 6 e3 7 6 0 7
6
7
76 7 6
6
6
1
−1 1 7 6 e4 7 6 0 7
7
76 7 6
6
7 6 e5 7 6 0 7
6 R1
−1
7
76 7 6
6
7 6 e6 7 6 0 7
6
1
−G2
7
76 7 6
6
7 6 e7 7 6 0 7
6
R
−1
3
7
76 7 6
6
7 6 e8 7 6 0 7
6
R4
−1
7
76 7 6
6
7 6 v1 7 6 I 7
6
1
S5
7
76 7 6
6
7 6v 7 6E 7
6
1
7 6 2 7 6 S6 7
6
5 4v 5 4 0 5
4
E7
−1
3
0
v4
R8
−1
2
11
&
1
−1
32
Integrated Systems Lab, Kyungpook National University
%
$
Spice-13
%
'
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
Analog Integrated Circuit Design
$
Spice-14
Modified Nodal Analysis
❏ KCL equations: node equations
Yv
= Is = current source vector
Y
= node admittance matrix
v
= node voltage vector
❏ KVL equations for voltage sources
❏ MNA equations


&
Y
C
B
D


v
i


=
J
E


%
Integrated Systems Lab, Kyungpook National University
'
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
Analog Integrated Circuit Design
$
Spice-15
❏ Features
– Application to any circuit
– Assembly by inspection
– Sparse coefficient matrix
– Closeness to Y of nodal analysis: most nonzero diagonal entries
– Solutions to all node voltages and currents of voltage sources
❏ Example: the linear resistive circuit
1. Write KCL at the nodes
①: i1 + i2 + i3 = 0, ②: −i3 + i4 − i5 − i6 = 0
③: i6 + i8 = 0,
④: i7 − i8 = 0
2. Substitute branch currents and voltages with node voltages
&
Integrated Systems Lab, Kyungpook National University
%
'
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
$
Analog Integrated Circuit Design
Spice-16
①: v1 /R1 + G2 (v1 − v2 ) + (v1 − v2 )/R3 = 0
②: −(v1 − v2 )/R3 + v2 /R4 − i6 = IS5
③: i6 + (v3 − v4 )/R8 = 0,
④: i7 − (v3 − v4 )/R8 = 0
3. Append the branch equations of branch voltage sources
– Branch 6: v3 − v2 = ES6
– Branch 7: v4 − E7 (v1 − v2 ) = 0
4. MNA equations
1
1
+ G2 +
6 R1
R3
6
1
6
−
6
6
R3
6
6
0
6
6
6
6
0
6
6
4
0
−E7
2
&
'
1
R3
1
1
+
R3
R4
−G2 −
0
0
0
−1
E7
0
0
0
1
R8
1
−
R8
1
0
1
−
R8
1
R8
0
1
0
0
−1
0
1
0
0
1
0
0
0
0
3
72
7
7
76
76
76
76
76
76
76
74
7
7
5
v1
v2
v3
v4
i6
i7
3
2
0
6 IS5
7
6
7
6
7
6 0
7
7=6
6 0
7
6
7
4 ES6
5
0
Integrated Systems Lab, Kyungpook National University
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
Analog Integrated Circuit Design
MN Formulation by Inspection
3
7
7
7
7
7
7
7
5
%
$
Spice-17
❏ Node-by-node (person), element-by-element (computer) basis
❏ KCL equations for a conductance element
vj
vk
i
j
k
y
node j :
· · · + i · · · = · · · + yvj − yvk · · · = · · ·
node k :
· · · − i · · · = · · · − yvj + yvk · · · = · · ·
❏ Element stamps: row (node current), column (node voltage)
j
&
k


y
−y
−y
y


Integrated Systems Lab, Kyungpook National University
%
'
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
Element
Analog Integrated Circuit Design
Symbol
Matrix
Equation
#
ij = I
ik = −I
$
Spice-18
j
Current
source
"
j
k
I
−I
I
Source
vector
k
j
i
Voltage
source
j
k
2
j
6
k4
m 1 −1
+ E
−
k
l
32
1
76
−1 5 4
j
&
j
k
g
Admittance
k#
ij = gvjk
ik = −gvjk
7 Source
5
vector
g −g
−g g
k
%
Integrated Systems Lab, Kyungpook National University
'
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
Element
Analog Integrated Circuit Design
Symbol
j
Matrix
k
j
VCVS
k
i
l
m
l
"
j k#
g −g
−g g
j k l m
v
−
m
l
z
k
m
+ av
−
j
i
CCCS
gv
−
+
Equation
$
Spice-19
l
+
v
VCCS
&
ij = i
ik = −i
vj − vk = E
E
j
"
3
ai
m
2
l
6
m 4
−a a 1 −1
p
il = gvjk
im = −gvjk
n
3
1
7
−1 5
2 j k l m n3
j
1
k 6
−1 7
l 6
a7
4
5
m
−a
p
1 −1
−z
il = i
im = −i
vlm = avjk
ij = −ik = i
il = −im = ai
vj − vk = zi
Integrated Systems Lab, Kyungpook National University
%
'
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
Analog Integrated Circuit Design
$
Spice-20
Algorithms for Solving Linear Equations
❏ Equation
Ax = b
❏ Methods
– Iterative methods: Gauss-Jacobi, Gauss-Seidel, SOR
– Direct methods: Gaussian elimination, LU decomposition
❏ Gauss-Jacobi method
Ax = (L + D + U)x = b
k
Dxk+1 = b − (L + U)x
&
%
Integrated Systems Lab, Kyungpook National University
'
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
Analog Integrated Circuit Design
$
Spice-21
❏ Example for solving a matrix equation

4

 1

1
1 2




16
x1
 






=
3 1   x2   10 

x3
2 5
12
x0
= [ 0 0 0 ]t
x1
= [ 4 10/3 12/5 ]t
x2
= [ 59/30 18/15 4/15 ]t
x3
= [ 107/30 233/90 229/150 ]t
(1)
❏ Gauss-Seidel method
&
(L + D)x
k+1
= b − Uxk
Integrated Systems Lab, Kyungpook National University
%
'
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
$
Analog Integrated Circuit Design
Spice-22
❏ Gaussian elimination: backward substitution

a
 11

 a21

 ..
 .

an1
a12

a
 11

 0

 ..
 .

0
···
a1n

a22
..
.
···
..
.
a2n
..
.
an2
···
ann







a1n

a12
···
a22
..
.
···
..
.
a2n
..
.
0
···
ann









xn
 
 
 
=
 
 
 
x1


x1
x2
..
.
 
 
x2  
 
..  = 

. 
 
xn
b1



b2 

.. 
. 

bn
b′1





.. 
. 

′
bn
b′2
❏ LU decomposition: forward, backward substitution
&
Integrated Systems Lab, Kyungpook National University
'
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/








%
Ax = LUx ≡ Ly = b
a11 a12 · · · a1n
a21 a22
..
..
.
.
an1 an2
$
Analog Integrated Circuit Design


 
 
· · · a2n  
 
..  = 
..
. .  
 
· · · ann
l11
0 ···
l21 l22 · · ·
..
.. . .
.
.
.
0
0
..
.
ln1 ln2 · · · lnn

Spice-23
u11 u12 · · · u1n







0
..
.
u22
..
.
0
0



· · · u2n 

.. 
..
. . 

· · · unn
❏ Pivoting: interchanging rows and/or columns to bring a nonzero
element in diagonal element for solution accuracy
❏ Exploiting sparsity
&
CPU time :
O(n3 )
→ O(n1.2 )
Memory :
O(n2 )
→ O(n)
Integrated Systems Lab, Kyungpook National University
%
'
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
/*
*
*
*
*
*
*
*
*
*
*
*/
Analog Integrated Circuit Design
Sparse Matrix Package
$
Spice-24
sparse.c
Test routine for the sparse matrix package
Author:
Prof. Yu Sang Dae
Kyungpook National University
Emphasis is on demonstrating how to use the basic capability of
the matrix routines.
#include
#include
#include
#include
&
<stdio.h>
<math.h>
<sys/types.h>
"spconfig.h"
Integrated Systems Lab, Kyungpook National University
'
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
Analog Integrated Circuit Design
#include "spmatrix.h"
#include "spdefs.h"
#include "sperror.h"
%
$
Spice-25
main( argc, argv )
int
argc;
char *argv[];
{
char *Matrix;
int i, last, size, complex, error;
double RHS[10], Solution[10], iRHS[10], iSolution[10];
RealNumber *pElement;
size
= 3;
complex = 1;
Matrix = spCreate( size, complex, &error );
spErrorMessage( Matrix, stdout, NULL );
spClear( Matrix );
&
Integrated Systems Lab, Kyungpook National University
%
'
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
Analog Integrated Circuit Design
error = spAddComplexElement( Matrix,
error = spAddComplexElement( Matrix,
error = spAddComplexElement( Matrix,
spErrorMessage( Matrix, stdout, NULL
1, 1, 1.0, 1.0 );
2, 2, 1.0, 2.0 );
3, 3, 2.0, 2.0 );
);
$
Spice-26
/* spPrint( Matrix, PrintReordered, Data, Header ) */
spPrint( Matrix, 0, 1, 0 );
error = spFactor( Matrix );
/* spPrint( Matrix, 1, 1, 0 ); */
spErrorMessage( Matrix, stdout, NULL );
RHS[1] = 1.0; RHS[2] = 1.0; RHS[3] = 1.0;
iRHS[1] = 0.0; iRHS[2] = 0.0; iRHS[3] = 0.0;
spSolve( Matrix, RHS, Solution, iRHS, iSolution );
&
'
Integrated Systems Lab, Kyungpook National University
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
Analog Integrated Circuit Design
printf( "Solution\n" );
if ( complex ) for (i = 1; i <= size; i++)
printf( "%-16.9g
%-16.9gj\n", Solution[i], iSolution[i]);
else for (i = 1; i <= size; i++)
printf( "%-16.9g\n", Solution[i]);
spDestroy( Matrix );
%
$
Spice-27
}
spAddComplexElement( Matrix, Row, Col, Real, Imag )
char *Matrix;
int Row, Col;
double Real, Imag;
{
register RealNumber *pElement;
pElement = spGetElement( Matrix, Row, Col );
*pElement
+= Real;
*(pElement + 1) += Imag;
return spError( Matrix );
}
&
Integrated Systems Lab, Kyungpook National University
%
'
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
Analog Integrated Circuit Design
$
Spice-28
Solution of Nonlinear Algebraic Equations
❏ Equation
f (x) = 0
❏ Taylor expansion
f (x∗ ) = 0 = f (xk ) + f ′ (xk )(x∗ − xk ) + R(x∗ − xk )
❏ Newton method: Newton-Raphson method
f ′ (xk )∆xk = −f (xk )
xk+1 = xk + ∆xk = xk − f (xk )/f ′ (xk )
❏ Convergency: if xk is sufficiently close to the solution, the NR
method has quadratic convergence.
&
ǫk+1 = |xk+1 − x∗ | ≤ βǫ2k
%
Integrated Systems Lab, Kyungpook National University
'
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
Analog Integrated Circuit Design
$
Spice-29
❏ Convergence criteria: relative error tolerence ER , absolute error
tolerence EA
|∆xk | = |xk+1 − xk | < ǫ = ER |xk+1 | + EA
❏ Global methods: convergence from almost any starting point
– Controlled NR method
xk+1 = xk + αk ∆xk ,
0<α≤1
– Charge-up method: capacitor k nonlinear current source, inductor
+ nonlinear voltage source
xn+1 − xn
dxn+1
=
dt
∆t
– Optimization-based method
&
Minimize f =
1
F·F
2
Integrated Systems Lab, Kyungpook National University
%
'
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
Analog Integrated Circuit Design
– Damping: avoiding overflow due to exponential dependency
∆x = sign(∆x)
$
Spice-30
ln(1 + a|∆x|)
a
– Source stepping algorithm
– Gmin stepping algorithm
❏ Multidimensional NR method: Jacobian matrix J
J∆x = −F,
Jij ≡
∂Fi
∂xj
❏ Convergency of MNR method
– J is nonsingular
– J is Lipschitz continuous
&
'
k J(x∗ )−1 [J(x) − J(x∗ )] k ≤ βk x − x∗ k
Integrated Systems Lab, Kyungpook National University
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
Analog Integrated Circuit Design
Stamps of Nonlinear Elements
%
$
Spice-31
❏ ∆x : x formulation
J∆x = −F
:
Jk xk+1 = Jk xk − Fk
❏ Companion models: linearized equivalent circuits for nonlinear and
charge-storage elements
f1 (i, v) = i − iD (v) = 0,
Is
&
f2 (i, v) = i +
R
i
v
− Is = 0
R
+
v
D
−
Integrated Systems Lab, Kyungpook National University
%
'
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
$
Analog Integrated Circuit Design
Spice-32
Companion Model of Diodes
❏ A linearized circuit for the nonlinear diode equation

1

−gk
1
1/R


ik+1
vk+1


=
1
−gk
1 1/R


ik
vk


−
f1k
f2k


ik+1 = gk vk+1 + ik − gk vk − f1k ≡ gk vk+1 + Ik = −vk+1 /R + Is
iD
ik+1
Is
+
ik+1
ik
vk vk+1
Ik
&
gk
vk+1
Ik
−
RIs v
D
%
Integrated Systems Lab, Kyungpook National University
'
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
$
Analog Integrated Circuit Design
Spice-33
Stamps of Nonlinear Current Sources
❏ i is not part of x : fj = · · · + i(x) · · · , fk = · · · − i(x) · · ·
j
k
x1
∂i/∂x1
−∂i/∂x1
x2
∂i/∂x2
−∂i/∂x2
···
···
···
xn
∂i/∂xn
−∂i/∂xn
···
···
···
RHS
−i(x)
+i(x)
❏ i is part of x : fj = · · · + il (x), fk = · · · − il (x), fl (x) = i(x) − il = 0
j
k
l
x1
x2
···
xn
···
∂i/∂x1
∂i/∂x2
···
∂i/∂xn
···
il
+1
−1
−1
···
RHS
···
−fl (x)
❏ AC analysis
&
YV = (G + sC)V = I
Integrated Systems Lab, Kyungpook National University
%
'
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
/*
*
*
*
*
*
*
*
*/
Analog Integrated Circuit Design
$
Spice-34
main.c
iCADs
Integrated Circuit Analysis and Design by Simulation
Written by Prof. Yu Sang Dae
Copyright (C) 1996 Kyungpook National University.
1996. 04. 17. - 1996. 08. 18 initial version.
main( argc, argv )
int argc;
char *argv[];
{
Circuit *Ckt;
if ( argc < 2 ) {
printf( "Usage: icads file\n" );
exit( 1 );
}
&
Integrated Systems Lab, Kyungpook National University
'
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
Analog Integrated Circuit Design
%
$
Spice-35
Ckt = Malloc( Circuit );
InitSystem( Ckt );
ReadFile( argv[1], Ckt );
ParseCommand( Ckt );
MakeModelTable( Ckt );
MakeSubcktTable( Ckt );
MakeFlatCircuit( Ckt );
ParseDevice( Ckt );
SetupMatrix( Ckt );
Analysis( Ckt );
FreeCircuit( Ckt );
Free( Ckt );
return( 0 );
}
&
Integrated Systems Lab, Kyungpook National University
%
'
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
Analog Integrated Circuit Design
$
Spice-36
Homework
(1) Write MNA equations for the linear resistive circuit using element stamps.
(2) Solve the matrix equation (1) using the given sparse matrix package.
(3) Derive a damping equation for the diode current i = Is (ev/VT − 1).
∆v = VT ln(1 + ∆v/VT )
(∆v > 0)
(4) Find the element stamp of nMOS transistors.
References
[1] F. H. Branin et al., “ECAP II – A new electronic circuit analysis program”, IEEE
J. Solid-State Circuits, vol. SC-6, no. 4, pp. 146–166, 1971.
[2] L. W. Nagel and R. A. Rohrer, “Computer analysis of nonlinear circuits excluding
radiation (CANCER)”, IEEE J. Solid-State Circuits, vol. SC-6, no. 4, pp. 166–182,
1971.
&
'
Integrated Systems Lab, Kyungpook National University
♣ IsLab |
&
9
r
h
Û
¼%
›ƒ
7
½
¨z
´ Ä
»
œ@
©
/
Analog Integrated Circuit Design
%
$
Spice-37
[3] G. D. Hachtel et al., “The sparse tableau approach to network analysis and
design”, IEEE Trans. on Circuit Theory, vol. CT-18, pp. 101–108, 1971.
[4] C. W. Ho et al., “The modified nodal approach to network analysis”, IEEE Trans.
on Circuits and Systems, vol. CAS-22, No. 6, pp. 504–509, 1975.
[5] D. A. Zein, “Solution of a set of nonlinear algebraic equations for general-purpose
CAD programs”, IEEE Circuits and Devices Magazine, vol. 1, pp. 7–20, 1985.
[6] E. Ngoya, J. Rousset, and J. J. Obregon, “Newton-Raphson iteration speed-up
algorithm for the solution of nonlinear circuit equations in general-purpose CAD
programs”, IEEE Tran. on Computer-Aided Design of Integrated Circuits and
Systems, vol. 16, pp. 638–644, 1997.
[7] J. Vlach and K. Singhal, Computer Methods for Circuit Analysis and Design, Van
Nostrand Reinhold, 1983.
[8] W. J. McCalla, Fundamentals of Computer-Aided Circuit Simulation, Kluwer
Academic Publishers, 1988.
&
Integrated Systems Lab, Kyungpook National University
%
Download