Listing 1--PWM constant-current-amplifier Spice circuit *#save V(1) V(25) @R4[i] @R4[p] V(3) @R1[i] @R1[p] V(5) *#save V(29) @R3[i] @R3[p] V(7) V(19) @R2[i] @R2[p] V(9) *#save @Vs[i] @Vs[p] V(10) @S4[i] @S4[p] V(11) @S2[i] @S2[p] *#save @S3[i] @S3[p] @S1[i] @S1[p] V(12) @V1[i] @V1[p] V(13) *#save V(18) @E1[i] @E1[p] @V5[i] @V5[p] V(8) @S6[i] @S6[p] *#save @V6[i] @V6[p] V(17) @Rload[i] @Rload[p] @Lload[i] @Rb[i] @Rb[p] *#save @Ra[i] @Ra[p] V(16) V(14) V(20) V(21) @R8[i] @R8[p] *#save @R9[i] @R9[p] @R10[i] @R10[p] @R11[i] @R11[p] @V3[i] @V3[p] *#save @C1[i] @C2[i] V(24) V(18) V(26) @R12[i] @R12[p] @VEin[i] *#save @VEin[p] @C3[i] @R14[i] @R14[p] @S5[i] @S5[p] V(15) V(30) *#save V(2) @L1[i] @L3[i] @C4[i] @C5[i] @R13[i] @R13[p] @C6[i] *#save @R15[i] @R15[p] @C7[i] V(23) V(29) V(6) V(4) V(21) *#save V(22) @V2[i] @V2[p] V(27) @Vcc[i] @Vcc[p] @Rq[i] @Rq[p] *#save V(28) @R17[i] @R17[p] @C8[i] @Rload[i] *#VIEW TRAN Y1 *#alias Y1 @Rload[i] .TRAN 22.2E-9 4000E-6 0 22.2E-8 UIC .PRINT TRAN Y1 R4 1 25 0.25 R1 3 23 0.25 R3 5 29 0.25 R2 7 19 0.25 Vs 9 0 DC=80 S4 29 1 10 0 _S4_mod .MODEL _S4_mod SW VT=2.5 RON=1E-9 ROFF=1E9 S2 23 7 11 0 _S2_mod .MODEL _S2_mod SW VT=2.5 RON=1E-9 ROFF=1E9 S3 9 5 11 0 _S3_mod .MODEL _S3_mod SW VT=2.5 RON=1E-9 ROFF=1E9 S1 3 9 10 0 _S1_mod .MODEL _S1_mod SW VT=2.5 RON=1E-9 ROFF=1E9 X1 11 10 INV { } .SUBCKT INV 1 2 * in out B1 3 0 V= ~V(1) RD 3 2 1 CD 2 0 .87NF .ENDS V1 12 0 PULSE 4 8 0 11.1E-6 11.1E-6 1E-12 22.2E-6 E1 13 0 12 18 1E9 *#save @E1[i] @E1[p] L1 23 4 400u V5 15 0 DC=5 S6 11 8 0 13 _S6_mod .MODEL _S6_mod SW VT=2.5 RON=1E-9 ROFF=1E9 V6 0 8 DC=5 Rload 17 6 16 V2 0 22 DC=12 Lload 4 17 1m Rb 25 0 0.1 Ra 19 0 0.1 X4 16 14 20 21 22 PA21 { } .SUBCKT PA21 1 2 3 4 5 * PINOUT ORDER +IN -IN OUT +V -V Q1 10 1 8 QI1 Q2 11 2 9 QI2 R3 12 8 7.39E+03 R4 12 9 7.39E+03 I2 12 5 3.61E-05 C1 12 5 2.73E-12 R5 12 5 1.11E+06 R1 4 10 8.85E+03 R2 4 11 8.85E+03 C2 10 11 9.00E-12 I1 4 5 3.70E-02 G1 6 15 11 10 1.13E-04 G2 6 15 12 15 6.36E-09 R6 6 15 1.00E+05 D1 6 15 DD D2 15 6 DD C3 6 7 3.00E-11 G3 15 7 15 6 8.85E+00 R7 7 15 1E3 D3 7 16 DD V1 18 16 1.60E+00 D4 17 7 DD V2 17 19 1.60E+00 RE1 15 0 0.001 E2 18 0 4 0 1 E3 19 0 5 0 1 R8 7 20 50 C4 20 15 3.08E-09 Q3 19 20 21 QOP Q4 18 20 22 QON Q5 4 23 29 QON Q6 5 24 30 QOP Q7 25 27 31 QLN Q8 26 28 31 QLP R11 21 23 1.70E-01 RCLP 29 31 1.70E-01 RCLN 30 31 1.70E-01 R13 22 24 1.70E-01 D5 23 25 DL D6 26 24 DL R9 27 29 1E3 R10 28 30 1E3 I3 18 23 7.92E-03 I4 24 19 7.92E-03 R15 31 3 5.42E-01 RSN 3 34 1 CSN 34 5 0.1E-6 .MODEL DD D(CJO=0.1PF IS=1E-17) .MODEL DL D(CJO=3PF IS=1E-13) .MODEL QI1 NPN (BF=6.55E+02 IS=8E-16) .MODEL QI2 NPN (BF=4.24E+02 IS=8.46E-16) .MODEL QOP PNP (BF=4.64E+02 IS=1E-14) .MODEL QON NPN (BF=4.64E+02 IS=1E-14) .MODEL QLN NPN (BF=100 IS=1E-14) .MODEL QLP PNP (BF=100 IS=1E-14) .ENDS R8 16 30 10K R9 14 2 10K R10 14 20 200K R11 16 0 200K Vcc 27 0 DC=12 V3 21 0 DC=12 C1 16 0 180p C2 14 20 180p Rq 27 0 600 X3 0 24 18 21 22 PA21 { } R12 24 26 10K VEin 26 0 DC=10 C3 18 24 71n S5 15 11 13 0 _S5_mod .MODEL _S5_mod SW VT=2.5 RON=1E-9 ROFF=1E9 L3 29 6 400u R14 24 20 10K C4 4 0 3.1u C5 0 6 3.1u R17 28 6 16 R13 30 25 100 C6 30 0 0.35u C8 4 28 3.9u R15 2 19 100 C7 2 0 0.35u .END