summaryrefslogtreecommitdiff
path: root/Windows/spice/examples/various/i(xxx)_tests.cir
diff options
context:
space:
mode:
Diffstat (limited to 'Windows/spice/examples/various/i(xxx)_tests.cir')
-rw-r--r--Windows/spice/examples/various/i(xxx)_tests.cir89
1 files changed, 89 insertions, 0 deletions
diff --git a/Windows/spice/examples/various/i(xxx)_tests.cir b/Windows/spice/examples/various/i(xxx)_tests.cir
new file mode 100644
index 00000000..0bbd3c2d
--- /dev/null
+++ b/Windows/spice/examples/various/i(xxx)_tests.cir
@@ -0,0 +1,89 @@
+i(XXX) test
+* Restrictions of function i(device):
+* O.K. when device and i(device) are at top level.
+* O.K. when device and i(device) are in the same
+* subcircuit at first subcircuit level.
+* O.K. when device and i(device) are in the same
+* subcircuit at some deeper subcircuit level.
+
+* source at top level, function i(XXX) at top level
+*o.k.
+R1 1 0 1
+V1 1 0 1
+R2 2 0 '5 * i(R1)'
+V2 2 0 1
+
+* source at top level, function i(XXX) at subckt level
+* geht nicht!
+*.subckt contr1 n1 n2
+*RS1 n1 n2 '6 * i(R1)'
+*.ends
+
+*XR1 3 0 contr1
+*V3 3 0 1
+
+* source at subckt level, function i(XXX) at same subckt
+* o.k.
+.subckt contr2 n1 n2
+RS1 n1 n2 '6 * i(RS2)'
+RS2 1 0 1
+V1 1 0 1
+.ends
+
+XR2 4 0 contr2
+V4 4 0 1
+
+* source at subckt level, function i(XXX) at same subckt level
+* but different subcircuit: should not do!
+* does not do!
+*.subckt contr3 n1 n2
+*RS1 n1 n2 '6 * i(RS2)'
+*.ends
+
+*XR3 5 0 contr3
+*V5 5 0 1
+
+
+* source at subckt level, function i(XXX) at top level
+* geht nicht!
+
+*.subckt contr4 n1 n2
+*RS41 n1 n2 7
+*VS41 n1 n2 1
+*.ends
+
+*XR4 6 0 contr4
+*R6 7 0 '10*i(r.xr4.rs41)'
+*V6 7 0 1
+
+
+* source at second subckt level, function i(XXX) at same subckt
+* o.k.
+.subckt contr5 n1 n2
+XR2 n1 n2 contr2
+.ends
+
+XR8 8 0 contr5
+V8 8 0 1
+
+* MOS device, first node only
+vd d 0 1
+vg g 0 1
+vb b 0 0
+vs s 0 0
+m1 d g s b n1 W=10u L=1u
+RM 10 0 '1E6 * i(M1)'
+VRM 10 0 1
+
+* reuse i(M1)
+BMM 11 0 V='1E6 * i(M1)'
+RMM 11 0 1
+
+.include modelcard.nmos
+
+.control
+op
+print i(V1) i(V2) i(V4) i(V8) i(VRM) i(BMM)
+.endc
+
+.end