Skip to content

Instantly share code, notes, and snippets.

@buttercutter
Last active June 21, 2021 02:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save buttercutter/183703eacba9de7eba2f9d91aa9e4ce1 to your computer and use it in GitHub Desktop.
Save buttercutter/183703eacba9de7eba2f9d91aa9e4ce1 to your computer and use it in GitHub Desktop.
A Sub-1 Volt OTA using Ahuja Compensation as described in https://www.reddit.com/r/chipdesign/comments/o2lemj/questions_on_sub1_volt_ota/
* modified for use with LTSpice; DM 8/19/2008
*
* 0.18u CMOS process
*
* NMOS transistor model name: NM
* PMOS transistor model name: PM
*-----------------------------------------------------------------------
.subckt NM D G S B
+params: W=10u L=1u
M1 D G S B NM L={L} W={W} AS={1.1u*W} PS={2.2u+W} AD={1.1u*W} PD={2.2u+W}
.ends
* ----------------------------------------------------------------------
* NMOS transistor model
* ----------------------------------------------------------------------
.MODEL NM NMOS LEVEL=49
* ----------------------------------------------------------------------
************************* SIMULATION PARAMETERS ************************
* ----------------------------------------------------------------------
* format : LTspice
* model : MOS BSIM3v3
* ----------------------------------------------------------------------
* TYPICAL MEAN CONDITION
* ----------------------------------------------------------------------
+VERSION = 3.1 TNOM = 27 TOX = 4.1E-9
+XJ = 1E-7 NCH = 2.3549E17 VTH0 = 0.354505
+K1 = 0.5733393 K2 = 3.177172E-3 K3 = 27.3563303
+K3B = -10 W0 = 2.341477E-5 NLX = 1.906617E-7
+DVT0W = 0 DVT1W = 0 DVT2W = 0
+DVT0 = 1.6751718 DVT1 = 0.4282625 DVT2 = 0.036004
+U0 = 327.3736992 UA = -4.52726E-11 UB = 4.46532E-19
+UC = -4.74051E-11 VSAT = 8.785346E4 A0 = 1.6897405
+AGS = 0.2908676 B0 = -8.224961E-9 B1 = -1E-7
+KETA = 0.021238 A1 = 8.00349E-4 A2 = 1
+RDSW = 105 PRWG = 0.5 PRWB = -0.2
+WR = 1 WINT = 5e-9 LINT = 2.351737E-8
+DWG = 1.610448E-9
+DWB = -5.108595E-9 VOFF = -0.0652968 NFACTOR = 2.4901845
+CIT = 0 CDSC = 2.4E-4 CDSCD = 0
+CDSCB = 0 ETA0 = 0.0231564 ETAB = -0.058499
+DSUB = 0.9467118 PCLM = 0.8512348 PDIBLC1 = 0.0929526
+PDIBLC2 = 0.01 PDIBLCB = -0.1 DROUT = 0.5224026
+PSCBE1 = 7.979323E10 PSCBE2 = 1.522921E-9 PVAG = 0.01
+DELTA = 0.01 RSH = 6.8 MOBMOD = 1
+PRT = 0 UTE = -1.5 KT1 = -0.11
+KT1L = 0 KT2 = 0.022 UA1 = 4.31E-9
+UB1 = -7.61E-18 UC1 = -5.6E-11 AT = 3.3E4
+WL = 0 WLN = 1 WW = 0
+WWN = 1 WWL = 0 LL = 0
+LLN = 1 LW = 0 LWN = 1
+LWL = 0 CAPMOD = 2 XPART = 0.5
+CGDO = 7.7E-10 CGSO = 7.7E-10 CGBO = 1E-12
+CJ = 1.010083E-3 PB = 0.7344298 MJ = 0.3565066
+CJSW = 2.441707E-10 PBSW = 0.8005503 MJSW = 0.1327842
+CJSWG = 3.3E-10 PBSWG = 0.8005503 MJSWG = 0.1327842
+CF = 0 PVTH0 = 1.307195E-3 PRDSW = -5
+PK2 = -1.022757E-3 WKETA = -4.466285E-4 LKETA = -9.715157E-3
+PU0 = 12.2704847 PUA = 4.421816E-11 PUB = 0
+PVSAT = 1.707461E3 PETA0 = 1E-4 PKETA = 2.348777E-3
*-----------------------------------------------------------------------
.subckt PM D G S B
+params: W=10u L=1u
M1 D G S B PM L={L} W={W} AS={1.1u*W} PS={2.2u+W} AD={1.1u*W} PD={2.2u+W}
.ends
* ----------------------------------------------------------------------
* PMOS transistor model
* ----------------------------------------------------------------------
.MODEL PM PMOS LEVEL=49
* ----------------------------------------------------------------------
************************* SIMULATION PARAMETERS ************************
* ----------------------------------------------------------------------
* format : LTSPICE
* model : MOS BSIM3v3
* ----------------------------------------------------------------------
* TYPICAL MEAN CONDITION
* ----------------------------------------------------------------------
+VERSION = 3.1 TNOM = 27 TOX = 4.1E-9
+XJ = 1E-7 NCH = 4.1589E17 VTH0 = -0.4120614
+K1 = 0.5590154 K2 = 0.0353896 K3 = 0
+K3B = 7.3774572 W0 = 1E-6 NLX = 1.103367E-7
+DVT0W = 0 DVT1W = 0 DVT2W = 0
+DVT0 = 0.4301522 DVT1 = 0.2156888 DVT2 = 0.1
+U0 = 128.7704538 UA = 1.908676E-9 UB = 1.686179E-21
+UC = -9.31329E-11 VSAT = 1.658944E5 A0 = 1.6076505
+AGS = 0.3740519 B0 = 1.711294E-6 B1 = 4.946873E-6
+KETA = 0.0210951 A1 = 0.0244939 A2 = 1
+RDSW = 127.0442882 PRWG = 0.5 PRWB = -0.5
+WR = 1 WINT = 5.928484E-10 LINT = 3.468805E-8
+DWG = -2.453074E-8
+DWB = 6.408778E-9 VOFF = -0.0974174 NFACTOR = 1.9740447
+CIT = 0 CDSC = 2.4E-4 CDSCD = 0
+CDSCB = 0 ETA0 = 0.1847491 ETAB = -0.2531172
+DSUB = 1.5 PCLM = 4.8842961 PDIBLC1 = 0.0156227
+PDIBLC2 = 0.1 PDIBLCB = -1E-3 DROUT = 0
+PSCBE1 = 1.733878E9 PSCBE2 = 5.002842E-10 PVAG = 15
+DELTA = 0.01 RSH = 7.7 MOBMOD = 1
+PRT = 0 UTE = -1.5 KT1 = -0.11
+KT1L = 0 KT2 = 0.022 UA1 = 4.31E-9
+UB1 = -7.61E-18 UC1 = -5.6E-11 AT = 3.3E4
+WL = 0 WLN = 1 WW = 0
+WWN = 1 WWL = 0 LL = 0
+LLN = 1 LW = 0 LWN = 1
+LWL = 0 CAPMOD = 2 XPART = 0.5
+CGDO = 7.11E-10 CGSO = 7.11E-10 CGBO = 1E-12
+CJ = 1.179334E-3 PB = 0.8545261 MJ = 0.4117753
+CJSW = 2.215877E-10 PBSW = 0.6162997 MJSW = 0.2678074
+CJSWG = 4.22E-10 PBSWG = 0.6162997 MJSWG = 0.2678074
+CF = 0 PVTH0 = 2.283319E-3 PRDSW = 5.6431992
+PK2 = 2.813503E-3 WKETA = 2.438158E-3 LKETA = -0.0116078
+PU0 = -2.2514581 PUA = -7.62392E-11 PUB = 4.502298E-24
+PVSAT = -50 PETA0 = 1E-4 PKETA = -1.047892E-4
* ----------------------------------------------------------------------
Version 4
SHEET 1 2232 772
WIRE -96 -240 -128 -240
WIRE 48 -240 -16 -240
WIRE 96 -240 48 -240
WIRE 224 -240 176 -240
WIRE 704 -192 704 -240
WIRE 1216 -192 1216 -240
WIRE 1728 -176 1728 -224
WIRE 1920 -176 1920 -224
WIRE 2112 -176 2112 -224
WIRE -96 -112 -128 -112
WIRE 48 -112 -16 -112
WIRE 96 -112 48 -112
WIRE 224 -112 176 -112
WIRE 704 -64 704 -112
WIRE 1216 -64 1216 -112
WIRE 1728 -48 1728 -96
WIRE 1920 -48 1920 -96
WIRE 2112 -48 2112 -96
WIRE 144 80 -48 80
WIRE 304 80 144 80
WIRE 688 80 304 80
WIRE 960 80 688 80
WIRE 1232 80 960 80
WIRE 1616 80 1232 80
WIRE 1776 80 1616 80
WIRE 1968 80 1776 80
WIRE 688 112 688 80
WIRE 752 112 688 112
WIRE 1232 112 1232 80
WIRE 1232 112 1168 112
WIRE -48 144 -48 80
WIRE -48 144 -112 144
WIRE 304 144 304 80
WIRE 304 144 240 144
WIRE 1616 144 1616 80
WIRE 1680 144 1616 144
WIRE 1968 144 1968 80
WIRE 2032 144 1968 144
WIRE 752 160 752 112
WIRE 752 160 688 160
WIRE 1168 160 1168 112
WIRE 1232 160 1168 160
WIRE -112 192 -112 144
WIRE -48 192 -112 192
WIRE 240 192 240 144
WIRE 304 192 240 192
WIRE 640 192 608 192
WIRE 1312 192 1280 192
WIRE 1680 192 1680 144
WIRE 1680 192 1616 192
WIRE 2032 192 2032 144
WIRE 2032 192 1968 192
WIRE 32 224 0 224
WIRE 384 224 352 224
WIRE 1568 224 1536 224
WIRE 1920 224 1888 224
WIRE 304 272 304 240
WIRE 304 272 80 272
WIRE 688 272 688 208
WIRE 688 272 624 272
WIRE 1232 272 1232 208
WIRE 1296 272 1232 272
WIRE 1616 272 1616 240
WIRE 1840 272 1616 272
WIRE 304 304 304 272
WIRE 1616 304 1616 272
WIRE -48 320 -48 240
WIRE -48 320 -128 320
WIRE 112 320 -48 320
WIRE 688 320 688 272
WIRE 688 320 624 320
WIRE 1232 320 1232 272
WIRE 1296 320 1232 320
WIRE 1968 320 1968 240
WIRE 1968 320 1808 320
WIRE 2032 320 1968 320
WIRE -48 352 -48 320
WIRE 368 352 304 352
WIRE 576 352 544 352
WIRE 1376 352 1344 352
WIRE 1616 352 1552 352
WIRE 1968 352 1968 320
WIRE 144 384 144 80
WIRE 256 384 144 384
WIRE 1776 384 1776 80
WIRE 1776 384 1664 384
WIRE -48 400 -112 400
WIRE 2032 400 1968 400
WIRE 80 432 80 272
WIRE 80 432 0 432
WIRE 304 432 304 400
WIRE 624 432 624 368
WIRE 624 432 304 432
WIRE 784 432 624 432
WIRE 1296 432 1296 368
WIRE 1296 432 1136 432
WIRE 1616 432 1616 400
WIRE 1616 432 1296 432
WIRE 1840 432 1840 272
WIRE 1920 432 1840 432
WIRE 784 496 784 432
WIRE 816 496 784 496
WIRE 960 496 896 496
WIRE 1024 496 960 496
WIRE 1136 496 1136 432
WIRE 1136 496 1104 496
WIRE -48 528 -48 448
WIRE 1968 528 1968 448
WIRE 784 560 784 496
WIRE 1136 560 1136 496
WIRE 16 576 -48 576
WIRE 112 576 112 320
WIRE 208 576 112 576
WIRE 320 576 272 576
WIRE 368 576 368 512
WIRE 624 576 624 432
WIRE 624 576 416 576
WIRE 1296 576 1296 432
WIRE 1504 576 1296 576
WIRE 1552 576 1552 512
WIRE 1648 576 1600 576
WIRE 1808 576 1808 320
WIRE 1808 576 1712 576
WIRE 1968 576 1904 576
WIRE -96 608 -128 608
WIRE 784 608 720 608
WIRE 1200 608 1136 608
WIRE 2048 608 2016 608
WIRE 960 640 832 640
WIRE 1088 640 960 640
WIRE 400 656 400 624
WIRE 1520 656 1520 624
WIRE -48 704 -48 624
WIRE 1968 704 1968 624
WIRE 784 720 784 656
WIRE 1136 720 1136 656
FLAG -112 400 0
FLAG 16 576 0
FLAG 368 352 0
FLAG 368 512 0
FLAG 544 352 in+
FLAG 32 224 Vb
FLAG 384 224 Vb
FLAG -48 704 0
FLAG -128 608 Vdd
FLAG 400 656 Vdd
FLAG 608 192 Vcmfb
FLAG 720 608 0
FLAG 784 720 0
FLAG 2032 400 0
FLAG 1904 576 0
FLAG 1552 352 0
FLAG 1552 512 0
FLAG 1376 352 in-
FLAG 1888 224 Vb
FLAG 1536 224 Vb
FLAG 1968 704 0
FLAG 2048 608 Vdd
FLAG 1520 656 Vdd
FLAG 1312 192 Vcmfb
FLAG 1200 608 0
FLAG 1136 720 0
FLAG 960 640 Vcm
FLAG 960 80 Vdd
FLAG 2112 -48 0
FLAG 2112 -224 Vdd
FLAG 1920 -48 0
FLAG 1920 -224 Vb
FLAG 1728 -48 0
FLAG 1728 -224 Vcm
FLAG 1216 -64 0
FLAG 1216 -240 Vin-
FLAG 704 -64 0
FLAG 704 -240 Vin+
FLAG 2032 320 Vout-
FLAG -128 320 Vout+
FLAG 960 496 Vcmfb
FLAG -128 -240 Vout+
FLAG 48 -240 in+
FLAG 224 -240 Vin+
FLAG -128 -112 Vout-
FLAG 48 -112 in-
FLAG 224 -112 Vin-
SYMBOL pmos4 0 144 M0
WINDOW 123 56 100 Left 2
SYMATTR Value2 W=1u L=0.18u m=10
SYMATTR InstName M1
SYMATTR Value PM
SYMBOL pmos4 352 144 M0
WINDOW 123 -108 -29 Left 2
SYMATTR Value2 W=1u L=0.18u m=10
SYMATTR InstName M2
SYMATTR Value PM
SYMBOL nmos4 -96 528 R0
WINDOW 123 56 100 Left 2
SYMATTR Value2 W=1u L=0.18u m=10
SYMATTR InstName M3
SYMATTR Value NM
SYMBOL nmos4 0 352 M0
WINDOW 123 56 100 Left 2
SYMATTR Value2 W=1u L=0.18u m=10
SYMATTR InstName M4
SYMATTR Value NM
SYMBOL nmos4 256 304 R0
WINDOW 123 56 100 Left 2
SYMATTR Value2 W=1u L=0.18u m=1
SYMATTR InstName M5
SYMATTR Value NM
SYMBOL cap 272 560 R90
WINDOW 0 0 32 VBottom 2
WINDOW 3 32 32 VTop 2
SYMATTR InstName Cc1
SYMATTR Value 1p
SYMBOL nmos4 320 624 R270
WINDOW 123 28 100 VRight 2
SYMATTR Value2 W=1u L=0.18u m=1
SYMATTR InstName M6
SYMATTR Value NM
SYMBOL pmos4 576 272 R0
WINDOW 123 56 100 Left 2
SYMATTR Value2 W=1u L=0.18u m=10
SYMATTR InstName M7
SYMATTR Value PM
SYMBOL pmos4 640 112 R0
WINDOW 123 56 100 Left 2
SYMATTR Value2 W=1u L=0.18u m=10
SYMATTR InstName M8
SYMATTR Value PM
SYMBOL nmos4 832 560 M0
WINDOW 123 56 100 Left 2
SYMATTR Value2 W=1u L=0.18u m=10
SYMATTR InstName M9
SYMATTR Value NM
SYMBOL pmos4 1920 144 R0
WINDOW 123 56 100 Left 2
SYMATTR Value2 W=1u L=0.18u m=10
SYMATTR InstName M10
SYMATTR Value PM
SYMBOL pmos4 1568 144 R0
WINDOW 123 -108 -29 Left 2
SYMATTR Value2 W=1u L=0.18u m=10
SYMATTR InstName M11
SYMATTR Value PM
SYMBOL nmos4 2016 528 M0
WINDOW 123 56 100 Left 2
SYMATTR Value2 W=1u L=0.18u m=10
SYMATTR InstName M12
SYMATTR Value NM
SYMBOL nmos4 1920 352 R0
WINDOW 123 56 100 Left 2
SYMATTR Value2 W=1u L=0.18u m=10
SYMATTR InstName M13
SYMATTR Value NM
SYMBOL nmos4 1664 304 M0
WINDOW 123 56 100 Left 2
SYMATTR Value2 W=1u L=0.18u m=1
SYMATTR InstName M14
SYMATTR Value NM
SYMBOL cap 1648 560 M90
WINDOW 0 0 32 VBottom 2
WINDOW 3 32 32 VTop 2
SYMATTR InstName Cc2
SYMATTR Value 1p
SYMBOL nmos4 1600 624 M270
WINDOW 123 28 100 VRight 2
SYMATTR Value2 W=1u L=0.18u m=1
SYMATTR InstName M15
SYMATTR Value NM
SYMBOL pmos4 1344 272 M0
WINDOW 123 56 100 Left 2
SYMATTR Value2 W=1u L=0.18u m=10
SYMATTR InstName M16
SYMATTR Value PM
SYMBOL pmos4 1280 112 M0
WINDOW 123 56 100 Left 2
SYMATTR Value2 W=1u L=0.18u m=10
SYMATTR InstName M17
SYMATTR Value PM
SYMBOL nmos4 1088 560 R0
WINDOW 123 56 100 Left 2
SYMATTR Value2 W=1u L=0.18u m=10
SYMATTR InstName M18
SYMATTR Value NM
SYMBOL voltage 2112 -192 R0
SYMATTR InstName Vdd
SYMATTR Value 1V
SYMBOL voltage 1920 -192 R0
SYMATTR InstName Vb
SYMATTR Value 0V
SYMBOL voltage 1728 -192 R0
SYMATTR InstName Vcm
SYMATTR Value 0.8V
SYMBOL voltage 1216 -208 R0
WINDOW 123 44 50 Left 2
WINDOW 39 0 0 Left 0
SYMATTR Value2 AC -1
SYMATTR InstName Vin-
SYMATTR Value PULSE(0.2 0 1u 10n 10n 2490n 5u)
SYMBOL voltage 704 -208 R0
WINDOW 123 43 51 Left 2
WINDOW 39 0 0 Left 0
SYMATTR Value2 AC 1
SYMATTR InstName Vin+
SYMATTR Value PULSE(0 0.2 1u 10n 10n 2490n 5u)
SYMBOL res 912 480 R90
WINDOW 0 0 56 VBottom 2
WINDOW 3 32 56 VTop 2
SYMATTR InstName R1
SYMATTR Value 1k
SYMBOL res 1120 480 R90
WINDOW 0 0 56 VBottom 2
WINDOW 3 32 56 VTop 2
SYMATTR InstName R2
SYMATTR Value 1k
SYMBOL res 0 -256 R90
WINDOW 0 0 56 VBottom 2
WINDOW 3 32 56 VTop 2
SYMATTR InstName R3
SYMATTR Value 2k
SYMBOL res 192 -256 R90
WINDOW 0 0 56 VBottom 2
WINDOW 3 32 56 VTop 2
SYMATTR InstName R4
SYMATTR Value 1k
SYMBOL res 0 -128 R90
WINDOW 0 0 56 VBottom 2
WINDOW 3 32 56 VTop 2
SYMATTR InstName R5
SYMATTR Value 2k
SYMBOL res 192 -128 R90
WINDOW 0 0 56 VBottom 2
WINDOW 3 32 56 VTop 2
SYMATTR InstName R6
SYMATTR Value 1k
TEXT 80 16 Left 2 !.lib mosfet_018.lib
TEXT 424 8 Left 2 !.tran 100u
TEXT 632 8 Left 2 !;.ac dec 100 1 1g
[AC Analysis]
{
Npanes: 2
Active Pane: 1
{
traces: 1 {65542,0,"V(vout+)/V(vin+)"}
X: ('G',0,1,0,1e+009)
Y[0]: (' ',0,0.0630957344480193,2,1)
Y[1]: (' ',0,-180,20,-0)
Log: 1 2 0
PltPhi: 1 0
},
{
traces: 1 {2,0,"V(vout+)/V(vin+)"}
X: ('G',0,1,0,1e+009)
Y[0]: (' ',0,0.0630957344480193,2,1)
Y[1]: (' ',0,-180,20,-0)
Log: 1 2 0
PltMag: 1
}
}
[Transient Analysis]
{
Npanes: 4
Active Pane: 3
{
traces: 1 {589826,0,"V(vin+)"}
X: ('µ',0,0,1e-005,0.0001)
Y[0]: (' ',1,0,0.1,1)
Y[1]: ('_',0,1e+308,0,-1e+308)
Volts: (' ',0,0,1,0,0.1,1)
Log: 0 0 0
},
{
traces: 1 {589830,0,"V(vin-)"}
X: ('µ',0,0,1e-005,0.0001)
Y[0]: (' ',1,0,0.1,1)
Y[1]: ('_',0,1e+308,0,-1e+308)
Volts: (' ',0,0,1,0,0.1,1)
Log: 0 0 0
},
{
traces: 1 {589837,0,"V(vout+)"}
X: ('µ',0,0,1e-005,0.0001)
Y[0]: ('m',1,0.147,0.0005,0.1525)
Y[1]: ('_',0,1e+308,0,-1e+308)
Volts: ('m',0,0,1,0.147,0.0005,0.1525)
Log: 0 0 0
},
{
traces: 1 {589829,0,"V(vout-)"}
X: ('µ',0,0,1e-005,0.0001)
Y[0]: ('m',1,0.1475,0.0005,0.1525)
Y[1]: ('_',0,1e+308,0,-1e+308)
Volts: ('m',0,0,1,0.1475,0.0005,0.1525)
Log: 0 0 0
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment