diff options
Diffstat (limited to 'Windows/spice/examples/TransmissionLines')
19 files changed, 3062 insertions, 0 deletions
diff --git a/Windows/spice/examples/TransmissionLines/cpl1_4_line.sp b/Windows/spice/examples/TransmissionLines/cpl1_4_line.sp new file mode 100644 index 00000000..7c46b655 --- /dev/null +++ b/Windows/spice/examples/TransmissionLines/cpl1_4_line.sp @@ -0,0 +1,63 @@ +MOSdriver -- 6.3inch 4 lossy line CPL model -- C load + +m1 1 2 6 1 mp1p0 w = 36.0u l=1.0u +m2 1 3 7 1 mp1p0 w = 36.0u l=1.0u +m3 1 4 8 1 mp1p0 w = 36.0u l=1.0u +m4 1 10 5 1 mp1p0 w = 36.0u l=1.0u +m5 1 11 13 1 mp1p0 w = 36.0u l=1.0u +m6 1 12 13 1 mp1p0 w = 36.0u l=1.0u + +m7 0 2 6 0 mn0p9 w = 18.0u l=0.9u +m8 0 3 7 0 mn0p9 w = 18.0u l=0.9u +m9 0 4 8 0 mn0p9 w = 18.0u l=0.9u +m10 0 10 5 0 mn0p9 w = 18.0u l=0.9u +m11 14 11 13 0 mn0p9 w = 18.0u l=0.9u +m12 0 12 14 0 mn0p9 w = 18.0u l=0.9u + +* +CN5 5 0 0.025398e-12 +CN6 6 0 0.007398e-12 +CN7 7 0 0.007398e-12 +CN8 8 0 0.007398e-12 +CN9 9 0 0.097398e-12 +CN10 10 0 0.007398e-12 +CN11 11 0 0.003398e-12 +CN12 12 0 0.004398e-12 +CN13 13 0 0.008398e-12 +CN14 14 0 0.005398e-12 + +* +P1 5 6 7 8 0 9 10 11 12 0 pline + +* +* +vdd 1 0 DC 5.0 +v3 3 0 DC 5.0 +* +VS1 2 0 PULSE ( 0 5 15.9NS 0.2NS 0.2NS 15.8NS 32NS) +VS2 4 0 PULSE (0 5 15.9NS 0.2NS 0.2NS 15.8NS 32NS ) +* +.control +TRAN 0.2N 47.9N 0 0.05N +plot V(5) V(6) V(7) V(8) V(9) V(10) V(11) V(12) +.endc +.MODEL mn0p9 NMOS VTO=0.8 KP=48U GAMMA=0.30 PHI=0.55 LAMBDA=0.00 CGSO=0 CGDO=0 ++CJ=0 CJSW=0 TOX=18000N LD=0.0U +.MODEL mp1p0 PMOS VTO=-0.8 KP=21U GAMMA=0.45 PHI=0.61 LAMBDA=0.00 CGSO=0 CGDO=0 ++CJ=0 CJSW=0 TOX=18000N LD=0.0U +.MODEL PLINE cpl ++R=0.03 0 0 0 ++ 0.03 0 0 ++ 0.03 0 ++ 0.03 ++L=9e-9 5.4e-9 0 0 ++ 9e-9 5.4e-9 0 ++ 9e-9 5.4e-9 ++ 9e-9 ++G=0 0 0 0 0 0 0 0 0 0 ++C=3.5e-13 -3e-14 0 0 ++ 3.5e-13 -3e-14 0 ++ 3.5e-13 -3e-14 ++ 3.5e-13 ++length=6.3 +.END diff --git a/Windows/spice/examples/TransmissionLines/cpl2_2_line.sp b/Windows/spice/examples/TransmissionLines/cpl2_2_line.sp new file mode 100644 index 00000000..713e3334 --- /dev/null +++ b/Windows/spice/examples/TransmissionLines/cpl2_2_line.sp @@ -0,0 +1,46 @@ +MOSdriver -- 24inch 2 lossy lines CPL model -- C load + +m1 0 268 299 0 mn0p9 w = 18.0u l=1.0u +m2 299 267 748 0 mn0p9 w = 18.0u l=1.0u +m3 0 168 648 0 mn0p9 w = 18.0u l=0.9u +m4 1 268 748 1 mp1p0 w = 36.0u l=1.0u +m5 1 267 748 1 mp1p0 w = 36.0u l=1.0u +m6 1 168 648 1 mp1p0 w = 36.0u l=1.0u +* +CN648 648 0 0.025398e-12 +CN651 651 0 0.007398e-12 +CN748 748 0 0.025398e-12 +CN751 751 0 0.009398e-12 +CN299 299 0 0.005398e-12 +* +P1 648 748 0 651 751 0 PLINE +* +vdd 1 0 DC 5.0 +VK 267 0 DC 5.0 +* +*VS 168 0 PWL 4 15.9N 0.0 16.1n 5.0 31.9n 5.0 32.1n 0.0 +*VS 268 0 PWL 4 15.9N 0.0 16.1n 5.0 31.9n 5.0 32.1n 0.0 +* +VS1 168 0 PULSE (0 5 15.9N 0.2N 0.2N 15.8N 60N) +VS2 268 0 PULSE (0 5 15.9N 0.2N 0.2N 15.8N 60N) +* +.control +TRAN 0.2N 47.9NS 0 1N +plot v(648) v(651) v(751) +.endc +* +.MODEL PLINE CPL ++R=0.2 0 ++ 0.2 ++L=9.13e-9 3.3e-9 ++ 9.13e-9 ++G=0 0 0 ++C=3.65e-13 -9e-14 ++ 3.65e-13 ++length=24 +******************* MODEL SPECIFICATION ********************** +.MODEL mn0p9 NMOS VTO=0.8 KP=48U GAMMA=0.30 PHI=0.55 LAMBDA=0.00 CGSO=0 CGDO=0 ++ CJ=0 CJSW=0 TOX=18000N LD=0.0U +.MODEL mp1p0 PMOS VTO=-0.8 KP=21U GAMMA=0.45 PHI=0.61 LAMBDA=0.00 CGSO=0 CGDO=0 ++ CJ=0 CJSW=0 TOX=18000N LD=0.0U +.END diff --git a/Windows/spice/examples/TransmissionLines/cpl3_4_line.sp b/Windows/spice/examples/TransmissionLines/cpl3_4_line.sp new file mode 100644 index 00000000..d5715481 --- /dev/null +++ b/Windows/spice/examples/TransmissionLines/cpl3_4_line.sp @@ -0,0 +1,37 @@ +6.3inch 4 lossy lines CPL model -- R load + +Ra 1 2 1K +Rb 0 3 1K +Rc 0 4 1K +Rd 0 5 1K +Re 6 0 1Meg +Rf 7 0 1Meg +Rg 8 0 1Meg +Rh 9 0 1Meg +* +P1 2 3 4 5 0 6 7 8 9 0 LOSSYMODE +* +* +VS1 1 0 PWL(15.9NS 0.0 16.1Ns 5.0 31.9Ns 5.0 32.1Ns 0.0) +* +.control +TRAN 0.2NS 50NS 0 0.05N +PLOT V(1) V(2) V(6) V(7) V(8) V(9) +.endc +.MODEL LOSSYMODE CPL ++R=0.3 0 0 0 ++ 0.3 0 0 ++ 0.3 0 ++ 0.3 ++L=9e-9 5.4e-9 0 0 ++ 9e-9 5.4e-9 0 ++ 9e-9 5.4e-9 ++ 9e-9 ++G=0 0 0 0 0 0 0 0 0 0 ++C=3.5e-13 -3e-14 0 0 ++ 3.5e-13 -3e-14 0 ++ 3.5e-13 -3e-14 ++ 3.5e-13 ++length=6.3 + +.END diff --git a/Windows/spice/examples/TransmissionLines/cpl4_txl_2_line.sp b/Windows/spice/examples/TransmissionLines/cpl4_txl_2_line.sp new file mode 100644 index 00000000..986c9b63 --- /dev/null +++ b/Windows/spice/examples/TransmissionLines/cpl4_txl_2_line.sp @@ -0,0 +1,378 @@ +BJTdriver -- 2in st. lin -- 20in coupled line CPL -- 2in st line -- DiodeCircuit + +* This unclassified circuit is from Raytheon, courtesy Gerry Marino. +* +* _______ +* -------- 2in _________________ 2in | | +* | BJT |______| |______|Diode| +* | |------| |------| | +* | Drvr | line | 2-wire | line |rcvr.| +* -------- | coupled | |_____| +* | transmission | +* |-/\/\/\/\----| line |-------\/\/\/\/\----| +* | 50ohms | | 50ohms | +* | | | | +* Ground ----------------- Ground +* +* +* Each inch of the lossy line is modelled by 10 LRC lumps in the +* Raytheon model. + +* The line parameters (derived from the Raytheon input file) are: +* L = 9.13nH per inch +* C = 3.65pF per inch +* R = 0.2 ohms per inch +* K = 0.482 [coupling coefficient; K = M/sqrt(L1*L2)] +* Cc = 1.8pF per inch +* +* coupled ltra model generated using the standalone program +* multi_decomp + +* the circuit +*tran 0.1ns 60ns + +v1 1 0 0v pulse(0 4 1ns 1ns 1ns 20ns 40ns) +*v1 1 0 4v pulse(4 0 1ns 1ns 1ns 20ns 40ns) +vcc 10 0 5v + +* series termination +*x1 1 oof 10 bjtdrvr +*rseries oof 2 50 + +x1 1 2 10 bjtdrvr +rt1 3 0 50 + + +* convolution model +x2 2 3 4 5 conv2wetcmodel + +* rlc segments model +*x2 2 3 4 5 rlc2wetcmodel + +x3 4 dioload +rt2 5 0 50 + + + +.model qmodn npn(bf=100 rb=100 cje=0.09375pF cjc=0.28125pF is=1e-12 ++pe=0.5 pc=0.5) + +.model qmodpd npn(bf=100 rb=100 cje=0.08187pF cjc=0.2525pF is=1e-12 ++pe=0.5 pc=0.5) +.model qmodpdmine npn(bf=100 rb=100 cje=0.08187pF cjc=0.05pF is=1e-12 ++pe=0.5 pc=0.5) + +.model dmod1 d(n=2.25 is=1.6399e-4 bv=10) + +.model dmod2 d + +.model dmod d(vj=0.3v) + +.model diod1 d(tt=0.75ns vj=0.6 rs=909 bv=10) + +.model diod2 d(tt=0.5ns vj=0.3 rs=100 bv=10) + +.options acct reltol=1e-3 abstol=1e-12 +.control +tran 0.1ns 60ns 0 0.35N +plot v(2) v(4) v(5) +.endc + +* bjt driver - 19=input, 268=output, 20=vcc; wierd node numbers from +* the Raytheon file + +.subckt bjtdrvr 19 268 20 +q1 22 18 13 qmodn +q2 18 16 13 qmodn +qd2 21 9 0 qmodn +q4 14 14 0 qmodn +q3 16 15 14 qmodpd +q5 8 13 17 qmodn +q6 25 12 0 qmodn +q7 6 17 0 qmodpd +qd1 26 10 0 qmodn +q8 7 11 10 qmodn +*q10 268 17 0 qmodpd +q10 268 17 0 qmodpdmine +q9 7 10 268 qmodn + +d1 0 19 dmod1 +d2 18 19 dmod2 +d3 13 19 dmod +dq1 18 22 dmod +dq2 16 18 dmod +d502 9 21 dmod +dq3 15 16 dmod +d10 24 8 dmod +d4 15 6 dmod +dq6 12 25 dmod +dq7 17 6 dmod +dd1 17 10 dmod +d7 11 6 dmod +dd2 17 26 dmod +d9 23 6 dmod +dq8 11 7 dmod +d501 17 268 dmod +dq9 10 7 dmod +d14 20 27 dmod +d8 0 268 dmod + +r1 18 20 6k +r2 22 20 2.2k +r4 0 13 7k +rd1 9 13 2k +rd2 21 13 3k +r3 16 20 10k +r5 15 20 15k +r9 0 17 4k +r6 24 20 750 +r10 12 17 2k +r12 24 11 1.5k +r11 25 17 3k +r15 23 20 10k +r13 0 10 15k +r14 7 27 12 + +.ends bjtdrvr + +* subckt dioload - diode load: input=28, output=4, vcc=5 + +.subckt dioload 28 +*comment out everything in dioload except d5 and r503, and watch +* the difference in results obtained between a tran 0.1ns 20ns and +* a tran 0.01ns 20ns +vccint 5 0 5v + +c1 28 0 5pF +r503 0 4 5.55 +r4 0 28 120k +r5 1 5 7.5k + +d5 4 28 diod2 +d1 1 28 diod1 +d4 2 0 diod1 +d3 3 2 diod1 +d2 1 3 diod1 +.ends dioload + +* subckt rlclump - one RLC lump of the lossy line + +.subckt rlclump 1 2 +*r1 1 3 0.02 +*c1 3 0 0.365pF +*l1 3 2 0.913nH + +l1 1 3 0.913nH +c1 2 0 0.365pF +r1 3 2 0.02 + +*r1 1 3 0.01 +*c1 3 0 0.1825pF +*l1 3 4 0.4565nH +*r2 4 5 0.01 +*c2 5 0 0.1825pF +*l2 5 2 0.4565nH + +*c1 1 0 0.365pF +*l1 1 2 0.913nH +.ends lump + +.subckt rlconeinch 1 2 +x1 1 3 rlclump +x2 3 4 rlclump +x3 4 5 rlclump +x4 5 6 rlclump +x5 6 7 rlclump +x6 7 8 rlclump +x7 8 9 rlclump +x8 9 10 rlclump +x9 10 11 rlclump +x10 11 2 rlclump +.ends rlconeinch + +.subckt rlctwoinch 1 2 +x1 1 3 rlconeinch +x2 3 2 rlconeinch +.ends rlctwoinch + +.subckt rlcfourinch 1 2 +x1 1 3 rlconeinch +x2 3 4 rlconeinch +x3 4 5 rlconeinch +x4 5 2 rlconeinch +.ends rlcfourinch + +.subckt rlcfiveinch 1 2 +x1 1 3 rlconeinch +x2 3 4 rlconeinch +x3 4 5 rlconeinch +x4 5 6 rlconeinch +x5 6 2 rlconeinch +.ends rlcfiveinch + +.subckt rlctwentyrlcfourinch 1 2 +x1 1 3 rlcfiveinch +x2 3 4 rlcfiveinch +x3 4 5 rlcfiveinch +x4 5 6 rlcfiveinch +x5 6 2 rlcfourinch +.ends rlctwentyrlcfourinch + +.subckt rlclumpstub A B C D +x1 A int1 rlcfiveinch +x2 int1 int2 rlcfiveinch +x3 int2 1 rlcfiveinch +x4 1 2 rlcfourinch +x5 1 int3 rlcfiveinch +x6 int3 B rlconeinch +x7 2 C rlcfiveinch +x8 2 D rlcfourinch +.ends rlclumpstub + +.subckt ltrastub A B C D +yy1 A 0 1 0 ylline15in +yy2 1 0 B 0 ylline6in +yy3 1 0 2 0 ylline4in +yy4 2 0 C 0 ylline5in +yy5 2 0 D 0 ylline4in +.ends ltrastub + +*modelling using R and lossless lines + +*5 segments per inch +.model yllfifth txl r=0 g=0 l=9.13e-9 c=3.65e-12 length=0.2 + +.subckt xlump 1 2 +y1 1 0 3 0 yllfifth +r1 2 3 0.04 +.ends xlump + +.subckt xoneinch 1 2 +x1 1 3 xlump +x2 3 4 xlump +x3 4 5 xlump +x4 5 6 xlump +x5 6 2 xlump +*x5 6 7 xlump +*x6 7 8 xlump +*x7 8 9 xlump +*x8 9 10 xlump +*x9 10 11 xlump +*x10 11 2 xlump +.ends xoneinch + +.subckt xFourinch 1 2 +x1 1 3 xoneinch +x2 3 4 xoneinch +x3 4 5 xoneinch +x4 5 2 xoneinch +.ends xfourinch + +.subckt xfiveinch 1 2 +x1 1 3 xoneinch +x2 3 4 xoneinch +x3 4 5 xoneinch +x4 5 6 xoneinch +x5 6 2 xoneinch +.ends xfiveinch + +.subckt xlumpstub A B C D +x1 A int1 xfiveinch +x2 int1 int2 xfiveinch +x3 int2 1 xfiveinch +x4 1 2 xfourinch +x5 1 int3 xfiveinch +x6 int3 B xoneinch +x7 2 C xfiveinch +x8 2 D xfourinch +.ends xlumpstub + +* modelling a 2 wire coupled system using RLC lumps +* 10 segments per inch +* +* 1---xxxxx----2 +* 3---xxxxx----4 + +.subckt rlc2wlump 1 3 2 4 +l1 1 5 0.913nH +c1 2 0 0.365pF +r1 5 2 0.02 +l2 3 6 0.913nH +c2 4 0 0.365pF +r2 6 4 0.02 +cmut 2 4 0.18pF +k12 l1 l2 0.482 +.ends rlc2wlump + +.subckt rlc2woneinch 1 2 3 4 +x1 1 2 5 6 rlc2wlump +x2 5 6 7 8 rlc2wlump +x3 7 8 9 10 rlc2wlump +x4 9 10 11 12 rlc2wlump +x5 11 12 13 14 rlc2wlump +x6 13 14 15 16 rlc2wlump +x7 15 16 17 18 rlc2wlump +x8 17 18 19 20 rlc2wlump +x9 19 20 21 22 rlc2wlump +x10 21 22 3 4 rlc2wlump +.ends rlc2woneinch + +.subckt rlc2wfiveinch 1 2 3 4 +x1 1 2 5 6 rlc2woneinch +x2 5 6 7 8 rlc2woneinch +x3 7 8 9 10 rlc2woneinch +x4 9 10 11 12 rlc2woneinch +x5 11 12 3 4 rlc2woneinch +.ends rlc2wfiveinch + +.subckt rlc2wtwentyinch 1 2 3 4 +x1 1 2 5 6 rlc2wfiveinch +x2 5 6 7 8 rlc2wfiveinch +x3 7 8 9 10 rlc2wfiveinch +x4 9 10 3 4 rlc2wfiveinch +.ends rlc2wtwentyinch + +.subckt rlc2wetcmodel 1 2 3 4 +x1 1 5 rlctwoinch +x2 5 2 6 4 rlc2wtwentyinch +x3 6 3 rlctwoinch +.ends rlc2wetcmodel + +* Subcircuit conv2wtwentyinch +* conv2wtwentyinch is a subcircuit that models a 2-conductor transmission line with +* the following parameters: l=9.13e-09, c=3.65e-12, r=0.2, g=0, +* inductive_coeff_of_coupling k=0.482, inter-line capacitance cm=1.8e-12, +* length=20. Derived parameters are: lm=4.40066e-09, ctot=5.45e-12. +* +* It is important to note that the model is a simplified one - the +* following assumptions are made: 1. The self-inductance l, the +* self-capacitance ctot (note: not c), the series resistance r and the +* parallel capacitance g are the same for all lines, and 2. Each line +* is coupled only to the two lines adjacent to it, with the same +* coupling parameters cm and lm. The first assumption imply that edge +* effects have to be neglected. The utility of these assumptions is +* that they make the sL+R and sC+G matrices symmetric, tridiagonal and +* Toeplitz, with useful consequences. +* +* It may be noted that a symmetric two-conductor line will be +* accurately represented by this model. + +* swec model +.model plines cpl ++R=0.2 0 ++ 0.2 ++L=9.13e-9 4.4e-9 ++ 9.13e-9 ++G=0 0 0 ++C=5.45e-12 -1.8e-12 ++ 5.45e-12 ++length=20 + +.model yconvtwoinch txl r=0.2 g=0 l=9.13e-9 c=3.65e-12 length=2.0 +.subckt conv2wetcmodel 1 2 3 4 +y1 1 0 5 0 yconvtwoinch +p2 5 2 0 6 4 0 plines +y2 6 0 3 0 yconvtwoinch +.ends conv2wetcmodel + +.end diff --git a/Windows/spice/examples/TransmissionLines/cpl_ibm1.sp b/Windows/spice/examples/TransmissionLines/cpl_ibm1.sp new file mode 100644 index 00000000..1077d00e --- /dev/null +++ b/Windows/spice/examples/TransmissionLines/cpl_ibm1.sp @@ -0,0 +1,82 @@ +6-line coupled multiconductor with ECL drivers +vemm mm 0 DC -0.4 +vepp pp 0 DC 0.4 +vein_left lin 0 PULSE (-0.4 0.4 0N 1N 1N 7N 200N) +vein_right rin 0 PULSE (-0.4 0.4 2N 1N 1N 7N 200N) + +* upper 2 lines +x1 lin 0 1 1outn ECL +x2 mm 0 2 2outn ECL +x7 7 0 7r 7routn ECL +x8 8 0 8r 8routn ECL + +c7r 7r 0 0.1P +c8r 8r 0 0.1P + +* lower 2 lines +x11 pp 0 11 11outn ECL +x12 rin 0 12 12outn ECL +x5 5 0 5l 5loutn ECL +x6 6 0 6l 6loutn ECL + +c5l 5l 0 0.1P +c6l 6l 0 0.1P + +p1 1 2 3 4 5 6 0 7 8 9 10 11 12 0 pline + +.model pline cpl ++C = 0.900000P -0.657947P -0.0767356P -0.0536544P -0.0386514P -0.0523990P ++ 1.388730P -0.607034P -0.0597635P -0.0258851P -0.0273442P ++ 1.39328P -0.625675P -0.0425551P -0.0319791P ++ 1.07821P -0.255048P -0.0715824P ++ 1.06882P -0.692091P ++ 0.900000P ++L = 0.868493E-7 0.781712E-7 0.748428E-7 0.728358E-7 0.700915E-7 0.692178E-7 ++ 0.866074E-7 0.780613E-7 0.748122E-7 0.711591E-7 0.701023E-7 ++ 0.865789E-7 0.781095E-7 0.725431E-7 0.711986E-7 ++ 0.867480E-7 0.744242E-7 0.725826E-7 ++ 0.868022E-7 0.782377E-7 ++ 0.868437E-7 ++R = 0.2 0 0 0 0 0 ++ 0.2 0 0 0 0 ++ 0.2 0 0 0 ++ 0.2 0 0 ++ 0.2 0 ++ 0.2 ++G = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++ ++length = 2 + +*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +.SUBCKT ECL EIN GND 9 8 +* Input-GND-OUTP-OUTN +RIN 1 2 0.077K +REF 5 6 0.077K +R1 7 N 1.0K +R2 P 3 0.4555K +R3 P 4 0.4555K +R4 8 N 0.615K +R5 9 N 0.615K +RL1 8 GND 0.093K +RL2 9 GND 0.093K +LIN EIN 1 0.01U +LREF 5 GND 0.01U +CIN 1 GND 0.68P +CL1 8 GND 1P +CL2 9 GND 1P +Q1 3 2 7 JCTRAN +Q2 4 6 7 JCTRAN +Q3 P 3 8 JCTRAN +Q4 P 4 9 JCTRAN +VEP P GND DC 1.25 +VEN N GND DC -3 +.ENDS ECL + +.control +TRAN 0.1N 20N +plot V(3) V(5) V(8) V(11) V(12) +.endc +.MODEL JCTRAN NPN BF=150 VAF=20 IS=4E-17 RB=300 RC=100 CJE=30F CJC=30F ++ CJS=40F VJE=0.6 VJC=0.6 VJS=0.6 MJE=0.5 MJC=0.5 ++ MJS=0.5 TF=16P TR=1N +.END diff --git a/Windows/spice/examples/TransmissionLines/cpl_ibm2.sp b/Windows/spice/examples/TransmissionLines/cpl_ibm2.sp new file mode 100644 index 00000000..8aeff85d --- /dev/null +++ b/Windows/spice/examples/TransmissionLines/cpl_ibm2.sp @@ -0,0 +1,22 @@ +Simple coupled transmissionlines +VES IN 0 PULSE (0 1 0N 1.5N 1.5N 4.5N 200N) +R1 IN V1 50 +R2 V2 0 10 +p1 V1 V2 0 V3 V4 0 cpl1 +.model cpl1 cpl ++R = 0.5 0 ++ 0.5 ++L = 247.3e-9 31.65e-9 ++ 247.3e-9 ++C = 31.4e-12 -2.45e-12 ++ 31.4e-12 ++G = 0 0 0 ++length = 0.3048 +*length = 0.6096 +R3 V3 0 100 +R4 V4 0 100 +.control +TRAN 0.1N 20N +plot v(in) v(v1) v(v3) +.endc +.END diff --git a/Windows/spice/examples/TransmissionLines/cpl_ibm3.sp b/Windows/spice/examples/TransmissionLines/cpl_ibm3.sp new file mode 100644 index 00000000..0a0d5e22 --- /dev/null +++ b/Windows/spice/examples/TransmissionLines/cpl_ibm3.sp @@ -0,0 +1,70 @@ +Mixed single and coupled transmission lines +c1g 1 0 1P +l11a 1 1a 6e-9 +r1a7 1a 7 0.025K +rin6 in 6 0.075K +l67 6 7 10e-9 +c7g 7 0 1P +P2 1 7 0 2 8 0 PLINE +.MODEL PLINE CPL ++R = 2.25 0 ++ 2.25 ++L = 0.6e-6 0.05e-6 ++ 0.6e-6 ++G = 0 0 0 ++C = 1.2e-9 -0.11e-9 ++ 1.2e-9 ++length = 0.03 +c2g 2 0 0.5P +r2g 2 0 0.05K +r23 2 3 0.025K +l34 3 4 5e-9 +c4g 4 0 2P +l89 8 9 10e-9 +c9g 9 0 1P +Y1 9 0 10 0 txline +.model txline txl R = 1 L =0.6e-6 G = 0 C= 1.0e-9 length=0.04 +l1011 10 11 10e-9 +c11g 11 0 0.5P +r11g 11 0 0.05K +r1112 11 12 0.025K +l1213 12 13 5e-9 +c13g 13 0 2P +r1116 11 16 0.025K +l1617 16 17 5e-9 +c17g 17 0 2P +P1 4 2 13 17 0 5 14 15 18 0 PLINE1 + +.MODEL PLINE1 CPL ++R = 3.5 0 0 0 ++ 3.5 0 0 ++ 3.5 0 ++ 3.5 ++L = ++1e-6 0.11e-6 0.03e-6 0 ++ 1e-6 0.11e-6 0.03e-6 ++ 1e-6 0.11e-6 ++ 1e-6 ++G = 0 0 0 0 0 0 0 0 0 0 ++C = ++1.5e-9 -0.17e-9 -0.03e-9 0 ++ 1.5e-9 -0.17e-9 -0.03e-9 ++ 1.5e-9 -0.17e-9 ++ 1.5e-9 ++length = 0.02 + +D1 5 0 dmod +D2 14 0 dmod +D3 15 0 dmod +D4 18 0 dmod + +.model dmod d + +VES in 0 PULSE (0 5 0 1.1ns 0.1ns 0.9ns 200ns) + +.control +TRAN 0.2N 10.0N +plot v(3) v(6) v(7) v(8) v(11) v(15) +.endc + +.END diff --git a/Windows/spice/examples/TransmissionLines/ltra1_1_line.sp b/Windows/spice/examples/TransmissionLines/ltra1_1_line.sp new file mode 100644 index 00000000..2d9c93bb --- /dev/null +++ b/Windows/spice/examples/TransmissionLines/ltra1_1_line.sp @@ -0,0 +1,19 @@ +MOSdriver -- lossy line LTRA model -- C load +m5 0 168 2 0 mn0p9 w = 18.0u l=0.9u +m6 1 168 2 1 mp1p0 w = 36.0u l=1.0u +CN2 2 0 0.025398e-12 +CN3 3 0 0.007398e-12 +o1 2 0 3 0 lline +vdd 1 0 dc 5.0 +VS 168 0 PULSE (0 5 15.9NS 0.2NS 0.2NS 15.8NS 32NS ) +.control +TRAN 0.2N 47N 0 0.1N +plot v(2) v(3) ylimit -0.5 5 +.endc +.MODEL mn0p9 NMOS VTO=0.8 KP=48U GAMMA=0.30 PHI=0.55 ++LAMBDA=0.00 CGSO=0 CGDO=0 CJ=0 CJSW=0 TOX=18000N LD=0.0U +.MODEL mp1p0 PMOS VTO=-0.8 KP=21U GAMMA=0.45 PHI=0.61 ++LAMBDA=0.00 CGSO=0 CGDO=0 CJ=0 CJSW=0 TOX=18000N LD=0.0U +.model lline ltra rel=1 r=12.45 g=0 l=8.972e-9 c=0.468e-12 ++len=16 steplimit compactrel=1.0e-3 compactabs=1.0e-14 +.end diff --git a/Windows/spice/examples/TransmissionLines/ltra1_4_line.sp b/Windows/spice/examples/TransmissionLines/ltra1_4_line.sp new file mode 100644 index 00000000..8d30a757 --- /dev/null +++ b/Windows/spice/examples/TransmissionLines/ltra1_4_line.sp @@ -0,0 +1,144 @@ +MOSdriver -- 6.3inch 4 lossy line LTRA model -- C load + +m1 1 2 6 1 mp1p0 w = 36.0u l=1.0u +m2 1 3 7 1 mp1p0 w = 36.0u l=1.0u +m3 1 4 8 1 mp1p0 w = 36.0u l=1.0u +m4 1 10 5 1 mp1p0 w = 36.0u l=1.0u +m5 1 11 13 1 mp1p0 w = 36.0u l=1.0u +m6 1 12 13 1 mp1p0 w = 36.0u l=1.0u + +m7 0 2 6 0 mn0p9 w = 18.0u l=0.9u +m8 0 3 7 0 mn0p9 w = 18.0u l=0.9u +m9 0 4 8 0 mn0p9 w = 18.0u l=0.9u +m10 0 10 5 0 mn0p9 w = 18.0u l=0.9u +m11 14 11 13 0 mn0p9 w = 18.0u l=0.9u +m12 0 12 14 0 mn0p9 w = 18.0u l=0.9u + + +* +CN5 5 0 0.025398e-12 +CN6 6 0 0.007398e-12 +CN7 7 0 0.007398e-12 +CN8 8 0 0.007398e-12 +CN9 9 0 0.097398e-12 +CN10 10 0 0.007398e-12 +CN11 11 0 0.003398e-12 +CN12 12 0 0.004398e-12 +CN13 13 0 0.008398e-12 +CN14 14 0 0.005398e-12 + +* +* Subcircuit test +* test is a subcircuit that models a 4-conductor transmission line with +* the following parameters: l=9e-09, c=2.9e-13, r=0.3, g=0, +* inductive_coeff_of_coupling k=0.6, inter-line capacitance cm=3e-14, +* length=6.3. Derived parameters are: lm=5.4e-09, ctot=3.5e-13. +* +* It is important to note that the model is a simplified one - the +* following assumptions are made: 1. The self-inductance l, the +* self-capacitance ctot (note: not c), the series resistance r and the +* parallel capacitance g are the same for all lines, and 2. Each line +* is coupled only to the two lines adjacent to it, with the same +* coupling parameters cm and lm. The first assumption implies that edge +* effects have to be neglected. The utility of these assumptions is +* that they make the sL+R and sC+G matrices symmetric, tridiagonal and +* Toeplitz, with useful consequences (see "Efficient Transient +* Simulation of Lossy Interconnect", by J.S. Roychowdhury and +* D.O Pederson, Proc. DAC 91). + +* It may be noted that a symmetric two-conductor line is +* represented accurately by this model. + +* Subckt node convention: +* +* |--------------------------| +* 1-----| |-----n+1 +* 2-----| |-----n+2 +* : | n-wire multiconductor | : +* : | line | : +* n-1-----|(node 0=common gnd plane) |-----2n-1 +* n-----| |-----2n +* |--------------------------| + + +* Lossy line models +.model mod1_test ltra rel=1.2 nocontrol r=0.3 l=2.62616456193e-10 g=0 c=3.98541019688e-13 len=6.3 +.model mod2_test ltra rel=1.2 nocontrol r=0.3 l=5.662616446e-09 g=0 c=3.68541019744e-13 len=6.3 +.model mod3_test ltra rel=1.2 nocontrol r=0.3 l=1.23373835171e-08 g=0 c=3.3145898046e-13 len=6.3 +.model mod4_test ltra rel=1.2 nocontrol r=0.3 l=1.7737383521e-08 g=0 c=3.01458980439e-13 len=6.3 + +* subcircuit m_test - modal transformation network for test +.subckt m_test 1 2 3 4 5 6 7 8 +v1 9 0 0v +v2 10 0 0v +v3 11 0 0v +v4 12 0 0v +f1 0 5 v1 0.371748033738 +f2 0 5 v2 -0.601500954587 +f3 0 5 v3 0.601500954587 +f4 0 5 v4 -0.371748036544 +f5 0 6 v1 0.60150095443 +f6 0 6 v2 -0.371748035044 +f7 0 6 v3 -0.371748030937 +f8 0 6 v4 0.601500957402 +f9 0 7 v1 0.601500954079 +f10 0 7 v2 0.37174803072 +f11 0 7 v3 -0.371748038935 +f12 0 7 v4 -0.601500955482 +f13 0 8 v1 0.371748035626 +f14 0 8 v2 0.601500956073 +f15 0 8 v3 0.601500954504 +f16 0 8 v4 0.371748032386 +e1 13 9 5 0 0.371748033909 +e2 14 13 6 0 0.601500954587 +e3 15 14 7 0 0.601500955639 +e4 1 15 8 0 0.371748036664 +e5 16 10 5 0 -0.60150095443 +e6 17 16 6 0 -0.371748035843 +e7 18 17 7 0 0.371748032386 +e8 2 18 8 0 0.601500957319 +e9 19 11 5 0 0.601500955131 +e10 20 19 6 0 -0.371748032169 +e11 21 20 7 0 -0.371748037896 +e12 3 21 8 0 0.601500954513 +e13 22 12 5 0 -0.371748035746 +e14 23 22 6 0 0.60150095599 +e15 24 23 7 0 -0.601500953534 +e16 4 24 8 0 0.371748029317 +.ends m_test + +* Subckt test +.subckt test 1 2 3 4 5 6 7 8 +x1 1 2 3 4 9 10 11 12 m_test +o1 9 0 13 0 mod1_test +o2 10 0 14 0 mod2_test +o3 11 0 15 0 mod3_test +o4 12 0 16 0 mod4_test +x2 5 6 7 8 13 14 15 16 m_test +.ends test +* +x1 5 6 7 8 9 10 11 12 test +* +* +vdd 1 0 PULSE (0 5 0Ns 0.1Ns 0.1Ns 600Ns 800Ns) +v3 3 0 PULSE (0 5 0Ns 0.1Ns 0.1Ns 600Ns 800Ns) + +.model mn0p9 nmos LEVEL=1 vto=0.8V kp=48u gamma=0.3 phi=0.55 lambda=0.00 ++ PHI=0.55 LAMBDA=0.00 CGSO=0 CGDO=0 CGBO=0 ++ CJ=0 CJSW=0 TOX=18000N NSUB=1E16 LD=0.0U + +.model mp1p0 pmos vto=-0.8V kp=21u gamma=0.45 phi=0.61 lambda=0.00 ++ PHI=0.61 LAMBDA=0.00 CGSO=0 CGDO=0 CGBO=0 ++ CJ=0 CJSW=0 TOX=18000N NSUB=3E16 LD=0.0U + +VS1 2 0 PULSE (0 5 15.9Ns 0.2Ns 0.2Ns 15.8Ns 32Ns) +VS2 4 0 PULSE (0 5 15.9Ns 0.2Ns 0.2Ns 15.8Ns 32Ns) + +.control +TRAN 0.1N 47.9N +plot v(5) v(6) v(7) v(8) v(9) v(10) v(11) v(12) +.endc +* + +.END + diff --git a/Windows/spice/examples/TransmissionLines/ltra2_2_line.sp b/Windows/spice/examples/TransmissionLines/ltra2_2_line.sp new file mode 100644 index 00000000..2a4ceaa7 --- /dev/null +++ b/Windows/spice/examples/TransmissionLines/ltra2_2_line.sp @@ -0,0 +1,24 @@ +MOSdriver -- 2 lossy lines LTRA model -- C load +m5 0 168 2 0 mn0p9 w = 18.0u l=0.9u +m6 1 168 2 1 mp1p0 w = 36.0u l=1.0u +m1 0 3 4 0 mn0p9 w = 18.0u l=0.9u +m2 1 3 4 1 mp1p0 w = 36.0u l=1.0u +CN2 2 0 0.025398e-12 +CN3 3 0 0.007398e-12 +CN4 4 0 0.025398e-12 +CN5 5 0 0.007398e-12 +o1 2 0 3 0 lline +o2 4 0 5 0 lline +vdd 1 0 dc 5.0 +VS 168 0 PULSE (0 5 15.9NS 0.2NS 0.2NS 15.8NS 32NS ) +.control +TRAN 0.2N 47N 0 0.1N +plot v(2) v(3) v(4) v(5) +.endc +.MODEL mn0p9 NMOS VTO=0.8 KP=48U GAMMA=0.30 PHI=0.55 ++LAMBDA=0.00 CGSO=0 CGDO=0 CJ=0 CJSW=0 TOX=18000N LD=0.0U +.MODEL mp1p0 PMOS VTO=-0.8 KP=21U GAMMA=0.45 PHI=0.61 ++LAMBDA=0.00 CGSO=0 CGDO=0 CJ=0 CJSW=0 TOX=18000N LD=0.0U +.model lline ltra rel=1 r=12.45 g=0 l=8.972e-9 c=0.468e-12 ++len=16 steplimit compactrel=1.0e-3 compactabs=1.0e-14 +.end diff --git a/Windows/spice/examples/TransmissionLines/ltra3_2_line.sp b/Windows/spice/examples/TransmissionLines/ltra3_2_line.sp new file mode 100644 index 00000000..1a756520 --- /dev/null +++ b/Windows/spice/examples/TransmissionLines/ltra3_2_line.sp @@ -0,0 +1,98 @@ +MOSdriver -- 24inch 2 lossy lines LTRA model -- C load + +m1 0 268 299 0 mn0p9 w = 18.0u l=1.0u +m2 299 267 748 0 mn0p9 w = 18.0u l=1.0u +m3 0 168 648 0 mn0p9 w = 18.0u l=0.9u +m4 1 268 748 1 mp1p0 w = 36.0u l=1.0u +m5 1 267 748 1 mp1p0 w = 36.0u l=1.0u +m6 1 168 648 1 mp1p0 w = 36.0u l=1.0u + +* +CN648 648 0 0.025398e-12 +CN651 651 0 0.007398e-12 +CN748 748 0 0.025398e-12 +CN751 751 0 0.009398e-12 +CN299 299 0 0.005398e-12 +* +* Subcircuit test +* test is a subcircuit that models a 2-conductor transmission line with +* the following parameters: l=9.13e-09, c=2.75e-13, r=0.2, g=0, +* inductive_coeff_of_coupling k=0.36144, inter-line capacitance cm=9e-14, +* length=24. Derived parameters are: lm=3.29995e-09, ctot=3.65e-13. +* +* It is important to note that the model is a simplified one - the +* following assumptions are made: 1. The self-inductance l, the +* self-capacitance ctot (note: not c), the series resistance r and the +* parallel capacitance g are the same for all lines, and 2. Each line +* is coupled only to the two lines adjacent to it, with the same +* coupling parameters cm and lm. The first assumption implies that edge +* effects have to be neglected. The utility of these assumptions is +* that they make the sL+R and sC+G matrices symmetric, tridiagonal and +* Toeplitz, with useful consequences (see "Efficient Transient +* Simulation of Lossy Interconnect", by J.S. Roychowdhury and +* D.O Pederson, Proc. DAC 91). + +* It may be noted that a symmetric two-conductor line is +* represented accurately by this model. + +* Subckt node convention: +* +* |--------------------------| +* 1-----| |-----n+1 +* 2-----| |-----n+2 +* : | n-wire multiconductor | : +* : | line | : +* n-1-----|(node 0=common gnd plane) |-----2n-1 +* n-----| |-----2n +* |--------------------------| + + +* Lossy line models +.model mod1_test ltra rel=1.2 nocontrol r=0.2 l=5.83005279316e-09 g=0 c=4.55000000187e-13 len=24 +.model mod2_test ltra rel=1.2 nocontrol r=0.2 l=1.24299471863e-08 g=0 c=2.75000000373e-13 len=24 + +* subcircuit m_test - modal transformation network for test +.subckt m_test 1 2 3 4 +v1 5 0 0v +v2 6 0 0v +f1 0 3 v1 0.707106779721 +f2 0 3 v2 -0.707106782652 +f3 0 4 v1 0.707106781919 +f4 0 4 v2 0.707106780454 +e1 7 5 3 0 0.707106780454 +e2 1 7 4 0 0.707106782652 +e3 8 6 3 0 -0.707106781919 +e4 2 8 4 0 0.707106779721 +.ends m_test + +* Subckt test +.subckt test 1 2 3 4 +x1 1 2 5 6 m_test +o1 5 0 7 0 mod1_test +o2 6 0 8 0 mod2_test +x2 3 4 7 8 m_test +.ends test +* +x1 648 748 651 751 test +* +* +vdd 1 0 DC 5.0 +VK 267 0 DC 5.0 +* +VS1 168 0 PULSE (0 5 15.9N 0.2N 0.2N 15.8N 60N) +VS2 268 0 PULSE (0 5 15.9N 0.2N 0.2N 15.8N 60N) +* +.control +TRAN 0.2N 47.9NS +PLOT v(648) v(651) v(751) +.endc +* +.model mn0p9 nmos LEVEL=1 vto=0.8V kp=48u gamma=0.3 phi=0.55 lambda=0.0 ++ PHI=0.55 LAMBDA=0.00 CGSO=0 CGDO=0 CGBO=0 ++ CJ=0 CJSW=0 TOX=18000N NSUB=1E16 LD=0.0U + +.model mp1p0 pmos LEVEL=1 vto=-0.8V kp=21u gamma=0.45 phi=0.61 lambda=0.0 ++ PHI=0.61 LAMBDA=0.00 CGSO=0 CGDO=0 CGBO=0 ++ CJ=0 CJSW=0 TOX=18000N NSUB=3E16 LD=0.0U + +.END diff --git a/Windows/spice/examples/TransmissionLines/ltra4_1_line.sp b/Windows/spice/examples/TransmissionLines/ltra4_1_line.sp new file mode 100644 index 00000000..8dc8ada6 --- /dev/null +++ b/Windows/spice/examples/TransmissionLines/ltra4_1_line.sp @@ -0,0 +1,239 @@ + BJTdriver -- 24inch lossy line LTRA model -- DiodeCircuit + +* This unclassified circuit is from Raytheon, courtesy Gerry Marino. +* It consists of a BJT driver connected by a 24 inch lossy line to a +* passive load consisting mostly of diodes. Each inch +* of the lossy line is modelled by 10 LRC lumps in the Raytheon +* model. + +* The line parameters (derived from the Raytheon input file) are: +* L = 9.13nH per inch +* C = 3.65pF per inch +* R = 0.2 ohms per inch + +* the circuit + +v1 1 0 0v pulse(0 4 1ns 1ns 1ns 20ns 40ns) + +vcc 10 0 5v +*rseries 1 2 5 +x1 1 2 10 bjtdrvr +*t1 2 0 3 0 z0=50.0136 td=4.38119ns rel=10 +o2 2 0 3 0 lline1 +*x2 2 3 oneinch +*x2 100 101 twentyfourinch +*x2 100 101 xtwentyfourinch +vtest1 2 100 0 +vtest2 101 3 0 +x3 3 4 10 dioload +*rl 3 0 5 +*dl 0 3 diod2 + +.model lline1 ltra rel=1 r=0.2 g=0 l=9.13e-9 c=3.65e-12 len=24 steplimit + +.model qmodn npn(bf=100 rb=100 cje=0.09375pF cjc=0.28125pF is=1e-12 ++pe=0.5 pc=0.5) + +.model qmodpd npn(bf=100 rb=100 cje=0.08187pF cjc=0.2525pF is=1e-12 ++pe=0.5 pc=0.5) +.model qmodpdmine npn(bf=100 rb=100 cje=0.08187pF cjc=0.05pF is=1e-12 ++pe=0.5 pc=0.5) + +.model dmod1 d(n=2.25 is=1.6399e-4 bv=10) + +.model dmod2 d + +.model dmod d(vj=0.3v) + +.model diod1 d(tt=0.75ns vj=0.6 rs=909 bv=10) + +.model diod2 d(tt=0.5ns vj=0.3 rs=100 bv=10) + +.options acct ++reltol=1e-3 abstol=1e-14 +.control +tran 0.1ns 60ns +plot v(1) v(2) v(3) +.endc + +* bjt driver - 19=input, 268=output, 20=vcc; wierd node numbers from +* the Raytheon file + +.subckt bjtdrvr 19 268 20 +q1 22 18 13 qmodn +q2 18 16 13 qmodn +qd2 21 9 0 qmodn +q4 14 14 0 qmodn +q3 16 15 14 qmodpd +q5 8 13 17 qmodn +q6 25 12 0 qmodn +q7 6 17 0 qmodpd +qd1 26 10 0 qmodn +q8 7 11 10 qmodn +q10 268 17 0 qmodpdmine +*q10 268 17 0 qmodpd +q9 7 10 268 qmodn + +d1 0 19 dmod1 +d2 18 19 dmod2 +d3 13 19 dmod +dq1 18 22 dmod +dq2 16 18 dmod +d502 9 21 dmod +dq3 15 16 dmod +d10 24 8 dmod +d4 15 6 dmod +dq6 12 25 dmod +dq7 17 6 dmod +dd1 17 10 dmod +d7 11 6 dmod +dd2 17 26 dmod +d9 23 6 dmod +dq8 11 7 dmod +d501 17 268 dmod +dq9 10 7 dmod +d14 20 27 dmod +d8 0 268 dmod + +r1 18 20 6k +r2 22 20 2.2k +r4 0 13 7k +rd1 9 13 2k +rd2 21 13 3k +r3 16 20 10k +r5 15 20 15k +r9 0 17 4k +r6 24 20 750 +r10 12 17 2k +r12 24 11 1.5k +r11 25 17 3k +r15 23 20 10k +r13 0 10 15k +r14 7 27 12 + +.ends bjtdrvr + +* subckt dioload - diode load: input=28, output=4, vcc=5 + +.subckt dioload 28 4 5 +*comment out everything in dioload except d5 and r503, and watch +* the difference in results obtained between a tran 0.1ns 20ns and +* a tran 0.01ns 20ns +c1 28 0 5pF +r503 0 4 5.55 +r4 0 28 120k +r5 1 5 7.5k + +d5 4 28 diod2 +d1 1 28 diod1 +d4 2 0 diod1 +d3 3 2 diod1 +d2 1 3 diod1 +.ends dioload + +* subckt lump - one RLC lump of the lossy line + +*10 segments per inch +.subckt lump 1 2 +*r1 1 3 0.02 +*c1 3 0 0.365pF +*l1 3 2 0.913nH + +l1 1 3 0.913nH +c1 2 0 0.365pF +r1 3 2 0.02 + +*r1 1 3 0.01 +*c1 3 0 0.1825pF +*l1 3 4 0.4565nH +*r2 4 5 0.01 +*c2 5 0 0.1825pF +*l2 5 2 0.4565nH + +*c1 1 0 0.365pF +*l1 1 2 0.913nH +.ends lump + +.subckt oneinch 1 2 +x1 1 3 lump +x2 3 4 lump +x3 4 5 lump +x4 5 6 lump +x5 6 7 lump +x6 7 8 lump +x7 8 9 lump +x8 9 10 lump +x9 10 11 lump +x10 11 2 lump +.ends oneinch + +.subckt fourinch 1 2 +x1 1 3 oneinch +x2 3 4 oneinch +x3 4 5 oneinch +x4 5 2 oneinch +.ends fourinch + +.subckt fiveinch 1 2 +x1 1 3 oneinch +x2 3 4 oneinch +x3 4 5 oneinch +x4 5 6 oneinch +x5 6 2 oneinch +.ends fiveinch + +.subckt twentyfourinch 1 2 +x1 1 3 fiveinch +x2 3 4 fiveinch +x3 4 5 fiveinch +x4 5 6 fiveinch +x5 6 2 fourinch +.ends twentyfourinch + +*modelling using R and lossless lines +*5 segments per inch +.model llfifth ltra nocontrol noprint rel=10 r=0 g=0 l=9.13e-9 ++c=3.65e-12 len=0.2 steplimit quadinterp +.subckt xlump 1 2 +o1 1 0 3 0 llfifth +r1 2 3 0.04 +.ends xlump + +.subckt xoneinch 1 2 +x1 1 3 xlump +x2 3 4 xlump +x3 4 5 xlump +x4 5 6 xlump +x5 6 2 xlump +*x5 6 7 xlump +*x6 7 8 xlump +*x7 8 9 xlump +*x8 9 10 xlump +*x9 10 11 xlump +*x10 11 2 xlump +.ends xoneinch + +.subckt xfourinch 1 2 +x1 1 3 xoneinch +x2 3 4 xoneinch +x3 4 5 xoneinch +x4 5 2 xoneinch +.ends xfourinch + +.subckt xfiveinch 1 2 +x1 1 3 xoneinch +x2 3 4 xoneinch +x3 4 5 xoneinch +x4 5 6 xoneinch +x5 6 2 xoneinch +.ends xfiveinch + +.subckt xtwentyfourinch 1 2 +x1 1 3 xfiveinch +x2 3 4 xfiveinch +x3 4 5 xfiveinch +x4 5 6 xfiveinch +x5 6 2 xfourinch +.ends xtwentyfourinch + +.end diff --git a/Windows/spice/examples/TransmissionLines/ltra5_1_line.sp b/Windows/spice/examples/TransmissionLines/ltra5_1_line.sp new file mode 100644 index 00000000..35459404 --- /dev/null +++ b/Windows/spice/examples/TransmissionLines/ltra5_1_line.sp @@ -0,0 +1,530 @@ + Example 3 for interconnect simulation + +* From neug1, Mosaic aluminum lines. 2um thick, 11um wide. Assuming +* 10um above the ground. +* Material: aluminum; resistivity (sigma) = 2.74uohm-cm = 2.74e-8 ohm-m +* Dielectric: SiO2, dielectric constant (epsilon) =3.7 +* epsilon0 = 8.85e-12 MKS units +* mu0 = 4e-7*PI +* speed of light in free space = 1/sqrt(mu0*epsilon0) = 2.9986e8 MKS units +* +* Line parameter calculations: +* capacitance: parallel plate +* C = epsilon*epsilon0 * A / l +* C = 3.7*8.85e-12 * 11e-6 * 1(metre) / 10e-6 = 36.02e-12 F/m +* + 30% = 46.8e-12 F/m = 0.468pF/cm +* +* C_freespace = 46.8e-12/epsilon = 12.65e-12 F/m +* speed of light in free space v0 = 2.9986e8 = 1/sqrt(L0*C0) +* => L0 = 1/C0*v0^2 +* L0 = 1/(12.65e-12 * 8.9916e16) = 1/113.74e4 = 0.008792e-4 H/m +* = 0.8792 uH/m = 8.792nH/cm +* +* R = rho * l / A = 2.74e-8 * 1 / (11e-6*2e-6) = 1245.45 ohms/m +* = 12.45ohms/cm +* +* transmission line parameters: +* nominal z0 = sqrt(L/C) = 137 ohms +* td = sqrt(LC) = 64.14e-12 secs/cm = 0.064ns/cm +* +* + + +vcc vcc 0 5 + +v1 1 0 0v pulse(0 5 0.1ns 0.1ns 0.1ns 1ns 100ns) +rs 1 2 10 +xdrv 1 2 vcc bjtdrvr +xrcv 3 4 vcc bjtdrvr +xrcv 3 4 vcc dioload +d1 3 vcc diod +d2 0 3 diod +cl 3 0 1pF +o1 2 0 3 0 lline +*x1 2 3 sixteencm +x1 2 3 xonecm + +.model diod d +.model lline ltra rel=1.8 r=12.45 g=0 l=8.792e-9 c=0.468e-12 len=16 steplimit + +.control +* 1cm +* 2cm +* 4cm +* 6cm +* 8cm +* 10cm +* 12cm +*tran 0.001ns 15ns 0 0.1ns +* 24cm +tran 0.001ns 10ns 0 0.1ns +* onecm10 +*tran 0.001ns 10ns 0 0.01ns +plot v(1) v(2) v(3) +.endc + + +* 1. define the subckt r10 to be one tenth of the resistance per cm. +* 2. define the subckt onecm to be one of onecm10 (modelled using +* 10 segments), onecm8, onecm4, onecm2 and lump1. Then use +* the subckts onecm, fourcm, fivecm, tencm, twelvecm, +* twentyfourcm in the circuit. The line is modelled as rlc segments. +* 3. define the subckt xonecm to be one of xonecm10, xonecm8, +* xonecm4, xonecm2 and xlump1. Use the subckts xonecm, +* xfourcm, xfivecm, xtencm, xtwelvecm, xtwentyfourcm in the +* circuit. The line will be modelled as r-lossless lumps. + +.subckt xonecm 1 2 +*x1 1 2 xlump1 +x1 1 2 xonecm4 +.ends xonecm + +.subckt onecm 1 2 +*x1 1 2 lump1 +x1 1 2 onecm4 +.ends onecm + +.subckt r10 1 2 +r1 1 2 1.245 +.ends r10 + +* ECL driver and diode receiver models - from Raytheon + +.model qmodn npn(bf=100 rb=100 cje=0.09375pF cjc=0.28125pF is=1e-12 ++pe=0.5 pc=0.5) + +.model qmodpd npn(bf=100 rb=100 cje=0.08187pF cjc=0.2525pF is=1e-12 ++pe=0.5 pc=0.5) + +.model qmodpdmine npn(bf=100 rb=100 cje=0.08187pF cjc=0.05pF is=1e-12 ++pe=0.5 pc=0.5) + +.model dmod1 d(n=2.25 is=1.6399e-4 bv=10) + +.model dmod2 d + +.model dmod d(vj=0.3v) + +.model diod1 d(tt=0.75ns vj=0.6 rs=909 bv=10) + +.model diod2 d(tt=0.5ns vj=0.3 rs=100 bv=10) + +* bjt driver - 19=input, 268=output, 20=vcc; wierd node numbers from +* the Raytheon file + +.subckt bjtdrvr 19 268 20 +q1 22 18 13 qmodn +q2 18 16 13 qmodn +qd2 21 9 0 qmodn +q4 14 14 0 qmodn +q3 16 15 14 qmodpd +q5 8 13 17 qmodn +q6 25 12 0 qmodn +q7 6 17 0 qmodpd +qd1 26 10 0 qmodn +q8 7 11 10 qmodn +q10 268 17 0 qmodpdmine +*q10 268 17 0 qmodpd +q9 7 10 268 qmodn + +d1 0 19 dmod1 +d2 18 19 dmod2 +d3 13 19 dmod +dq1 18 22 dmod +dq2 16 18 dmod +d502 9 21 dmod +dq3 15 16 dmod +d10 24 8 dmod +d4 15 6 dmod +dq6 12 25 dmod +dq7 17 6 dmod +dd1 17 10 dmod +d7 11 6 dmod +dd2 17 26 dmod +d9 23 6 dmod +dq8 11 7 dmod +d501 17 268 dmod +dq9 10 7 dmod +d14 20 27 dmod +d8 0 268 dmod + +r1 18 20 6k +r2 22 20 2.2k +r4 0 13 7k +rd1 9 13 2k +rd2 21 13 3k +r3 16 20 10k +r5 15 20 15k +r9 0 17 4k +r6 24 20 750 +r10 12 17 2k +r12 24 11 1.5k +r11 25 17 3k +r15 23 20 10k +r13 0 10 15k +r14 7 27 12 + +.ends bjtdrvr + +* subckt dioload - diode load: input=28, output=4, vcc=5 + +.subckt dioload 28 4 5 +c1 28 0 5pF +r503 0 4 5.55 +r400 0 28 120k +r500 1 5 7.5k + +d5 4 28 diod2 +d1 1 28 diod1 +d4 2 0 diod1 +d3 3 2 diod1 +d2 1 3 diod1 +.ends dioload + +* End ECL driver and Diode receiver models from Raytheon + +*10 segments per cm +.subckt lump10 1 2 +l1 1 3 0.0.8792nH +c1 2 0 0.0468pF +x1 3 2 r10 +.ends lump10 + +*1 segment per cm +.subckt lump1 1 2 +l1 1 3 8.792nH +c1 2 0 0.468pF +x1 3 4 r10 +x2 4 5 r10 +x3 5 6 r10 +x4 6 7 r10 +x5 7 8 r10 +x6 8 9 r10 +x7 9 10 r10 +x8 10 11 r10 +x9 11 12 r10 +x10 12 2 r10 +.ends lump1 + +*2 segments per cm +.subckt lump2 1 2 +l1 1 3 4.396nH +c1 2 0 0.234pF +x1 3 4 r10 +x2 4 5 r10 +x3 5 6 r10 +x4 6 7 r10 +x5 7 2 r10 +.ends lump2 + +*4 segments per cm +.subckt lump4 1 2 +l1 1 3 2.198nH +c1 2 0 0.117pF +x1 3 4 r10 +x2 4 5 r10 +x3 5 2 r10 +x4 5 2 r10 +.ends lump4 + +*8 segments per cm +.subckt lump8 1 2 +l1 1 3 1.099nH +c1 2 0 0.0585pF +x1 3 4 r10 +x2 4 2 r10 +x3 4 2 r10 +x4 4 2 r10 +x5 4 2 r10 +.ends lump8 + +.subckt onecm10 1 2 +x1 1 3 lump10 +x2 3 4 lump10 +x3 4 5 lump10 +x4 5 6 lump10 +x5 6 7 lump10 +x6 7 8 lump10 +x7 8 9 lump10 +x8 9 10 lump10 +x9 10 11 lump10 +x10 11 2 lump10 +.ends onecm10 + +.subckt onecm8 1 2 +x1 1 3 lump8 +x2 3 4 lump8 +x3 4 5 lump8 +x4 5 6 lump8 +x5 6 7 lump8 +x6 7 8 lump8 +x7 8 9 lump8 +x8 9 2 lump8 +.ends onecm8 + +.subckt onecm4 1 2 +x1 1 3 lump4 +x2 3 4 lump4 +x3 4 5 lump4 +x4 5 2 lump4 +.ends onecm4 + +.subckt onecm2 1 2 +x1 1 3 lump2 +x2 3 2 lump2 +.ends onecm2 + +.subckt twocm 1 2 +x1 1 3 onecm +x2 3 2 onecm +.ends twocm + +.subckt threecm 1 2 +x1 1 3 onecm +x2 3 4 onecm +x3 4 2 onecm +.ends threecm + +.subckt fourcm 1 2 +x1 1 3 onecm +x2 3 4 onecm +x3 4 5 onecm +x4 5 2 onecm +.ends fourcm + +.subckt fivecm 1 2 +x1 1 3 onecm +x2 3 4 onecm +x3 4 5 onecm +x4 5 6 onecm +x5 6 2 onecm +.ends fivecm + +.subckt sixcm 1 2 +x1 1 3 fivecm +x2 3 2 onecm +.ends sixcm + +.subckt sevencm 1 2 +x1 1 3 sixcm +x2 3 2 onecm +.ends sevencm + +.subckt eightcm 1 2 +x1 1 3 sevencm +x2 3 2 onecm +.ends eightcm + +.subckt ninecm 1 2 +x1 1 3 eightcm +x2 3 2 onecm +.ends ninecm + +.subckt tencm 1 2 +x1 1 3 fivecm +x2 3 2 fivecm +.ends tencm + +.subckt elevencm 1 2 +x1 1 3 tencm +x2 3 2 onecm +.ends elevencm + +.subckt twelvecm 1 2 +x1 1 3 tencm +x2 3 4 onecm +x3 4 2 onecm +.ends twelvecm + +.subckt sixteencm 1 2 +x1 1 3 eightcm +x2 3 2 eightcm +.ends sixteencm + +.subckt twentyfourcm 1 2 +x1 1 3 twelvecm +x2 3 2 twelvecm +.ends twentyfourcm + + +*modelling using R and lossless lines +* 10 segments per cm +.model lless10 ltra nocontrol rel=10 r=0 g=0 l=8.792e-9 ++c=0.468e-12 len=0.1 steplimit quadinterp + +* 8 segments per cm +.model lless8 ltra nocontrol rel=10 r=0 g=0 l=8.792e-9 ++c=0.468e-12 len=0.125 steplimit quadinterp + +* 4 segments per cm +.model lless4 ltra nocontrol rel=10 r=0 g=0 l=8.792e-9 ++c=0.468e-12 len=0.25 steplimit quadinterp + +* 2 segments per cm +.model lless2 ltra nocontrol rel=10 r=0 g=0 l=8.792e-9 ++c=0.468e-12 len=0.5 steplimit quadinterp + +* 1 segment per cm +.model lless1 ltra nocontrol rel=10 r=0 g=0 l=8.792e-9 ++c=0.468e-12 len=1 steplimit quadinterp + +*10 segments per cm +.subckt xlump10 1 2 +o1 1 0 3 0 lless10 +x1 3 2 r10 +.ends xlump10 + +*1 segment per cm +.subckt xlump1 1 2 +o1 1 0 3 0 lless1 +x1 3 4 r10 +x2 4 5 r10 +x3 5 6 r10 +x4 6 7 r10 +x5 7 8 r10 +x6 8 9 r10 +x7 9 10 r10 +x8 10 11 r10 +x9 11 12 r10 +x10 12 2 r10 +.ends xlump1 + +*2 segments per cm +.subckt xlump2 1 2 +o1 1 0 3 0 lless2 +x1 3 4 r10 +x2 4 5 r10 +x3 5 6 r10 +x4 6 7 r10 +x5 7 2 r10 +.ends xlump2 + +*4 segments per cm +.subckt xlump4 1 2 +o1 1 0 3 0 lless4 +x1 3 4 r10 +x2 4 5 r10 +x3 5 2 r10 +x4 5 2 r10 +.ends xlump4 + +*8 segments per cm +.subckt xlump8 1 2 +o1 1 0 3 0 lless8 +x1 3 4 r10 +x2 4 2 r10 +x3 4 2 r10 +x4 4 2 r10 +x5 4 2 r10 +.ends xlump8 + +.subckt xonecm10 1 2 +x1 1 3 xlump10 +x2 3 4 xlump10 +x3 4 5 xlump10 +x4 5 6 xlump10 +x5 6 7 xlump10 +x6 7 8 xlump10 +x7 8 9 xlump10 +x8 9 10 xlump10 +x9 10 11 xlump10 +x10 11 2 xlump10 +.ends xonecm10 + +.subckt xonecm8 1 2 +x1 1 3 xlump8 +x2 3 4 xlump8 +x3 4 5 xlump8 +x4 5 6 xlump8 +x5 6 7 xlump8 +x6 7 8 xlump8 +x7 8 9 xlump8 +x8 9 2 xlump8 +.ends xonecm8 + +.subckt xonecm4 1 2 +x1 1 3 xlump4 +x2 3 4 xlump4 +x3 4 5 xlump4 +x4 5 2 xlump4 +.ends xonecm4 + +.subckt xonecm2 1 2 +x1 1 3 xlump2 +x2 3 2 xlump2 +.ends xonecm2 + + +.subckt xtwocm 1 2 +x1 1 3 xonecm +x2 3 2 xonecm +.ends xtwocm + +.subckt xthreecm 1 2 +x1 1 3 xonecm +x2 3 4 xonecm +x3 4 2 xonecm +.ends xthreecm + +.subckt xfourcm 1 2 +x1 1 3 xonecm +x2 3 4 xonecm +x3 4 5 xonecm +x4 5 2 xonecm +.ends xfourcm + +.subckt xfivecm 1 2 +x1 1 3 xonecm +x2 3 4 xonecm +x3 4 5 xonecm +x4 5 6 xonecm +x5 6 2 xonecm +.ends xfivecm + +.subckt xsixcm 1 2 +x1 1 3 xfivecm +x2 3 2 xonecm +.ends xsixcm + +.subckt xsevencm 1 2 +x1 1 3 xsixcm +x2 3 2 xonecm +.ends xsevencm + +.subckt xeightcm 1 2 +x1 1 3 xsevencm +x2 3 2 xonecm +.ends xeightcm + +.subckt xninecm 1 2 +x1 1 3 xeightcm +x2 3 2 xonecm +.ends xninecm + +.subckt xtencm 1 2 +x1 1 3 xfivecm +x2 3 2 xfivecm +.ends xtencm + +.subckt xelevencm 1 2 +x1 1 3 xtencm +x2 3 2 xonecm +.ends xelevencm + +.subckt xtwelvecm 1 2 +x1 1 3 xtencm +x2 3 4 xonecm +x3 4 2 xonecm +.ends xtwelvecm + +.subckt xsixteencm 1 2 +x1 1 3 xeightcm +x2 3 2 xeightcm +.ends xsixteencm + +.subckt xtwentyfourcm 1 2 +x1 1 3 xtwelvecm +x2 3 2 xtwelvecm +.ends xtwentyfourcm + +.end diff --git a/Windows/spice/examples/TransmissionLines/ltra6_2_line.sp b/Windows/spice/examples/TransmissionLines/ltra6_2_line.sp new file mode 100644 index 00000000..45279129 --- /dev/null +++ b/Windows/spice/examples/TransmissionLines/ltra6_2_line.sp @@ -0,0 +1,394 @@ +BJTdriver -- 2in st. lin -- 20in coupled line LTRA -- 2in st line -- DiodeCircuit + +* This unclassified circuit is from Raytheon, courtesy Gerry Marino. +* +* _______ +* -------- 2in _________________ 2in | | +* | BJT |______| |______|Diode| +* | |------| |------| | +* | Drvr | line | 2-wire | line |rcvr.| +* -------- | coupled | |_____| +* | transmission | +* |-/\/\/\/\----| line |-------\/\/\/\/\----| +* | 50ohms | | 50ohms | +* | | | | +* Ground ----------------- Ground +* +* +* Each inch of the lossy line is modelled by 10 LRC lumps in the +* Raytheon model. + +* The line parameters (derived from the Raytheon input file) are: +* L = 9.13nH per inch +* C = 3.65pF per inch +* R = 0.2 ohms per inch +* K = 0.482 [coupling coefficient; K = M/sqrt(L1*L2)] +* Cc = 1.8pF per inch +* +* coupled ltra model generated using the standalone program +* multi_decomp + +* the circuit + +v1 1 0 0v pulse(0 4 1ns 1ns 1ns 20ns 40ns) + +vcc 10 0 5v + +* series termination +*x1 1 oof 10 bjtdrvr +*rseries oof 2 50 + +x1 1 2 10 bjtdrvr +rt1 3 0 50 + + +* convolution model +x2 2 3 4 5 conv2wetcmodel + +* rlc segments model +*x2 2 3 4 5 rlc2wetcmodel + +x3 4 dioload +rt2 5 0 50 + + + +.model qmodn npn(bf=100 rb=100 cje=0.09375pF cjc=0.28125pF is=1e-12 ++pe=0.5 pc=0.5) + +.model qmodpd npn(bf=100 rb=100 cje=0.08187pF cjc=0.2525pF is=1e-12 ++pe=0.5 pc=0.5) + +.model qmodpdmine npn(bf=100 rb=100 cje=0.08187pF cjc=0.05pF is=1e-12 ++pe=0.5 pc=0.5) + +.model dmod1 d(n=2.25 is=1.6399e-4 bv=10) + +.model dmod2 d + +.model dmod d(vj=0.3v) + +.model diod1 d(tt=0.75ns vj=0.6 rs=909 bv=10) + +.model diod2 d(tt=0.5ns vj=0.3 rs=100 bv=10) + +.options acct reltol=1e-3 abstol=1e-12 +.control +tran 0.1ns 60ns +plot v(2) v(4) v(5) +.endc + +* bjt driver - 19=input, 268=output, 20=vcc; wierd node numbers from +* the Raytheon file + +.subckt bjtdrvr 19 268 20 +q1 22 18 13 qmodn +q2 18 16 13 qmodn +qd2 21 9 0 qmodn +q4 14 14 0 qmodn +q3 16 15 14 qmodpd +q5 8 13 17 qmodn +q6 25 12 0 qmodn +q7 6 17 0 qmodpd +qd1 26 10 0 qmodn +q8 7 11 10 qmodn +*q10 268 17 0 qmodpd +q10 268 17 0 qmodpdmine +q9 7 10 268 qmodn + +d1 0 19 dmod1 +d2 18 19 dmod2 +d3 13 19 dmod +dq1 18 22 dmod +dq2 16 18 dmod +d502 9 21 dmod +dq3 15 16 dmod +d10 24 8 dmod +d4 15 6 dmod +dq6 12 25 dmod +dq7 17 6 dmod +dd1 17 10 dmod +d7 11 6 dmod +dd2 17 26 dmod +d9 23 6 dmod +dq8 11 7 dmod +d501 17 268 dmod +dq9 10 7 dmod +d14 20 27 dmod +d8 0 268 dmod + +r1 18 20 6k +r2 22 20 2.2k +r4 0 13 7k +rd1 9 13 2k +rd2 21 13 3k +r3 16 20 10k +r5 15 20 15k +r9 0 17 4k +r6 24 20 750 +r10 12 17 2k +r12 24 11 1.5k +r11 25 17 3k +r15 23 20 10k +r13 0 10 15k +r14 7 27 12 + +.ends bjtdrvr + +* subckt dioload - diode load: input=28, output=4, vcc=5 + +.subckt dioload 28 +*comment out everything in dioload except d5 and r503, and watch +* the difference in results obtained between a tran 0.1ns 20ns and +* a tran 0.01ns 20ns +vccint 5 0 5v + +c1 28 0 5pF +r503 0 4 5.55 +r4 0 28 120k +r5 1 5 7.5k + +d5 4 28 diod2 +d1 1 28 diod1 +d4 2 0 diod1 +d3 3 2 diod1 +d2 1 3 diod1 +.ends dioload + +* subckt rlclump - one RLC lump of the lossy line + +.subckt rlclump 1 2 +*r1 1 3 0.02 +*c1 3 0 0.365pF +*l1 3 2 0.913nH + +l1 1 3 0.913nH +c1 2 0 0.365pF +r1 3 2 0.02 + +*r1 1 3 0.01 +*c1 3 0 0.1825pF +*l1 3 4 0.4565nH +*r2 4 5 0.01 +*c2 5 0 0.1825pF +*l2 5 2 0.4565nH + +*c1 1 0 0.365pF +*l1 1 2 0.913nH +.ends lump + +.subckt rlconeinch 1 2 +x1 1 3 rlclump +x2 3 4 rlclump +x3 4 5 rlclump +x4 5 6 rlclump +x5 6 7 rlclump +x6 7 8 rlclump +x7 8 9 rlclump +x8 9 10 rlclump +x9 10 11 rlclump +x10 11 2 rlclump +.ends rlconeinch + +.subckt rlctwoinch 1 2 +x1 1 3 rlconeinch +x2 3 2 rlconeinch +.ends rlctwoinch + +.subckt rlcfourinch 1 2 +x1 1 3 rlconeinch +x2 3 4 rlconeinch +x3 4 5 rlconeinch +x4 5 2 rlconeinch +.ends rlcfourinch + +.subckt rlcfiveinch 1 2 +x1 1 3 rlconeinch +x2 3 4 rlconeinch +x3 4 5 rlconeinch +x4 5 6 rlconeinch +x5 6 2 rlconeinch +.ends rlcfiveinch + +.subckt rlctwentyrlcfourinch 1 2 +x1 1 3 rlcfiveinch +x2 3 4 rlcfiveinch +x3 4 5 rlcfiveinch +x4 5 6 rlcfiveinch +x5 6 2 rlcfourinch +.ends rlctwentyrlcfourinch + +.subckt rlclumpstub A B C D +x1 A int1 rlcfiveinch +x2 int1 int2 rlcfiveinch +x3 int2 1 rlcfiveinch +x4 1 2 rlcfourinch +x5 1 int3 rlcfiveinch +x6 int3 B rlconeinch +x7 2 C rlcfiveinch +x8 2 D rlcfourinch +.ends rlclumpstub + +.subckt ltrastub A B C D +o1 A 0 1 0 lline15in +o2 1 0 B 0 lline6in +o3 1 0 2 0 lline4in +o4 2 0 C 0 lline5in +o5 2 0 D 0 lline4in +.ends ltrastub + +*modelling using R and lossless lines + +*5 segments per inch +.model llfifth ltra nocontrol rel=10 r=0 g=0 l=9.13e-9 ++c=3.65e-12 len=0.2 steplimit quadinterp + +.subckt xlump 1 2 +o1 1 0 3 0 llfifth +r1 2 3 0.04 +.ends xlump + +.subckt xoneinch 1 2 +x1 1 3 xlump +x2 3 4 xlump +x3 4 5 xlump +x4 5 6 xlump +x5 6 2 xlump +*x5 6 7 xlump +*x6 7 8 xlump +*x7 8 9 xlump +*x8 9 10 xlump +*x9 10 11 xlump +*x10 11 2 xlump +.ends xoneinch + +.subckt xFourinch 1 2 +x1 1 3 xoneinch +x2 3 4 xoneinch +x3 4 5 xoneinch +x4 5 2 xoneinch +.ends xfourinch + +.subckt xfiveinch 1 2 +x1 1 3 xoneinch +x2 3 4 xoneinch +x3 4 5 xoneinch +x4 5 6 xoneinch +x5 6 2 xoneinch +.ends xfiveinch + +.subckt xlumpstub A B C D +x1 A int1 xfiveinch +x2 int1 int2 xfiveinch +x3 int2 1 xfiveinch +x4 1 2 xfourinch +x5 1 int3 xfiveinch +x6 int3 B xoneinch +x7 2 C xfiveinch +x8 2 D xfourinch +.ends xlumpstub + +* modelling a 2 wire coupled system using RLC lumps +* 10 segments per inch +* +* 1---xxxxx----2 +* 3---xxxxx----4 + +.subckt rlc2wlump 1 3 2 4 +l1 1 5 0.913nH +c1 2 0 0.365pF +r1 5 2 0.02 +l2 3 6 0.913nH +c2 4 0 0.365pF +r2 6 4 0.02 +cmut 2 4 0.18pF +k12 l1 l2 0.482 +.ends rlc2wlump + +.subckt rlc2woneinch 1 2 3 4 +x1 1 2 5 6 rlc2wlump +x2 5 6 7 8 rlc2wlump +x3 7 8 9 10 rlc2wlump +x4 9 10 11 12 rlc2wlump +x5 11 12 13 14 rlc2wlump +x6 13 14 15 16 rlc2wlump +x7 15 16 17 18 rlc2wlump +x8 17 18 19 20 rlc2wlump +x9 19 20 21 22 rlc2wlump +x10 21 22 3 4 rlc2wlump +.ends rlc2woneinch + +.subckt rlc2wfiveinch 1 2 3 4 +x1 1 2 5 6 rlc2woneinch +x2 5 6 7 8 rlc2woneinch +x3 7 8 9 10 rlc2woneinch +x4 9 10 11 12 rlc2woneinch +x5 11 12 3 4 rlc2woneinch +.ends rlc2wfiveinch + +.subckt rlc2wtwentyinch 1 2 3 4 +x1 1 2 5 6 rlc2wfiveinch +x2 5 6 7 8 rlc2wfiveinch +x3 7 8 9 10 rlc2wfiveinch +x4 9 10 3 4 rlc2wfiveinch +.ends rlc2wtwentyinch + +.subckt rlc2wetcmodel 1 2 3 4 +x1 1 5 rlctwoinch +x2 5 2 6 4 rlc2wtwentyinch +x3 6 3 rlctwoinch +.ends rlc2wetcmodel + +* Subcircuit conv2wtwentyinch +* conv2wtwentyinch is a subcircuit that models a 2-conductor transmission line with +* the following parameters: l=9.13e-09, c=3.65e-12, r=0.2, g=0, +* inductive_coeff_of_coupling k=0.482, inter-line capacitance cm=1.8e-12, +* length=20. Derived parameters are: lm=4.40066e-09, ctot=5.45e-12. +* +* It is important to note that the model is a simplified one - the +* following assumptions are made: 1. The self-inductance l, the +* self-capacitance ctot (note: not c), the series resistance r and the +* parallel capacitance g are the same for all lines, and 2. Each line +* is coupled only to the two lines adjacent to it, with the same +* coupling parameters cm and lm. The first assumption imply that edge +* effects have to be neglected. The utility of these assumptions is +* that they make the sL+R and sC+G matrices symmetric, tridiagonal and +* Toeplitz, with useful consequences. +* +* It may be noted that a symmetric two-conductor line will be +* accurately represented by this model. + +* Lossy line models +.model mod1_conv2wtwentyinch ltra rel=1.2 nocontrol r=0.2 l=4.72933999088e-09 g=0 c=7.25000000373e-12 len=20 +.model mod2_conv2wtwentyinch ltra rel=1.2 nocontrol r=0.2 l=1.35306599818e-08 g=0 c=3.65000000746e-12 len=20 + +* subcircuit m_conv2wtwentyinch - modal transformation network for conv2wtwentyinch +.subckt m_conv2wtwentyinch 1 2 3 4 +v1 5 0 0v +v2 6 0 0v +f1 0 3 v1 0.707106779721 +f2 0 3 v2 -0.707106782652 +f3 0 4 v1 0.707106781919 +f4 0 4 v2 0.707106780454 +e1 7 5 3 0 0.707106780454 +e2 1 7 4 0 0.707106782652 +e3 8 6 3 0 -0.707106781919 +e4 2 8 4 0 0.707106779721 +.ends m_conv2wtwentyinch + +* Subckt conv2wtwentyinch +.subckt conv2wtwentyinch 1 2 3 4 +x1 1 2 5 6 m_conv2wtwentyinch +o1 5 0 7 0 mod1_conv2wtwentyinch +o2 6 0 8 0 mod2_conv2wtwentyinch +x2 3 4 7 8 m_conv2wtwentyinch +.ends conv2wtwentyinch + +.model convtwoinch ltra r=0.2 l=9.13e-9 c=3.65e-12 len=2.0 rel=1.2 nocontrol +.subckt conv2wetcmodel 1 2 3 4 +o1 1 0 5 0 convtwoinch +x1 5 2 6 4 conv2wtwentyinch +o2 6 0 3 0 convtwoinch +.ends conv2wetcmodel + +.end diff --git a/Windows/spice/examples/TransmissionLines/ltra7_4_line.sp b/Windows/spice/examples/TransmissionLines/ltra7_4_line.sp new file mode 100644 index 00000000..7be4615a --- /dev/null +++ b/Windows/spice/examples/TransmissionLines/ltra7_4_line.sp @@ -0,0 +1,113 @@ +6.3inch 4 lossy lines LTRA model -- R load + +Ra 1 2 1K +Rb 0 3 1K +Rc 0 4 1K +Rd 0 5 1K +Re 6 0 1Meg +Rf 7 0 1Meg +Rg 8 0 1Meg +Rh 9 0 1Meg + + +* +* Subcircuit test +* test is a subcircuit that models a 4-conductor transmission line with +* the following parameters: l=9e-09, c=2.9e-13, r=0.3, g=0, +* inductive_coeff_of_coupling k=0.6, inter-line capacitance cm=3e-14, +* length=6.3. Derived parameters are: lm=5.4e-09, ctot=3.5e-13. +* +* It is important to note that the model is a simplified one - the +* following assumptions are made: 1. The self-inductance l, the +* self-capacitance ctot (note: not c), the series resistance r and the +* parallel capacitance g are the same for all lines, and 2. Each line +* is coupled only to the two lines adjacent to it, with the same +* coupling parameters cm and lm. The first assumption implies that edge +* effects have to be neglected. The utility of these assumptions is +* that they make the sL+R and sC+G matrices symmetric, tridiagonal and +* Toeplitz, with useful consequences (see "Efficient Transient +* Simulation of Lossy Interconnect", by J.S. Roychowdhury and +* D.O Pederson, Proc. DAC 91). + +* It may be noted that a symmetric two-conductor line is +* represented accurately by this model. + +* Subckt node convention: +* +* |--------------------------| +* 1-----| |-----n+1 +* 2-----| |-----n+2 +* : | n-wire multiconductor | : +* : | line | : +* n-1-----|(node 0=common gnd plane) |-----2n-1 +* n-----| |-----2n +* |--------------------------| + + +* Lossy line models +.model mod1_test ltra rel=1.2 nocontrol r=0.3 l=2.62616456193e-10 g=0 c=3.98541019688e-13 len=6.3 +.model mod2_test ltra rel=1.2 nocontrol r=0.3 l=5.662616446e-09 g=0 c=3.68541019744e-13 len=6.3 +.model mod3_test ltra rel=1.2 nocontrol r=0.3 l=1.23373835171e-08 g=0 c=3.3145898046e-13 len=6.3 +.model mod4_test ltra rel=1.2 nocontrol r=0.3 l=1.7737383521e-08 g=0 c=3.01458980439e-13 len=6.3 + +* subcircuit m_test - modal transformation network for test +.subckt m_test 1 2 3 4 5 6 7 8 +v1 9 0 0v +v2 10 0 0v +v3 11 0 0v +v4 12 0 0v +f1 0 5 v1 0.371748033738 +f2 0 5 v2 -0.601500954587 +f3 0 5 v3 0.601500954587 +f4 0 5 v4 -0.371748036544 +f5 0 6 v1 0.60150095443 +f6 0 6 v2 -0.371748035044 +f7 0 6 v3 -0.371748030937 +f8 0 6 v4 0.601500957402 +f9 0 7 v1 0.601500954079 +f10 0 7 v2 0.37174803072 +f11 0 7 v3 -0.371748038935 +f12 0 7 v4 -0.601500955482 +f13 0 8 v1 0.371748035626 +f14 0 8 v2 0.601500956073 +f15 0 8 v3 0.601500954504 +f16 0 8 v4 0.371748032386 +e1 13 9 5 0 0.371748033909 +e2 14 13 6 0 0.601500954587 +e3 15 14 7 0 0.601500955639 +e4 1 15 8 0 0.371748036664 +e5 16 10 5 0 -0.60150095443 +e6 17 16 6 0 -0.371748035843 +e7 18 17 7 0 0.371748032386 +e8 2 18 8 0 0.601500957319 +e9 19 11 5 0 0.601500955131 +e10 20 19 6 0 -0.371748032169 +e11 21 20 7 0 -0.371748037896 +e12 3 21 8 0 0.601500954513 +e13 22 12 5 0 -0.371748035746 +e14 23 22 6 0 0.60150095599 +e15 24 23 7 0 -0.601500953534 +e16 4 24 8 0 0.371748029317 +.ends m_test + +* Subckt test +.subckt test 1 2 3 4 5 6 7 8 +x1 1 2 3 4 9 10 11 12 m_test +o1 9 0 13 0 mod1_test +o2 10 0 14 0 mod2_test +o3 11 0 15 0 mod3_test +o4 12 0 16 0 mod4_test +x2 5 6 7 8 13 14 15 16 m_test +.ends test +* +x1 2 3 4 5 6 7 8 9 test +* +* +VS1 1 0 PWL(15.9NS 0.0 16.1Ns 5.0 31.9Ns 5.0 32.1Ns 0.0) + +.control +TRAN 0.2NS 50NS +plot v(1) v(2) v(6) v(7) v(8) v(9) +.endc +* +.END diff --git a/Windows/spice/examples/TransmissionLines/txl1_1_line.sp b/Windows/spice/examples/TransmissionLines/txl1_1_line.sp new file mode 100644 index 00000000..fdbec1ae --- /dev/null +++ b/Windows/spice/examples/TransmissionLines/txl1_1_line.sp @@ -0,0 +1,18 @@ +MOSdriver -- lossy line TXL model -- C load +m5 0 168 2 0 mn0p9 w = 18.0u l=0.9u +m6 1 168 2 1 mp1p0 w = 36.0u l=1.0u +CN2 2 0 0.025398e-12 +CN3 3 0 0.007398e-12 +y1 2 0 3 0 ymod +vdd 1 0 dc 5.0 +VS 168 0 PULSE (0 5 15.9NS 0.2NS 0.2NS 15.8NS 32NS ) +.control +TRAN 0.2N 47N 0 0.1N +plot v(2) v(3) ylimit -0.5 5 +.endc +.MODEL mn0p9 NMOS VTO=0.8 KP=48U GAMMA=0.30 PHI=0.55 ++LAMBDA=0.00 CGSO=0 CGDO=0 CJ=0 CJSW=0 TOX=18000N LD=0.0U +.MODEL mp1p0 PMOS VTO=-0.8 KP=21U GAMMA=0.45 PHI=0.61 ++LAMBDA=0.00 CGSO=0 CGDO=0 CJ=0 CJSW=0 TOX=18000N LD=0.0U +.MODEL ymod txl R=12.45 L=8.972e-9 G=0 C=0.468e-12 length=16 +.end diff --git a/Windows/spice/examples/TransmissionLines/txl2_3_line.sp b/Windows/spice/examples/TransmissionLines/txl2_3_line.sp new file mode 100644 index 00000000..41b54996 --- /dev/null +++ b/Windows/spice/examples/TransmissionLines/txl2_3_line.sp @@ -0,0 +1,26 @@ +MOSdriver -- 3 lossy lines TXL model -- C load +m5 0 168 2 0 mn0p9 w = 18.0u l=0.9u +m6 1 168 2 1 mp1p0 w = 36.0u l=1.0u +m1 0 3 4 0 mn0p9 w = 18.0u l=0.9u +m2 1 3 4 1 mp1p0 w = 36.0u l=1.0u +CN2 2 0 0.025398e-12 +CN3 3 0 0.007398e-12 +CN4 4 0 0.025398e-12 +CN5 5 0 0.007398e-12 +CN6 6 0 0.007398e-12 +CN7 168 0 0.007398e-12 +y1 2 0 3 0 ymod +y2 4 0 5 0 ymod +y3 6 0 168 0 ymod +vdd 1 0 dc 5.0 +VS 168 0 PULSE (0 5 15.9NS 0.2NS 0.2NS 15.8NS 32NS ) +.control +TRAN 0.2N 47N 0 0.1N +plot v(2) v(3) v(4) v(5) v(6) +.endc +.MODEL mn0p9 NMOS VTO=0.8 KP=48U GAMMA=0.30 PHI=0.55 ++LAMBDA=0.00 CGSO=0 CGDO=0 CJ=0 CJSW=0 TOX=18000N LD=0.0U +.MODEL mp1p0 PMOS VTO=-0.8 KP=21U GAMMA=0.45 PHI=0.61 ++LAMBDA=0.00 CGSO=0 CGDO=0 CJ=0 CJSW=0 TOX=18000N LD=0.0U +.MODEL ymod txl R=12.45 L=8.972e-9 G=0 C=0.468e-12 length=16 +.end diff --git a/Windows/spice/examples/TransmissionLines/txl3_1_line.sp b/Windows/spice/examples/TransmissionLines/txl3_1_line.sp new file mode 100644 index 00000000..466c2591 --- /dev/null +++ b/Windows/spice/examples/TransmissionLines/txl3_1_line.sp @@ -0,0 +1,236 @@ + BJTdriver -- 24inch lossy line TXL model -- DiodeCircuit + +* This unclassified circuit is from Raytheon, courtesy Gerry Marino. +* It consists of a BJT driver connected by a 24 inch lossy line to a +* passive load consisting mostly of diodes. Each inch +* of the lossy line is modelled by 10 LRC lumps in the Raytheon +* model. + +* The line parameters (derived from the Raytheon input file) are: +* L = 9.13nH per inch +* C = 3.65pF per inch +* R = 0.2 ohms per inch + +* the circuit +v1 1 0 0v pulse(0 4 1ns 1ns 1ns 20ns 40ns) +vcc 10 0 5v +*rseries 1 2 5 +x1 1 2 10 bjtdrvr +*t1 2 0 3 0 z0=50.0136 td=4.38119ns rel=10 +y2 2 0 3 0 ymod1 +*x2 2 3 oneinch +*x2 100 101 twentyfourinch +*x2 100 101 xtwentyfourinch +vtest1 2 100 0 +vtest2 101 3 0 +x3 3 4 10 dioload +*rl 3 0 5 +*dl 0 3 diod2 + +.model ymod1 txl r=0.2 g=0 l=9.13e-9 c=3.65e-12 length=24 + +.model qmodn npn(bf=100 rb=100 cje=0.09375pF cjc=0.28125pF is=1e-12 ++pe=0.5 pc=0.5) + +.model qmodpd npn(bf=100 rb=100 cje=0.08187pF cjc=0.2525pF is=1e-12 ++pe=0.5 pc=0.5) +.model qmodpdmine npn(bf=100 rb=100 cje=0.08187pF cjc=0.05pF is=1e-12 ++pe=0.5 pc=0.5) + +.model dmod1 d(n=2.25 is=1.6399e-4 bv=10) + +.model dmod2 d + +.model dmod d(vj=0.3v) + +.model diod1 d(tt=0.75ns vj=0.6 rs=909 bv=10) + +.model diod2 d(tt=0.5ns vj=0.3 rs=100 bv=10) + +.options acct ++reltol=1e-3 abstol=1e-14 +.control +tran 0.1ns 60ns 0 0.5ns +plot v(1) v(2) v(3) +.endc + +* bjt driver - 19=input, 268=output, 20=vcc; wierd node numbers from +* the Raytheon file + +.subckt bjtdrvr 19 268 20 +q1 22 18 13 qmodn +q2 18 16 13 qmodn +qd2 21 9 0 qmodn +q4 14 14 0 qmodn +q3 16 15 14 qmodpd +q5 8 13 17 qmodn +q6 25 12 0 qmodn +q7 6 17 0 qmodpd +qd1 26 10 0 qmodn +q8 7 11 10 qmodn +q10 268 17 0 qmodpdmine +*q10 268 17 0 qmodpd +q9 7 10 268 qmodn + +d1 0 19 dmod1 +d2 18 19 dmod2 +d3 13 19 dmod +dq1 18 22 dmod +dq2 16 18 dmod +d502 9 21 dmod +dq3 15 16 dmod +d10 24 8 dmod +d4 15 6 dmod +dq6 12 25 dmod +dq7 17 6 dmod +dd1 17 10 dmod +d7 11 6 dmod +dd2 17 26 dmod +d9 23 6 dmod +dq8 11 7 dmod +d501 17 268 dmod +dq9 10 7 dmod +d14 20 27 dmod +d8 0 268 dmod + +r1 18 20 6k +r2 22 20 2.2k +r4 0 13 7k +rd1 9 13 2k +rd2 21 13 3k +r3 16 20 10k +r5 15 20 15k +r9 0 17 4k +r6 24 20 750 +r10 12 17 2k +r12 24 11 1.5k +r11 25 17 3k +r15 23 20 10k +r13 0 10 15k +r14 7 27 12 + +.ends bjtdrvr + +* subckt dioload - diode load: input=28, output=4, vcc=5 + +.subckt dioload 28 4 5 +*comment out everything in dioload except d5 and r503, and watch +* the difference in results obtained between a tran 0.1ns 20ns and +* a tran 0.01ns 20ns +c1 28 0 5pF +r503 0 4 5.55 +r4 0 28 120k +r5 1 5 7.5k + +d5 4 28 diod2 +d1 1 28 diod1 +d4 2 0 diod1 +d3 3 2 diod1 +d2 1 3 diod1 +.ends dioload + +* subckt lump - one RLC lump of the lossy line + +*10 segments per inch +.subckt lump 1 2 +*r1 1 3 0.02 +*c1 3 0 0.365pF +*l1 3 2 0.913nH + +l1 1 3 0.913nH +c1 2 0 0.365pF +r1 3 2 0.02 + +*r1 1 3 0.01 +*c1 3 0 0.1825pF +*l1 3 4 0.4565nH +*r2 4 5 0.01 +*c2 5 0 0.1825pF +*l2 5 2 0.4565nH + +*c1 1 0 0.365pF +*l1 1 2 0.913nH +.ends lump + +.subckt oneinch 1 2 +x1 1 3 lump +x2 3 4 lump +x3 4 5 lump +x4 5 6 lump +x5 6 7 lump +x6 7 8 lump +x7 8 9 lump +x8 9 10 lump +x9 10 11 lump +x10 11 2 lump +.ends oneinch + +.subckt fourinch 1 2 +x1 1 3 oneinch +x2 3 4 oneinch +x3 4 5 oneinch +x4 5 2 oneinch +.ends fourinch + +.subckt fiveinch 1 2 +x1 1 3 oneinch +x2 3 4 oneinch +x3 4 5 oneinch +x4 5 6 oneinch +x5 6 2 oneinch +.ends fiveinch + +.subckt twentyfourinch 1 2 +x1 1 3 fiveinch +x2 3 4 fiveinch +x3 4 5 fiveinch +x4 5 6 fiveinch +x5 6 2 fourinch +.ends twentyfourinch + +*modelling using R and lossless lines +*5 segments per inch +.model ymod2 txl r=0 g=0 l=9.13e-9 c=3.65e-12 length=0.2 +.subckt xlump 1 2 +y1 1 0 3 0 ymod2 +r1 2 3 0.04 +.ends xlump + +.subckt xoneinch 1 2 +x1 1 3 xlump +x2 3 4 xlump +x3 4 5 xlump +x4 5 6 xlump +x5 6 2 xlump +*x5 6 7 xlump +*x6 7 8 xlump +*x7 8 9 xlump +*x8 9 10 xlump +*x9 10 11 xlump +*x10 11 2 xlump +.ends xoneinch + +.subckt xfourinch 1 2 +x1 1 3 xoneinch +x2 3 4 xoneinch +x3 4 5 xoneinch +x4 5 2 xoneinch +.ends xfourinch + +.subckt xfiveinch 1 2 +x1 1 3 xoneinch +x2 3 4 xoneinch +x3 4 5 xoneinch +x4 5 6 xoneinch +x5 6 2 xoneinch +.ends xfiveinch + +.subckt xtwentyfourinch 1 2 +x1 1 3 xfiveinch +x2 3 4 xfiveinch +x3 4 5 xfiveinch +x4 5 6 xfiveinch +x5 6 2 xfourinch +.ends xtwentyfourinch + +.end diff --git a/Windows/spice/examples/TransmissionLines/txl4_1_line.sp b/Windows/spice/examples/TransmissionLines/txl4_1_line.sp new file mode 100644 index 00000000..91586479 --- /dev/null +++ b/Windows/spice/examples/TransmissionLines/txl4_1_line.sp @@ -0,0 +1,523 @@ + Example 3 for interconnect simulation + +* From neug1, Mosaic aluminum lines. 2um thick, 11um wide. Assuming +* 10um above the ground. +* Material: aluminum; resistivity (sigma) = 2.74uohm-cm = 2.74e-8 ohm-m +* Dielectric: SiO2, dielectric constant (epsilon) =3.7 +* epsilon0 = 8.85e-12 MKS units +* mu0 = 4e-7*PI +* speed of light in free space = 1/sqrt(mu0*epsilon0) = 2.9986e8 MKS units +* +* Line parameter calculations: +* capacitance: parallel plate +* C = epsilon*epsilon0 * A / l +* C = 3.7*8.85e-12 * 11e-6 * 1(metre) / 10e-6 = 36.02e-12 F/m +* + 30% = 46.8e-12 F/m = 0.468pF/cm +* +* C_freespace = 46.8e-12/epsilon = 12.65e-12 F/m +* speed of light in free space v0 = 2.9986e8 = 1/sqrt(L0*C0) +* => L0 = 1/C0*v0^2 +* L0 = 1/(12.65e-12 * 8.9916e16) = 1/113.74e4 = 0.008792e-4 H/m +* = 0.8792 uH/m = 8.792nH/cm +* +* R = rho * l / A = 2.74e-8 * 1 / (11e-6*2e-6) = 1245.45 ohms/m +* = 12.45ohms/cm +* +* transmission line parameters: +* nominal z0 = sqrt(L/C) = 137 ohms +* td = sqrt(LC) = 64.14e-12 secs/cm = 0.064ns/cm +* +* + + +vcc vcc 0 5 +v1 1 0 0v pulse(0 5 0.1ns 0.1ns 0.1ns 1ns 100ns) +rs 1 2 10 +xdrv 1 2 vcc bjtdrvr +xrcv 3 4 vcc bjtdrvr +xrcv 3 4 vcc dioload +d1 3 vcc diod +d2 0 3 diod +cl 3 0 1pF +y1 2 0 3 0 yline +*x1 2 3 sixteencm +x1 2 3 xonecm + +.model diod d +.model yline txl r=12.45 g=0 l=8.792e-9 c=0.468e-12 length=16 + +.control +* 1cm +* 2cm +* 4cm +* 6cm +* 8cm +* 10cm +* 12cm +*tran 0.001ns 15ns 0 0.1ns +* 24cm +tran 0.001ns 10ns 0 0.1ns +* onecm10 +*tran 0.001ns 10ns 0 0.01ns +plot v(1) v(2) v(3) +.endc + + +* 1. define the subckt r10 to be one tenth of the resistance per cm. +* 2. define the subckt onecm to be one of onecm10 (modelled using +* 10 segments), onecm8, onecm4, onecm2 and lump1. Then use +* the subckts onecm, fourcm, fivecm, tencm, twelvecm, +* twentyfourcm in the circuit. The line is modelled as rlc segments. +* 3. define the subckt xonecm to be one of xonecm10, xonecm8, +* xonecm4, xonecm2 and xlump1. Use the subckts xonecm, +* xfourcm, xfivecm, xtencm, xtwelvecm, xtwentyfourcm in the +* circuit. The line will be modelled as r-lossless lumps. + +.subckt xonecm 1 2 +*x1 1 2 xlump1 +x1 1 2 xonecm4 +.ends xonecm + +.subckt onecm 1 2 +*x1 1 2 lump1 +x1 1 2 onecm4 +.ends onecm + +.subckt r10 1 2 +r1 1 2 1.245 +.ends r10 + +* ECL driver and diode receiver models - from Raytheon + +.model qmodn npn(bf=100 rb=100 cje=0.09375pF cjc=0.28125pF is=1e-12 ++pe=0.5 pc=0.5) + +.model qmodpd npn(bf=100 rb=100 cje=0.08187pF cjc=0.2525pF is=1e-12 ++pe=0.5 pc=0.5) +.model qmodpdmine npn(bf=100 rb=100 cje=0.08187pF cjc=0.05pF is=1e-12 ++pe=0.5 pc=0.5) + +.model dmod1 d(n=2.25 is=1.6399e-4 bv=10) + +.model dmod2 d + +.model dmod d(vj=0.3v) + +.model diod1 d(tt=0.75ns vj=0.6 rs=909 bv=10) + +.model diod2 d(tt=0.5ns vj=0.3 rs=100 bv=10) + +* bjt driver - 19=input, 268=output, 20=vcc; wierd node numbers from +* the Raytheon file + +.subckt bjtdrvr 19 268 20 +q1 22 18 13 qmodn +q2 18 16 13 qmodn +qd2 21 9 0 qmodn +q4 14 14 0 qmodn +q3 16 15 14 qmodpd +q5 8 13 17 qmodn +q6 25 12 0 qmodn +q7 6 17 0 qmodpd +qd1 26 10 0 qmodn +q8 7 11 10 qmodn +q10 268 17 0 qmodpdmine +*q10 268 17 0 qmodpd +q9 7 10 268 qmodn + +d1 0 19 dmod1 +d2 18 19 dmod2 +d3 13 19 dmod +dq1 18 22 dmod +dq2 16 18 dmod +d502 9 21 dmod +dq3 15 16 dmod +d10 24 8 dmod +d4 15 6 dmod +dq6 12 25 dmod +dq7 17 6 dmod +dd1 17 10 dmod +d7 11 6 dmod +dd2 17 26 dmod +d9 23 6 dmod +dq8 11 7 dmod +d501 17 268 dmod +dq9 10 7 dmod +d14 20 27 dmod +d8 0 268 dmod + +r1 18 20 6k +r2 22 20 2.2k +r4 0 13 7k +rd1 9 13 2k +rd2 21 13 3k +r3 16 20 10k +r5 15 20 15k +r9 0 17 4k +r6 24 20 750 +r10 12 17 2k +r12 24 11 1.5k +r11 25 17 3k +r15 23 20 10k +r13 0 10 15k +r14 7 27 12 + +.ends bjtdrvr + +* subckt dioload - diode load: input=28, output=4, vcc=5 + +.subckt dioload 28 4 5 +c1 28 0 5pF +r503 0 4 5.55 +r400 0 28 120k +r500 1 5 7.5k + +d5 4 28 diod2 +d1 1 28 diod1 +d4 2 0 diod1 +d3 3 2 diod1 +d2 1 3 diod1 +.ends dioload + +* End ECL driver and Diode receiver models from Raytheon + +*10 segments per cm +.subckt lump10 1 2 +l1 1 3 0.0.8792nH +c1 2 0 0.0468pF +x1 3 2 r10 +.ends lump10 + +*1 segment per cm +.subckt lump1 1 2 +l1 1 3 8.792nH +c1 2 0 0.468pF +x1 3 4 r10 +x2 4 5 r10 +x3 5 6 r10 +x4 6 7 r10 +x5 7 8 r10 +x6 8 9 r10 +x7 9 10 r10 +x8 10 11 r10 +x9 11 12 r10 +x10 12 2 r10 +.ends lump1 + +*2 segments per cm +.subckt lump2 1 2 +l1 1 3 4.396nH +c1 2 0 0.234pF +x1 3 4 r10 +x2 4 5 r10 +x3 5 6 r10 +x4 6 7 r10 +x5 7 2 r10 +.ends lump2 + +*4 segments per cm +.subckt lump4 1 2 +l1 1 3 2.198nH +c1 2 0 0.117pF +x1 3 4 r10 +x2 4 5 r10 +x3 5 2 r10 +x4 5 2 r10 +.ends lump4 + +*8 segments per cm +.subckt lump8 1 2 +l1 1 3 1.099nH +c1 2 0 0.0585pF +x1 3 4 r10 +x2 4 2 r10 +x3 4 2 r10 +x4 4 2 r10 +x5 4 2 r10 +.ends lump8 + +.subckt onecm10 1 2 +x1 1 3 lump10 +x2 3 4 lump10 +x3 4 5 lump10 +x4 5 6 lump10 +x5 6 7 lump10 +x6 7 8 lump10 +x7 8 9 lump10 +x8 9 10 lump10 +x9 10 11 lump10 +x10 11 2 lump10 +.ends onecm10 + +.subckt onecm8 1 2 +x1 1 3 lump8 +x2 3 4 lump8 +x3 4 5 lump8 +x4 5 6 lump8 +x5 6 7 lump8 +x6 7 8 lump8 +x7 8 9 lump8 +x8 9 2 lump8 +.ends onecm8 + +.subckt onecm4 1 2 +x1 1 3 lump4 +x2 3 4 lump4 +x3 4 5 lump4 +x4 5 2 lump4 +.ends onecm4 + +.subckt onecm2 1 2 +x1 1 3 lump2 +x2 3 2 lump2 +.ends onecm2 + +.subckt twocm 1 2 +x1 1 3 onecm +x2 3 2 onecm +.ends twocm + +.subckt threecm 1 2 +x1 1 3 onecm +x2 3 4 onecm +x3 4 2 onecm +.ends threecm + +.subckt fourcm 1 2 +x1 1 3 onecm +x2 3 4 onecm +x3 4 5 onecm +x4 5 2 onecm +.ends fourcm + +.subckt fivecm 1 2 +x1 1 3 onecm +x2 3 4 onecm +x3 4 5 onecm +x4 5 6 onecm +x5 6 2 onecm +.ends fivecm + +.subckt sixcm 1 2 +x1 1 3 fivecm +x2 3 2 onecm +.ends sixcm + +.subckt sevencm 1 2 +x1 1 3 sixcm +x2 3 2 onecm +.ends sevencm + +.subckt eightcm 1 2 +x1 1 3 sevencm +x2 3 2 onecm +.ends eightcm + +.subckt ninecm 1 2 +x1 1 3 eightcm +x2 3 2 onecm +.ends ninecm + +.subckt tencm 1 2 +x1 1 3 fivecm +x2 3 2 fivecm +.ends tencm + +.subckt elevencm 1 2 +x1 1 3 tencm +x2 3 2 onecm +.ends elevencm + +.subckt twelvecm 1 2 +x1 1 3 tencm +x2 3 4 onecm +x3 4 2 onecm +.ends twelvecm + +.subckt sixteencm 1 2 +x1 1 3 eightcm +x2 3 2 eightcm +.ends sixteencm + +.subckt twentyfourcm 1 2 +x1 1 3 twelvecm +x2 3 2 twelvecm +.ends twentyfourcm + + +*modelling using R and lossless lines +* 10 segments per cm +.model yless10 txl r=0 g=0 l=8.792e-9 c=0.468e-12 length=0.1 + +* 8 segments per cm +.model yless8 txl r=0 g=0 l=8.792e-9 c=0.468e-12 length=0.125 + +* 4 segments per cm +.model yless4 txl r=0 g=0 l=8.792e-9 c=0.468e-12 length=0.25 + +* 2 segments per cm +.model yless2 txl r=0 g=0 l=8.792e-9 c=0.468e-12 length=0.5 + +* 1 segment per cm +.model yless1 txl r=0 g=0 l=8.792e-9 c=0.468e-12 length=1 + +*10 segments per cm +.subckt xlump10 1 2 +y1 1 0 3 0 yless10 +x1 3 2 r10 +.ends xlump10 + +*1 segment per cm +.subckt xlump1 1 2 +y1 1 0 3 0 yless1 +x1 3 4 r10 +x2 4 5 r10 +x3 5 6 r10 +x4 6 7 r10 +x5 7 8 r10 +x6 8 9 r10 +x7 9 10 r10 +x8 10 11 r10 +x9 11 12 r10 +x10 12 2 r10 +.ends xlump1 + +*2 segments per cm +.subckt xlump2 1 2 +y1 1 0 3 0 yless2 +x1 3 4 r10 +x2 4 5 r10 +x3 5 6 r10 +x4 6 7 r10 +x5 7 2 r10 +.ends xlump2 + +*4 segments per cm +.subckt xlump4 1 2 +y1 1 0 3 0 yless4 +x1 3 4 r10 +x2 4 5 r10 +x3 5 2 r10 +x4 5 2 r10 +.ends xlump4 + +*8 segments per cm +.subckt xlump8 1 2 +y1 1 0 3 0 yless8 +x1 3 4 r10 +x2 4 2 r10 +x3 4 2 r10 +x4 4 2 r10 +x5 4 2 r10 +.ends xlump8 + +.subckt xonecm10 1 2 +x1 1 3 xlump10 +x2 3 4 xlump10 +x3 4 5 xlump10 +x4 5 6 xlump10 +x5 6 7 xlump10 +x6 7 8 xlump10 +x7 8 9 xlump10 +x8 9 10 xlump10 +x9 10 11 xlump10 +x10 11 2 xlump10 +.ends xonecm10 + +.subckt xonecm8 1 2 +x1 1 3 xlump8 +x2 3 4 xlump8 +x3 4 5 xlump8 +x4 5 6 xlump8 +x5 6 7 xlump8 +x6 7 8 xlump8 +x7 8 9 xlump8 +x8 9 2 xlump8 +.ends xonecm8 + +.subckt xonecm4 1 2 +x1 1 3 xlump4 +x2 3 4 xlump4 +x3 4 5 xlump4 +x4 5 2 xlump4 +.ends xonecm4 + +.subckt xonecm2 1 2 +x1 1 3 xlump2 +x2 3 2 xlump2 +.ends xonecm2 + + +.subckt xtwocm 1 2 +x1 1 3 xonecm +x2 3 2 xonecm +.ends xtwocm + +.subckt xthreecm 1 2 +x1 1 3 xonecm +x2 3 4 xonecm +x3 4 2 xonecm +.ends xthreecm + +.subckt xfourcm 1 2 +x1 1 3 xonecm +x2 3 4 xonecm +x3 4 5 xonecm +x4 5 2 xonecm +.ends xfourcm + +.subckt xfivecm 1 2 +x1 1 3 xonecm +x2 3 4 xonecm +x3 4 5 xonecm +x4 5 6 xonecm +x5 6 2 xonecm +.ends xfivecm + +.subckt xsixcm 1 2 +x1 1 3 xfivecm +x2 3 2 xonecm +.ends xsixcm + +.subckt xsevencm 1 2 +x1 1 3 xsixcm +x2 3 2 xonecm +.ends xsevencm + +.subckt xeightcm 1 2 +x1 1 3 xsevencm +x2 3 2 xonecm +.ends xeightcm + +.subckt xninecm 1 2 +x1 1 3 xeightcm +x2 3 2 xonecm +.ends xninecm + +.subckt xtencm 1 2 +x1 1 3 xfivecm +x2 3 2 xfivecm +.ends xtencm + +.subckt xelevencm 1 2 +x1 1 3 xtencm +x2 3 2 xonecm +.ends xelevencm + +.subckt xtwelvecm 1 2 +x1 1 3 xtencm +x2 3 4 xonecm +x3 4 2 xonecm +.ends xtwelvecm + +.subckt xsixteencm 1 2 +x1 1 3 xeightcm +x2 3 2 xeightcm +.ends xsixteencm + +.subckt xtwentyfourcm 1 2 +x1 1 3 xtwelvecm +x2 3 2 xtwelvecm +.ends xtwentyfourcm + +.end |