* SPICE netlist
Be1 COM Err I = limit(10*V(er,Err),.8m,-6m)*V(ok)
Bosc Osc hys I = 8.3m*u(V(hys,com)+V(Osc,Com)-2.6) tripdt=300n
Cosc hys COM 50p Rpar={1.7/8.3m}
Bdrv 0 drv I = V(ok) & V(latch) & !V(hys,com) Rpar=1 tripdt=30n
Blch 0 latch I = (u(V(Ierr)) & V(latch)) | V(hys,com) Rpar=1 tripdt=30n
Clch latch 0 10n
Bok 0 ok I = u(V(Vcc,Com)-16+6*V(ok)) Rpar=1
Cok ok 0 100n
Cdrv drv 0 10n
BIer 0 Ierr I = limit(V(Err,Com)-1.2,3,0)-3*V(Ifb,Com) Rpar=1
CIer Ierr 0 300n
Bi Vcc COM I = 11m*V(ok) + V(drv)*I(Vo) Rpar=27k
Bref Vcc 5 I = limit(5*V(ok)-V(5,Com),80m,0)
Rref 5 Ref 2
Cref 5 COM 10n
Ce2 er 2v5 10n
Be2 e COM V = limit(3k*V(2v5,Vfb),6,.7)
Re2 e er 50k
Re1 er Err 5e6
B2v5 2v5 COM V = 2.5*V(ok)
Di COM Vcc 34V
Co o COM 30n
Ce1 Err COM 30p
Bo COM o I = V(drv)*V(Vcc,Com)+table(-I(Vo),-1m,-1.3,0,0,.09,.5,.11,1.3,.3,1.4,1,5) Rpar=1 tripdt=30n
Vo o Out 0

* LTspice schematic (.asc)
Version 4
SHEET 1 1248 1280
WIRE -240 -176 -208 -176
WIRE 272 128 368 128
WIRE -368 432 -368 384
WIRE -368 384 -416 384
WIRE -368 544 -368 496
WIRE 272 160 272 128
WIRE 272 240 272 272
WIRE 464 176 464 128
WIRE 464 272 464 240
WIRE 368 128 464 128
WIRE -144 -480 -48 -480
WIRE -144 -448 -144 -480
WIRE -144 -368 -144 -336
WIRE 48 -432 48 -480
WIRE 48 -336 48 -368
WIRE -48 -480 48 -480
WIRE 272 -80 272 -48
WIRE 464 -144 464 -192
WIRE 464 -48 464 -80
WIRE 272 -192 368 -192
WIRE 272 -192 272 -160
WIRE 272 384 368 384
WIRE 272 416 272 384
WIRE 272 496 272 528
WIRE 464 432 464 384
WIRE 464 528 464 496
WIRE 368 384 464 384
WIRE -272 -480 -272 -448
WIRE -272 -368 -272 -320
WIRE -448 -448 -448 -480
WIRE -448 -480 -272 -480
WIRE -448 -384 -448 -352
WIRE -448 -480 -512 -480
WIRE -496 384 -512 384
WIRE -496 -352 -448 -352
WIRE 528 384 512 384
WIRE -496 128 -528 128
WIRE -368 128 -416 128
WIRE -368 176 -368 128
WIRE -368 288 -368 240
WIRE -512 -32 -496 -32
WIRE 528 -480 496 -480
WIRE 176 -448 176 -480
WIRE 176 -368 176 -320
WIRE 368 -192 464 -192
WIRE -368 -144 -368 -176
WIRE -368 -176 -448 -176
WIRE -368 -64 -368 -16
WIRE -192 -32 -192 -64
WIRE -192 -128 -192 -176
WIRE -80 -176 -64 -176
WIRE -208 -176 -192 -176
WIRE -192 -176 -160 -176
WIRE -320 -176 -368 -176
WIRE -192 -32 -112 -32
WIRE 32 -32 64 -32
WIRE 32 -176 64 -176
WIRE -624 -608 -624 -640
WIRE -624 -640 -592 -640
WIRE -624 608 -624 640
WIRE -624 640 -592 640
WIRE 592 640 624 640
WIRE 624 640 624 608
WIRE 592 -640 624 -640
WIRE 624 -640 624 -608
WIRE 368 -480 272 -480
WIRE 368 -432 368 -480
WIRE 368 -368 368 -320
WIRE -448 -128 -448 -176
WIRE -448 -176 -528 -176
WIRE -448 -64 -448 -16
WIRE -112 -32 -48 -32
WIRE 416 -480 368 -480
WIRE -64 -176 -48 -176
WIRE 272 -480 176 -480
WIRE -448 -352 -448 -320
WIRE -320 128 -352 128
WIRE -240 128 -224 128
WIRE -368 384 -336 384
WIRE -352 128 -368 128
WIRE -336 384 -304 384
FLAG -208 -176 er
FLAG 368 128 latch
FLAG -336 384 hys
FLAG 272 272 0
FLAG 464 272 0
FLAG -48 -480 ok
FLAG -144 -336 0
FLAG 48 -336 0
FLAG 272 -48 0
FLAG 528 -480 Out
IOPIN 752 -512 Out
FLAG 464 -48 0
FLAG -512 -480 Vcc
IOPIN -288 -512 In
FLAG 368 384 Ierr
FLAG 272 528 0
FLAG 464 528 0
FLAG -528 128 Ref
IOPIN -304 96 Out
FLAG -512 384 Osc
IOPIN -288 352 In
FLAG -496 -352 Com
IOPIN -272 -384 In
FLAG 528 384 Ifb
IOPIN 752 352 In
FLAG -352 128 5
FLAG -528 -176 Err
IOPIN -304 -208 Out
FLAG -512 -32 Vfb
IOPIN -288 -64 In
FLAG 368 -192 drv
FLAG -112 -32 2v5
FLAG -368 544 COM
FLAG 272 -480 o
FLAG -64 -176 e
FLAG -448 -320 COM
FLAG 368 -320 COM
FLAG -448 -16 COM
FLAG -368 288 COM
FLAG 64 -176 COM
FLAG 64 -32 COM
FLAG -368 -16 COM
FLAG 176 -320 COM
FLAG -224 128 Vcc
FLAG -272 -320 COM
SYMBOL bi -368 -64 R180
SYMATTR InstName Be1
SYMATTR Value I = limit(10*V(er,Err),.8m,-6m)*V(ok)
SYMBOL bi -496 384 R270
SYMATTR InstName Bosc
SYMATTR Value I = 8.3m*u(V(hys,com)+V(Osc,Com)-2.6)
SYMATTR Value2 tripdt=300n
SYMBOL cap -384 432 R0
SYMATTR InstName Cosc
SYMATTR Value 50p
SYMATTR SpiceLine Rpar={1.7/8.3m}
SYMBOL bi 272 -80 M180
SYMATTR InstName Bdrv
SYMATTR Value I = V(ok) & V(latch) & !V(hys,com)
SYMATTR Value2 Rpar=1
SYMATTR SpiceLine tripdt=30n
SYMBOL bi 272 240 M180
SYMATTR InstName Blch
SYMATTR Value I = (u(V(Ierr)) & V(latch)) | V(hys,com)
SYMATTR Value2 Rpar=1
SYMATTR SpiceLine tripdt=30n
SYMBOL cap 448 176 R0
SYMATTR InstName Clch
SYMATTR Value 10n
SYMBOL bi -144 -368 R180
SYMATTR InstName Bok
SYMATTR Value I = u(V(Vcc,Com)-16+6*V(ok))
SYMATTR Value2 Rpar=1
SYMBOL cap 32 -432 R0
SYMATTR InstName Cok
SYMATTR Value 100n
SYMBOL cap 448 -144 R0
SYMATTR InstName Cdrv
SYMATTR Value 10n
SYMBOL bi 272 496 M180
SYMATTR InstName BIer
SYMATTR Value I = limit(V(Err,Com)-1.2,3,0)-3*V(Ifb,Com)
SYMATTR Value2 Rpar=1
SYMBOL cap 448 432 R0
SYMATTR InstName CIer
SYMATTR Value 300n
SYMBOL bi -272 -448 R0
SYMATTR InstName Bi
SYMATTR Value I = 11m*V(ok) + V(drv)*I(Vo)
SYMATTR Value2 Rpar=27k
SYMBOL bi -240 128 R90
SYMATTR InstName Bref
SYMATTR Value I = limit(5*V(ok)-V(5,Com),80m,0)
SYMBOL res -400 112 R90
SYMATTR InstName Rref
SYMATTR Value 2
SYMBOL cap -352 176 M0
SYMATTR InstName Cref
SYMATTR Value 10n
SYMBOL cap -176 -128 M0
SYMATTR InstName Ce2
SYMATTR Value 10n
SYMBOL bv -64 -176 R270
SYMATTR InstName Be2
SYMATTR Value V = limit(3k*V(2v5,Vfb),6,.7)
SYMBOL res -64 -192 R90
SYMATTR InstName Re2
SYMATTR Value 50k
SYMBOL res -224 -192 R90
SYMATTR InstName Re1
SYMATTR Value 5e6
SYMBOL bv -64 -32 R270
SYMATTR InstName B2v5
SYMATTR Value V = 2.5*V(ok)
SYMBOL zener -432 -384 R180
SYMATTR InstName Di
SYMATTR Value 34V
SYMBOL cap 352 -432 R0
SYMATTR InstName Co
SYMATTR Value 30n
SYMBOL cap -432 -128 M0
SYMATTR InstName Ce1
SYMATTR Value 30p
SYMBOL bi 176 -368 M180
SYMATTR InstName Bo
SYMATTR Value I = V(drv)*V(Vcc,Com)+table(-I(Vo),-1m,-1.3,0,0,.09,.5,.11,1.3,.3,1.4,1,5)
SYMATTR SpiceLine tripdt=30n
SYMATTR Value2 Rpar=1
SYMBOL voltage 400 -480 R270
SYMATTR InstName Vo
SYMATTR Value 0