Professional Documents
Culture Documents
Lecture 6.
Simulator Architectural Design
2010-9-27 Slide 1
Outline
• Basic constructs
• Model & Device Classes
• Device loading
• Object-oriented programming
• Model Compiler
Algorithms Run
RunAnalysis
Analysis
(Fill
(Fill stampsaccording
stamps according
to
toanalysis
analysistype)
type)
Models
Save and
Present
GUI
Simulation Result
e
vic
e Each device has a list
De
of terminals.
k • A device terminal
Node /
becomes a circuit node
Terminal De when it is connected in a
i ce vi c circuit.
e v e • Multiple device terminals
D may share the same
node.
• Each device terminal
identifies a branch
current.
ice
e manages a list of nodes as
v
De
its terminals.
k
node • Such information is directly
De
ce v ice used in the MNA matrix
v i
De stamping.
R1 C1 L1
R2 C2 L2
R3 C3 L3
. . .
Instances Instances
. . .
device type
model type
2010-9-27 Lecture 06 slide 7
Model & Device Classes
Model
Model_MOS1 Model_MOS3
Model_MOS2
······ Ind
Res Cap
MOS1 MOS3
MOS MOS2
Just need one class
for MOS device Vsrc Isrc
2010-9-27 Lecture 06 ······ slide 8
Device Instances
• Device instances are divided into two
categories:
1. Instances without models
2. Instances with models
Device type
Model instances
Model_Res Model_Cap Model_Ind
Res Model_Res_Inst_2
Model_Vsrc Model_Isrc
······
Device instances with models
model[6] device[6]
device type
model type
Analysis
analysis[0]
Analysis_DC Analysis_AC Analysis_Tran analysis[1]
analysis[3]
Analysis_Noise analysis[4]
Analysis_OP
Analysis_PZ analysis[5]
analysis[6]
analysis[7]
Analysis_Disto Analysis_Sens analysis[8]
arranged in list
analysis type
M_inst-0 M_inst_0
D_inst_0
M_inst-1 M_inst_1
D_inst_1
D_inst_0
D_inst_2 M_inst-2
D_inst_1
M_inst_2
D_inst_0
MODEL
back link
Independent implementations
Verified Design
Repeat...
New Effect Found
Foundry
pi ler
om
Initial coding in MATLAB
odel C
M
New modification
Update new effects
Convert to C code
APPENDIX --
Object-Oriented Programming
2010-9-27 Slide 24
Object-Oriented Programming
• Data and functions associated with the same
object are collected in one class
So-called “encapsulation”
Provides modularity of code.