Next: Circuit 8: Verilog Pseudo-Random Up: Example Data Files Previous: Circuit 6: Function and   Contents   Index

## Circuit 7: MOS Convergence Test

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:

1. Source this circuit.
2. Press the siminterface button in the Debug tool.
3. Type ``set value1 = mult''.
4. Type ``loop .5 2.5 .1 op''.

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
```

Stephen R. Whiteley 2022-09-18