Eldo Basic
Eldo Basic
1. INTRODUCTION TO ELDO
2. HOW TO RUN ELDO
3. ELDO COMMAND LINE
4. LANGUAGE SYNTAX
5. ELDO SYNTAX
6. REVIEW and LABS
7. BASIC ANALYSIS
8.WAVEFORM VIEWING
9. ELDO COMMANDS
10. MISCELLENIOUS COMMANDS
11. REVIEW and LABS
12. CONCLUSION
<file>.cir
The main Eldo control file, containing circuit NETLIST,stimuli ,models (or
corners ) and simulation control commands.
<file>.chi
ASCII output log file containing data, including results and
error messages.
<file>.cou / <file>.wdb
Binary file containing Eldo analog simulation results data
Subcircuit definition
.subckt inv 1 2 3
m2 2 1 0 0 m1 w=10u l=4u ad=100p pd=40u as=100p
m1 2 1 3 3 p1 w=15u l=4u ad=100p pd=40u as=100p
c1 2 0 0.5p
.ends inv
Subcircuit calls
x1 1 2 6 inv
x2 2 3 6 inv
x3 3 4 6 inv
cload 4 0 1p
- queue If there is no license available for Eldo, the job will be queued.
-b Runs the simulation in the background.
-l Log file name for a background simulation.
-o Output .chi file name.
-i Input .cir file name.
-float Forces Eldo to create .cou files containing FLOAT rather than
DOUBLE values, which results in saving 50% of the disk space
Earlier this switch was – couf.
A simple online help can be accessed from the command line with:
eldo -help [commands|devices|sources|manual]
Entering eldo -help without any option will display the list of available topics.
This flag can be specified without the cir_filename which is usually mandatory.
Each of the first three help options will open a link document in Acrobat Reader,
which will then allow you to select the command, device model, source or
macro model you require information on.
FIRST LINE
The first line is format free and reserved for the circuit title. This line is
mandatory and serves as the heading on graphical results output.
CONTINUATION LINES
The length of one line is limited to 256 characters. A line may be
continued by using the + character at the beginning of the new line.
COMMENTS
#Com
block
of
comment
#endcom
SCALE FACTORS
F 1e-15
P 1e-12
N 1e-09
U 1e-06
M 1e-03
K 1e+03
MEG 1e+06
G 1e+09
T 1e+12
dB for decibels
POINTS TO NOTE
10, 10A, 10V and 10Hz all represent the same number, 10.
Letters which are not scale factors are ignored if they immediately
follow a number.
M, MA, MSEC and MMHOS all represent the same scale factor, M.
Letters immediately following a scale factor are ignored.
EXPRESSIONS
expressions must be contained within curly brackets { }.
Constants and parameters may be used in expressions, together with
the built-in functions and operators
Example
r1 1 2 {3.0*p1-4k}
.model nn nmos vt0={p2-p2/2.0}
e1 1 2 value={15v*sqrt(v(3,2))}
.defwave pow=v(a)*i(b)
.param x1={2*sqrt(a)}
(i) DEFINITIONS
(ii) COMPONENTS
(iii) SOURCES
(iv) SUBCKT
NODE NAMES
ELEMENT OR COMPONENT
COMMAND LINE
starts with a dot
.Ac .Step .Plot
.Alter .Option
RESISTOR
Rxx N1 N2 VAL
Rxx NP NN VALUE={EXPR}
xx : resistor name
N1, N2 : names of the resistor nodes
VAL value of resistor in OHM at nominal temperature
Example
r1 n3 n4 3.3k
r1 1 2 value={2k*v(3, 4)*i(v5)}
CAPACITOR
Example
c1 n3 n4 0.5pf
c1 1 2 value={2n*v(3, 4)*i(v5)}
INDUCTORS
Example
l1 n13 n8 5u
l1 1 2 value={2u*v(3, 4)*i(v5)}
COUPLED INDUCTORS
Kxx lyy lzz KVAL
Example
l7 4 3 0.7m
l8 5 9 0.4m
k12 l7 l8 0.2
JUNCTION DIODES
Dxx NP NN MNAME
Example
*DIODE model definition
.model dio d level=3
...
*main circuit
d1 2 10 dio
BJT
Qxx NC NB NE [NS] MNAME
Example
*BJT model definition
.model qmod npn bf=160 rb=100 cjs=2p
+ cje=3p cjc=2p vaf=100
...
*main circuit
q23 10 24 13 qmod
Example
*JFET model definition
.model je20 njf vto=-3.2 beta=0.98m
+ lambda=2.5m cgs=5p cgd=1.3p is=7p
...
*main circuit
j1 3 2 0 je20
MOSFET
Mxx ND NG NS NB MNAME][M=VAL] W=VAL L=VAL
M= device multiplier(for devices in parallel)
Example
M1 1 2 3 3 PMOS m=1 W=1u L=0.18u
SUBCIRCUIT INSTANCE
Xxx NN {NN} NAME
Example
*SUBCKT definition
.subckt inv 1 2
r1 1 3 2k
r2 3 4 4k
r3 4 2 3k
.ends inv
...
*subcircuit instance
x1 1 48 inv
INDEPENDENT SOURCES
V1=initial value
V2=target value of pulse
Td1=rise delay time
Tau1=rise time constant
Td2=fall delay time
Tau2=fall time constant
Example :
vp n12 n13 pulse(0 5 5n 1n 1n 10n 35n)
.SUBCKT
.subckt name nn {nn}
<Circuit components>
.ends [name]
name: name of the subcircuit
nn: names of nodes of subcircuit
Ex:
.subckt inv n1 n2 n3 n4 param:p1=10u r1=8u
m1 n3 n2 n4 0 pmos w=p1 l=r1
m2 n3 n2 n1 0 nmos w=p1 l=r1
.ends inv
x1 vss n8 n9 vdd inv p1=5u r1=5u
DC ANALYSIS
OP ANALYSIS
AC ANALYSIS
TRANSIENT ANALYSIS
PLOT and PRINT
.DC:
For example : Quiescent state or operating point determination
Example: r1 1 2 p1
.param p1=1k
.dc param p1 1k 10k 1k
.OP
The operating point is saved in the .chi file which contains information
such as power dissipation, node voltages and source currents
.AC
The .AC command activates the small signal analysis which computes
the magnitude and phase of output variables as a function of frequency.
vin 2 0 ac 0.5
r1 2 3 5k
c3 3 0 0.1p
.ac dec 10 10e+4 10e+8
.plot ac vdb(3)
.TRAN
Transient output variables are calculated as a function of time over a
user specified time interval.
UIC Keyword which indicates that do not solve for the quiescent
operating point before beginning the transient analysis.
Eldo automatically initializes all the node voltages itself as
Well as any user defined initial node voltages included in a.IC
command. The UIC option is recommended for the simulation
of astable or very large digital circuits.
Examples
.tran 1ns 100ns
.plot tran v(2)
Example
.tran 2ns 100ns 50ns uic
.plot tran v(4)
PLOT
PROBE
LOW, HIGH The optional plot limits LOW and HIGH may be specified for
each of the output variables. All output variables of the same kind
(voltage for instance) to the left of a pair of plot limits (LOW, HIGH) will be
plotted using the same lower and upper bounds. If plot limits are not
specified, Eldo uses default values
Examples
.PROBE
When the circuit has more than 1000 nodes use LIMPROBE parameter
.option limprobe=100.
r1 n3 n40 1k
c1 n49 n61 5p
.probe
LIBRARY CALLS
MISCELLANEOUS COMMANDS
.LIB
.INCLUDE
.LIB <FILENAME>
.LIB mos.lib
.lib <libtype>
----
-----
.endl
Example:mosfet_hv_lib.doc
Ex:
Library mos.lib
.lib best
.model MN NMOS level=3 vt0=.5
.endl best
.lib typ
.model MN NMOS level=3 vt0=.75
.endl typ
Ex(contd..)
CIRCUIT NETLIST
.lib mos.lib typ
m1 vdd g 0 0 MN L=2U W=5U
vdd vdd 0 5
vg g 0 0.8
.INCLUDE <file_name>
.include corners
.PARAM PAR=VAL|PAR={EXPR}
.PARAM PAR=NAME
used to assign values to parameter variables used in model and device
instantiation statements.
Ex
r1 1 2 rval
c1 1 2 cval
l1 1 2 lval
.param rval=2k cval=3p lval=2u
Ex
.model mod1 nmos level=3 vto=vtodef
*main circuit
m1 1 2 3 4 mod1 w=wdef l=ldef
.param vtodef=1 wdef=20u ldef=3u
Ex
r1 1 2 p2
.param p1=1k p3={2*p1}
.param p2={sqrt(p1)+3*p3}
.ALTER
[ELEMENT]
[subckt]
[command]
[Comment]
.END
used to run eldo with modified NETLIST
.CONNECT N1 N2
.CONSO VN {VN}
The .CONSO command computes and displays the average current
flowing through the specified voltage source(s) during the simulation
period.
Ex
vdd 100 101 5v
...
.conso vdd
.tran 1ns 100ns
.DEFWAVE W_NAME=WAVE_EXPR
.defwave power=i(v1)*v(v1)
.GLOBAL NN {NN}
Specially tuned device models have been developed for use when
simulating STMicroelectronics designs.
How effective the training was for you and how you are
going to benefit after this training.