Skip to content

Instantly share code, notes, and snippets.

@buttercutter
Created March 29, 2019 01:37
Show Gist options
  • Save buttercutter/6f8945f877b88e6ad5a0ddc742c1850a to your computer and use it in GitHub Desktop.
Save buttercutter/6f8945f877b88e6ad5a0ddc742c1850a to your computer and use it in GitHub Desktop.
gilbert cell mixer circuit
* 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 2264 2956
WIRE 1024 -496 64 -496
WIRE 1088 -496 1024 -496
WIRE 240 -448 128 -448
WIRE 384 -448 320 -448
WIRE 448 -448 384 -448
WIRE 560 -448 528 -448
WIRE 624 -448 560 -448
WIRE 736 -448 704 -448
WIRE 864 -448 736 -448
WIRE 384 -432 384 -448
WIRE 560 -432 560 -448
WIRE 736 -432 736 -448
WIRE 864 -432 864 -448
WIRE 64 -400 64 -496
WIRE 1024 -384 1024 -496
WIRE 384 -352 384 -368
WIRE 560 -352 560 -368
WIRE 560 -352 384 -352
WIRE 736 -352 736 -368
WIRE 736 -352 560 -352
WIRE 864 -352 736 -352
WIRE 128 -320 128 -368
WIRE 176 -320 128 -320
WIRE 224 -320 176 -320
WIRE 384 -320 304 -320
WIRE 864 -320 864 -352
WIRE 384 -288 384 -320
WIRE 1024 -272 1024 -304
WIRE 64 -240 64 -320
WIRE 240 -240 240 -272
WIRE 240 -240 64 -240
WIRE 608 -240 240 -240
WIRE 288 -208 288 -272
WIRE 448 -208 288 -208
WIRE 1024 -208 1024 -272
WIRE 1024 -208 448 -208
WIRE 64 -192 64 -240
WIRE 64 -160 64 -192
WIRE 448 -160 448 -208
WIRE 608 -160 608 -240
WIRE 1024 -160 1024 -208
WIRE 80 -112 64 -112
WIRE 448 -112 432 -112
WIRE 624 -112 608 -112
WIRE 1024 -112 1008 -112
WIRE 16 -80 -16 -80
WIRE 528 -80 496 -80
WIRE 560 -80 528 -80
WIRE 1216 -80 1072 -80
WIRE 608 -32 608 -64
WIRE 624 -32 624 -112
WIRE 624 -32 608 -32
WIRE 816 -32 624 -32
WIRE 1008 -32 1008 -112
WIRE 1008 -32 816 -32
WIRE 1024 -32 1024 -64
WIRE 1024 -32 1008 -32
WIRE 64 16 64 -64
WIRE 80 16 80 -112
WIRE 80 16 64 16
WIRE 256 16 80 16
WIRE 432 16 432 -112
WIRE 432 16 256 16
WIRE 448 16 448 -64
WIRE 448 16 432 16
WIRE 1216 16 1216 -80
WIRE 1216 16 1136 16
WIRE -16 32 -16 -80
WIRE 1136 32 1136 16
WIRE 1136 32 -16 32
WIRE 816 80 816 -32
WIRE 1216 80 1216 16
WIRE 528 192 528 -80
WIRE 1088 208 1088 -496
WIRE 112 224 0 224
WIRE 256 224 256 16
WIRE 256 224 112 224
WIRE 0 272 0 224
WIRE 0 416 0 352
WIRE 352 416 0 416
WIRE 528 416 528 272
WIRE 528 416 352 416
WIRE 816 416 816 160
WIRE 816 416 528 416
WIRE 1088 416 1088 288
WIRE 1088 416 816 416
WIRE 1216 416 1216 160
WIRE 1216 416 1088 416
WIRE 352 448 352 416
FLAG 352 448 0
FLAG 112 224 inp
FLAG 64 -192 outp
FLAG 1024 -272 outn
FLAG 384 -288 0
FLAG 176 -320 out
FLAG 864 -320 0
FLAG 864 -448 out_lpf
SYMBOL nmos4 16 -160 R0
WINDOW 3 84 51 Left 2
WINDOW 123 74 86 Left 2
SYMATTR Value NM
SYMATTR Value2 l=0.18u w=6u
SYMATTR InstName M1
SYMBOL voltage 1088 192 R0
WINDOW 123 0 0 Left 2
WINDOW 39 0 0 Left 2
SYMATTR InstName VDD
SYMATTR Value 1.8V
SYMBOL current 0 272 R0
WINDOW 123 24 102 Left 2
SYMATTR Value2 AC 1
SYMATTR InstName RF+
SYMATTR Value SINE(1m 0.25m 1.1g)
SYMBOL res 80 -304 R180
WINDOW 0 36 76 Left 2
WINDOW 3 36 40 Left 2
SYMATTR InstName R1
SYMATTR Value 300
SYMBOL voltage 1216 64 R0
WINDOW 123 0 0 Left 2
WINDOW 39 0 0 Left 2
SYMATTR InstName LO+
SYMATTR Value PULSE(0 1.8 0 100p 100p 0.3n 1n)
SYMBOL current 816 80 R0
WINDOW 123 24 102 Left 2
SYMATTR Value2 AC 1
SYMATTR InstName RF-
SYMATTR Value SINE(1m -0.25m 1.1g)
SYMBOL nmos4 560 -160 R0
WINDOW 3 84 51 Left 2
WINDOW 123 74 86 Left 2
SYMATTR Value NM
SYMATTR Value2 l=0.18u w=6u
SYMATTR InstName M3
SYMBOL nmos4 496 -160 M0
WINDOW 3 84 51 Left 2
WINDOW 123 74 86 Left 2
SYMATTR Value NM
SYMATTR Value2 l=0.18u w=6u
SYMATTR InstName M4
SYMBOL nmos4 1072 -160 M0
WINDOW 3 84 51 Left 2
WINDOW 123 74 86 Left 2
SYMATTR Value NM
SYMATTR Value2 l=0.18u w=6u
SYMATTR InstName M5
SYMBOL voltage 528 176 R0
WINDOW 123 0 0 Left 2
WINDOW 39 0 0 Left 2
SYMATTR InstName LO-
SYMATTR Value PULSE(1.8 0 0 100p 100p 0.3n 1n)
SYMBOL res 1040 -288 R180
WINDOW 0 36 76 Left 2
WINDOW 3 36 40 Left 2
SYMATTR InstName R2
SYMATTR Value 300
SYMBOL e 208 -320 R270
SYMATTR InstName E1
SYMATTR Value 1
SYMBOL res 112 -352 M180
WINDOW 0 36 76 Left 2
WINDOW 3 36 40 Left 2
SYMATTR InstName R3
SYMATTR Value 50
SYMBOL ind 336 -464 R90
WINDOW 0 5 56 VBottom 2
WINDOW 3 32 56 VTop 2
SYMATTR InstName L1
SYMATTR Value 20.6n
SYMBOL ind 544 -464 R90
WINDOW 0 5 56 VBottom 2
WINDOW 3 32 56 VTop 2
SYMATTR InstName L2
SYMATTR Value 76.9n
SYMBOL cap 368 -432 R0
SYMATTR InstName C1
SYMATTR Value 22.5p
SYMBOL cap 544 -432 R0
SYMATTR InstName C2
SYMATTR Value 30.7p
SYMBOL cap 720 -432 R0
SYMATTR InstName C3
SYMATTR Value 8.2p
SYMBOL ind 720 -464 R90
WINDOW 0 5 56 VBottom 2
WINDOW 3 32 56 VTop 2
SYMATTR InstName L3
SYMATTR Value 56.3n
SYMBOL res 848 -336 M180
WINDOW 0 36 76 Left 2
WINDOW 3 36 40 Left 2
SYMATTR InstName R4
SYMATTR Value 50
TEXT 1328 -368 Left 2 !.op
TEXT 1336 -344 Left 2 !;ac dec 100 1 10g
TEXT 1280 -216 Left 2 ;;.include tsmc180nmcmos.lib
TEXT 1272 -288 Left 2 ;;.dc I1 -165n 165n 1n
TEXT 1296 -184 Left 2 !.lib mosfet_018.lib
TEXT 1336 -400 Left 2 ;.dc v1 0 2.4
TEXT 1344 -480 Left 2 !.tran 0 100n 0 10p\n.options plotwinsize=0
[Transient Analysis]
{
Npanes: 4
Active Pane: 3
{
traces: 1 {524290,0,"V(outp)-V(outn)"}
X: ('n',0,0,1e-008,1e-007)
Y[0]: ('m',0,-0.18,0.03,0.18)
Y[1]: (' ',0,1e+308,60,-1e+308)
Volts: ('m',0,0,0,-0.18,0.03,0.18)
Log: 0 0 0
GridStyle: 1
PltMag: 1
PltPhi: 1 0
},
{
traces: 1 {589828,0,"I(Lo+)-I(Lo-)"}
X: ('n',0,0,1e-008,1e-007)
Y[0]: ('m',1,-0.0012,0.0002,0.0012)
Y[1]: (' ',0,1e+308,2,-1e+308)
Amps: ('m',0,0,1,-0.0012,0.0002,0.0012)
Log: 0 0 0
GridStyle: 1
PltMag: 1
PltPhi: 1 0
},
{
traces: 1 {589830,0,"I(Rf+)-I(Rf-)"}
X: ('n',0,0,1e-008,1e-007)
Y[0]: ('µ',0,-0.0005,0.0001,0.0005)
Y[1]: ('m',1,1e+308,0.0002,-1e+308)
Amps: ('µ',0,0,0,-0.0005,0.0001,0.0005)
Log: 0 0 0
GridStyle: 1
PltMag: 1
PltPhi: 1 0
},
{
traces: 1 {589837,0,"V(out_lpf)"}
X: ('n',0,0,1e-008,1e-007)
Y[0]: ('m',0,-0.054,0.009,0.054)
Y[1]: ('K',1,1e+308,600,-1e+308)
Volts: ('m',0,0,0,-0.054,0.009,0.054)
Log: 0 0 0
GridStyle: 1
PltMag: 1
PltPhi: 1 0
}
}
[AC Analysis]
{
Npanes: 1
{
traces: 1 {2,0,"V(outp)-V(outn)"}
X: ('G',0,1,0,1e+010)
Y[0]: (' ',0,1e-030,30,1e-012)
Y[1]: (' ',0,-60,60,660)
Log: 1 2 0
GridStyle: 1
PltMag: 1
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment