* SPICE netlist
Rin Vcoin Vss {Rin}
Rvdd Vdd Vss 1g
Blim Vlim Vss V=(if(v(vcoin,vss)<v(vdd,vss),S1*v(vcoin,vss),S2*(v(vcoin,vss)-v(vdd,vss))+v(vdd,vss)))
Rlim Vlim Vss 1e6
Bmul Mix Vss V=(v(vlim)*Kb+Vfree)
Rmul Mix Vss 1
Er2 Ir2 Vss Vdd Ir2 1e3
Vr2 Ir2 r2 0
Er1 Ir1 Vss Mix Ir1 1e3
Vr1 Ir1 r1 0
Bosc Adj Vss V=TABLE ((abs(V(vdd)*V(mix)/I(VR2)*I(VR1))),.5,1.43, 1,1.6, 10,1.04, 50,.67, 100,.84, 101,1, 102,1, 1000,1)
Radj Adj Vss 1g
Bim Ce1 Vss I=((M1*I(VR1)*V(adj)+M2*I(VR2))*Kc*V(sqr))
Vcext Ce2 Vss 0
Cstray Ce1 Ce2 6p
Rcext Ce1 Ce2 1g
Bsqr Pul Vss V=(-1e7*V(Ce1)+1.2e6*V(sqr))
Rsq Sqr Pul .1T
Csq Sqr Vss 10f
Dsq1 Sqr 13 Dio
Vsq1 13 Vss {Vdd}
Dsq2 14 Sqr Dio
Vsq2 14 Vss {-Vdd}
BOut Vcout Vss V=table ((v(off)*(v(sqr))),.1,.1, v(vdd),v(vdd))
Rinh Inh Vss 1e6
Boff Off Vss V=(if(v(inh)<0.9,1,0))
Roff Off Vss 1e6
Dzener Vss Zener Zen
Rz Zener Vss 1g
Bdem Demout Vss V=table ((2e8*v(vcoin,demout)*v(off)),-20,-20, 20,20)
Rdemout Demout Vss 1g
+Eg=1.11 Cjo=160p M=.5484 Vj=.75 Fc=.5 Isr=1.8n
+Nr=2 Bv=7.3 Ibv=27.721m Nbv=1.1779 Ibvl=1.1646m
+Nbvl=21.894 Tbv1=176.47u)

* LTspice schematic (.asc)
Version 4
SHEET 1 1296 560
WIRE -632 -216 -632 -232
WIRE -632 -104 -632 -136
WIRE -600 152 -600 120
WIRE -600 168 -600 152
WIRE -600 280 -600 248
WIRE -584 -232 -632 -232
WIRE -536 -232 -584 -232
WIRE -536 -200 -536 -232
WIRE -536 -104 -632 -104
WIRE -536 -104 -536 -120
WIRE -504 168 -504 136
WIRE -504 280 -600 280
WIRE -504 280 -504 248
WIRE -488 136 -504 136
WIRE -456 -216 -472 -216
WIRE -456 -216 -456 -264
WIRE -456 -200 -456 -216
WIRE -456 -104 -536 -104
WIRE -456 -104 -456 -120
WIRE -424 -264 -456 -264
WIRE -424 -216 -456 -216
WIRE -392 168 -392 136
WIRE -392 280 -504 280
WIRE -392 280 -392 248
WIRE -376 136 -392 136
WIRE -328 -264 -344 -264
WIRE -328 -216 -360 -216
WIRE -328 -216 -328 -264
WIRE -328 -200 -328 -216
WIRE -328 -104 -456 -104
WIRE -328 -104 -328 -120
WIRE -296 -216 -328 -216
WIRE -296 168 -296 152
WIRE -296 280 -392 280
WIRE -296 280 -296 248
WIRE -232 152 -296 152
WIRE -184 152 -232 152
WIRE -184 168 -184 152
WIRE -184 280 -296 280
WIRE -184 280 -184 248
WIRE -120 152 -120 136
WIRE -120 280 -184 280
WIRE -120 280 -120 232
WIRE -56 136 -120 136
WIRE -40 -104 -328 -104
WIRE -24 136 -56 136
WIRE -24 184 -24 136
WIRE -24 280 -120 280
WIRE -24 280 -24 264
WIRE 24 280 -24 280
WIRE 56 104 56 8
WIRE 56 248 56 168
WIRE 88 104 56 104
WIRE 88 248 56 248
WIRE 104 -216 56 -216
WIRE 104 -200 104 -216
WIRE 104 -104 -40 -104
WIRE 104 -104 104 -120
WIRE 120 56 104 56
WIRE 120 104 88 104
WIRE 120 200 104 200
WIRE 120 248 88 248
WIRE 152 -216 104 -216
WIRE 168 8 56 8
WIRE 168 40 168 8
WIRE 168 152 168 120
WIRE 168 168 56 168
WIRE 168 184 168 168
WIRE 168 280 24 280
WIRE 168 280 168 264
WIRE 264 -216 232 -216
WIRE 264 -216 264 -248
WIRE 264 -200 264 -216
WIRE 264 -104 104 -104
WIRE 264 -104 264 -136
WIRE 280 8 168 8
WIRE 280 24 280 8
WIRE 280 120 280 104
WIRE 280 168 168 168
WIRE 280 184 280 168
WIRE 280 264 264 264
WIRE 312 -216 264 -216
WIRE 328 152 168 152
WIRE 328 280 168 280
WIRE 328 280 328 152
WIRE 376 184 376 168
WIRE 376 280 328 280
WIRE 376 280 376 264
WIRE 392 -216 376 -216
WIRE 408 -216 392 -216
WIRE 408 -200 408 -216
WIRE 408 -104 264 -104
WIRE 408 -104 408 -120
WIRE 408 56 408 40
WIRE 408 152 328 152
WIRE 408 152 408 120
WIRE 424 -248 264 -248
WIRE 424 -216 424 -248
WIRE 440 -216 424 -216
WIRE 440 168 376 168
WIRE 440 184 440 168
WIRE 440 280 376 280
WIRE 440 280 440 264
WIRE 456 40 408 40
WIRE 456 56 456 40
WIRE 456 152 408 152
WIRE 456 152 456 136
WIRE 456 168 440 168
WIRE 472 40 456 40
WIRE 504 184 504 168
WIRE 504 280 440 280
WIRE 504 280 504 264
WIRE 536 -216 504 -216
WIRE 552 -216 536 -216
WIRE 552 -200 552 -216
WIRE 552 -104 408 -104
WIRE 552 -104 552 -120
WIRE 552 168 504 168
WIRE 616 168 552 168
WIRE 616 184 616 168
WIRE 616 280 504 280
WIRE 616 280 616 264
WIRE 632 -200 632 -216
WIRE 632 -104 552 -104
WIRE 632 -104 632 -120
WIRE 648 -216 632 -216
FLAG 24 280 Vss
FLAG -600 152 Vdd
FLAG -488 136 Vcoin
FLAG -232 152 Vlim
FLAG -56 136 Mix
FLAG 88 248 Ir2
FLAG 104 200 Vdd
FLAG 264 264 r2
FLAG 88 104 Ir1
FLAG 104 56 Mix
FLAG 280 120 r1
FLAG -40 -104 Vss
FLAG -584 -232 Adj
FLAG -296 -216 Ce1
FLAG -472 -216 Ce2
FLAG 56 -216 Pul
FLAG 264 -248 Sqr
FLAG 392 -216 13
FLAG 536 -216 14
FLAG 632 -216 Vcout
FLAG -376 136 Inh
FLAG 456 168 Off
FLAG 472 40 Zener
FLAG 552 168 Demout
SYMBOL res -520 152 R0
SYMATTR InstName Rin
SYMATTR Value {Rin}
SYMBOL res -616 152 R0
SYMATTR InstName Rvdd
SYMATTR Value 1g
SYMBOL bv -184 152 R0
SYMATTR InstName Blim
SYMATTR Value V=(if(v(vcoin,vss)<v(vdd,vss),S1*v(vcoin,vss),S2*(v(vcoin,vss)-v(vdd,vss))+v(vdd,vss)))
SYMBOL res -312 152 R0
SYMATTR InstName Rlim
SYMATTR Value 1e6
SYMBOL bv -24 168 R0
SYMATTR InstName Bmul
SYMATTR Value V=(v(vlim)*Kb+Vfree)
SYMBOL res -136 136 R0
SYMATTR InstName Rmul
SYMATTR Value 1
SYMBOL e 168 168 R0
SYMATTR InstName Er2
SYMATTR Value 1e3
SYMBOL voltage 280 168 R0
SYMATTR InstName Vr2
SYMATTR Value 0
SYMBOL e 168 24 R0
SYMATTR InstName Er1
SYMATTR Value 1e3
SYMBOL voltage 280 8 R0
SYMATTR InstName Vr1
SYMATTR Value 0
SYMBOL bv -536 -216 R0
SYMATTR InstName Bosc
SYMATTR Value V=TABLE ((abs(V(vdd)*V(mix)/I(VR2)*I(VR1))),.5,1.43, 1,1.6, 10,1.04, 50,.67, 100,.84, 101,1, 102,1, 1000,1)
SYMBOL res -648 -232 R0
SYMATTR InstName Radj
SYMATTR Value 1g
SYMBOL bi -328 -200 R0
SYMATTR InstName Bim
SYMATTR Value I=((M1*I(VR1)*V(adj)+M2*I(VR2))*Kc*V(sqr))
SYMBOL voltage -456 -216 R0
SYMATTR InstName Vcext
SYMATTR Value 0
SYMBOL cap -360 -232 R90
SYMATTR InstName Cstray
SYMATTR Value 6p
SYMBOL res -328 -280 R90
SYMATTR InstName Rcext
SYMATTR Value 1g
SYMBOL bv 104 -216 R0
SYMATTR InstName Bsqr
SYMATTR Value V=(-1e7*V(Ce1)+1.2e6*V(sqr))
SYMBOL res 248 -232 R90
SYMATTR InstName Rsq
SYMATTR Value .1T
SYMBOL cap 248 -200 R0
SYMATTR InstName Csq
SYMATTR Value 10f
SYMBOL diode 312 -200 R270
SYMATTR InstName Dsq1
SYMATTR Value Dio
SYMBOL voltage 408 -216 R0
SYMATTR InstName Vsq1
SYMATTR Value {Vdd}
SYMBOL diode 504 -232 R90
SYMATTR InstName Dsq2
SYMATTR Value Dio
SYMBOL voltage 552 -216 R0
SYMATTR InstName Vsq2
SYMATTR Value {-Vdd}
SYMBOL bv 632 -216 R0
SYMATTR InstName BOut
SYMATTR Value V=table ((v(off)*(v(sqr))),.1,.1, v(vdd),v(vdd))
SYMBOL res -408 152 R0
SYMATTR InstName Rinh
SYMATTR Value 1e6
SYMBOL bv 376 168 R0
SYMATTR InstName Boff
SYMATTR Value V=(if(v(inh)<0.9,1,0))
SYMBOL res 424 168 R0
SYMATTR InstName Roff
SYMATTR Value 1e6
SYMBOL zener 424 120 R180
SYMATTR InstName Dzener
SYMATTR Value Zen
SYMBOL res 440 40 R0
SYMATTR InstName Rz
SYMATTR Value 1g
SYMBOL bv 616 168 R0
SYMATTR InstName Bdem
SYMATTR Value V=table ((2e8*v(vcoin,demout)*v(off)),-20,-20, 20,20)
SYMBOL res 488 168 R0
SYMATTR InstName Rdemout
SYMATTR Value 1g