diff options
Diffstat (limited to 'Windows/spice/examples/various/i(xxx)_tests.cir')
-rw-r--r-- | Windows/spice/examples/various/i(xxx)_tests.cir | 89 |
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 |