Below is an example circuit that illustrates some of the new features, and some older features perhaps not widely appreciated. This also served as a test for improving MOS convergence. To run a convergence test:
This runs operating point analysis for M values from .5 to 2.5, and displays a little plot of the convergence process. In the display, `+' means an increasing gmin step, `.' is a source step, `-' is a decreasing gmin step.
Note that 100 nS is too coarse to get a decent looking plot with BSIM devices. Use ``tran 1n 10u'' in that case, since the circuit seems to be oscillating at very high frequency.
mosamp2 - mos amplifier - transient .options abstol=10n vntol=10n noopiter mult=2 nqs=1 reltol=1e-4 *.op .tran 0.1us 10us .plot tran v(20) v(66) * set below to 0 for old MOS model .param bsim = 1 .if bsim = 1 m1 15 15 1 32 n1 w=88.9u l=25.4u m=$mult nqsmod=$nqs m2 1 1 2 32 n1 w=12.7u l=266.7u m=$mult nqsmod=$nqs m3 2 2 30 32 n1 w=88.9u l=25.4u m=$mult nqsmod=$nqs m4 15 5 4 32 n1 w=12.7u l=106.7u m=$mult nqsmod=$nqs m5 4 4 30 32 n1 w=88.9u l=12.7u m=$mult nqsmod=$nqs m6 15 15 5 32 n1 w=44.5u l=25.4u m=$mult nqsmod=$nqs m7 5 20 8 32 n1 w=482.6u l=12.7u m=$mult nqsmod=$nqs m8 8 2 30 32 n1 w=88.9u l=25.4u m=$mult nqsmod=$nqs m9 15 15 6 32 n1 w=44.5u l=25.4u m=$mult nqsmod=$nqs m10 6 21 8 32 n1 w=482.6u l=12.7u m=$mult nqsmod=$nqs m11 15 6 7 32 n1 w=12.7u l=106.7u m=$mult nqsmod=$nqs m12 7 4 30 32 n1 w=88.9u l=12.7u m=$mult nqsmod=$nqs m13 15 10 9 32 n1 w=139.7u l=12.7u m=$mult nqsmod=$nqs m14 9 11 30 32 n1 w=139.7u l=12.7u m=$mult nqsmod=$nqs m15 15 15 12 32 n1 w=12.7u l=207.8u m=$mult nqsmod=$nqs m16 12 12 11 32 n1 w=54.1u l=12.7u m=$mult nqsmod=$nqs m17 11 11 30 32 n1 w=54.1u l=12.7u m=$mult nqsmod=$nqs m18 15 15 10 32 n1 w=12.7u l=45.2u m=$mult nqsmod=$nqs m19 10 12 13 32 n1 w=270.5u l=12.7u m=$mult nqsmod=$nqs m20 13 7 30 32 n1 w=270.5u l=12.7u m=$mult nqsmod=$nqs m21 15 10 14 32 n1 w=254u l=12.7u m=$mult nqsmod=$nqs m22 14 11 30 32 n1 w=241.3u l=12.7u m=$mult nqsmod=$nqs m23 15 20 16 32 n1 w=19u l=38.1u m=$mult nqsmod=$nqs m24 16 14 30 32 n1 w=406.4u l=12.7u m=$mult nqsmod=$nqs m25 15 15 20 32 n1 w=38.1u l=42.7u m=$mult nqsmod=$nqs m26 20 16 30 32 n1 w=381u l=25.4u m=$mult nqsmod=$nqs m27 20 15 66 32 n1 w=22.9u l=7.6u m=$mult nqsmod=$nqs .else m1 15 15 1 32 n1 w=88.9u l=25.4u m=$mult m2 1 1 2 32 n1 w=12.7u l=266.7u m=$mult m3 2 2 30 32 n1 w=88.9u l=25.4u m=$mult m4 15 5 4 32 n1 w=12.7u l=106.7u m=$mult m5 4 4 30 32 n1 w=88.9u l=12.7u m=$mult m6 15 15 5 32 n1 w=44.5u l=25.4u m=$mult m7 5 20 8 32 n1 w=482.6u l=12.7u m=$mult m8 8 2 30 32 n1 w=88.9u l=25.4u m=$mult m9 15 15 6 32 n1 w=44.5u l=25.4u m=$mult m10 6 21 8 32 n1 w=482.6u l=12.7u m=$mult m11 15 6 7 32 n1 w=12.7u l=106.7u m=$mult m12 7 4 30 32 n1 w=88.9u l=12.7u m=$mult m13 15 10 9 32 n1 w=139.7u l=12.7u m=$mult m14 9 11 30 32 n1 w=139.7u l=12.7u m=$mult m15 15 15 12 32 n1 w=12.7u l=207.8u m=$mult m16 12 12 11 32 n1 w=54.1u l=12.7u m=$mult m17 11 11 30 32 n1 w=54.1u l=12.7u m=$mult m18 15 15 10 32 n1 w=12.7u l=45.2u m=$mult m19 10 12 13 32 n1 w=270.5u l=12.7u m=$mult m20 13 7 30 32 n1 w=270.5u l=12.7u m=$mult m21 15 10 14 32 n1 w=254u l=12.7u m=$mult m22 14 11 30 32 n1 w=241.3u l=12.7u m=$mult m23 15 20 16 32 n1 w=19u l=38.1u m=$mult m24 16 14 30 32 n1 w=406.4u l=12.7u m=$mult m25 15 15 20 32 n1 w=38.1u l=42.7u m=$mult m26 20 16 30 32 n1 w=381u l=25.4u m=$mult m27 20 15 66 32 n1 w=22.9u l=7.6u m=$mult .endif cc 7 9 40pf cl 66 0 70pf vin 21 0 AC pulse(0 5 1ns 1ns 1ns 5us 10us) vccp 15 0 dc +15 vddn 30 0 dc -15 vb 32 0 dc -20 .if bsim .model n1 nmos(level=8 capmod=3) .else .model n1 nmos(nsub=2.2e15 uo=575 ucrit=49k uexp=0.1 tox=0.11u xj=2.95u + level=2 cgso=1.5n cgdo=1.5n cbd=4.5f cbs=4.5f ld=2.4485u nss=3.2e10 + kp=2e-5 phi=0.6 ) .endif