96
PSPICE PSPICE 电电电电电电电电 电电电电电电电电 电电电 电电电 电电电 电电电

PSPICE 电子线路辅助设计

  • Upload
    lumina

  • View
    100

  • Download
    0

Embed Size (px)

DESCRIPTION

PSPICE 电子线路辅助设计. 主讲人:徐莹隽. 第一部分. 计算机辅助电路分析基础. 计算机辅助电路设计的特点. 电路规模可以从简单到复杂 电路的计算精度非常高 提高了设计效率,减少了设计周期 可以进行极限状态和最坏情况分析 可以进行容差分析和优化设计. 电路设计流程. 常见电路网络. 线性电阻网络 线性动态网络 非线性电阻网络 非线性动态网络. 常见电路分析内容. 直流分析 求线性电阻网络的直流解,给出节点及支路的电压和电流值,给出直流功耗。 - PowerPoint PPT Presentation

Citation preview

  • PSPICE

  • CACA

  • ()

  • ( ()

  • PSPICE (

  • PSPICE

  • SPCIEPSPICESimulation Program with Integrated Circuit Emphasis19721988SPICE1984MicrosimPSPICEPCSPICESPICEPSPICE

  • Example1: Simple Amplifier.LIB BIPOLAR.LIBV1 1 0 AC 1 SIN(0 10M 1K)R1 1 2 1KC1 2 3 10UR2 4 3 50KR3 3 0 10KR7 4 5 3K*Included A BipolarQ1 5 3 6 Q2N2222AR8 6 0 1KC2 6 0 100UC3 5 7 10UR6 7 0 1KV2 4 0 DC 12V.TRAN 1US 10MS.PROBE .END *

  • ()16AZ() T1E12G1E9MEG1E6K1E3MIL25.4E-6M1E-3U1E-6N1E-9P1E12F1E15

  • 0000

  • PSPICE

  • R(name) N+ N- ModName Value:R1 1 2 100 RF 4 5 RMOD 12KN+N-N+N- ModName.MODELValuePSPICE

  • C(name) N+ N- ModName Value IC=V0:C1 1 2 10U Cload 4 5 CMOD 10PN+N-N+N- ModName.MODELValueIC0V0.TRANUICIC

  • L(name) N+ N- ModName Value IC=I0:L1 1 2 10U LA 4 5 LMOD 10MN+N-N+N-ModName.MODELValueIC0I01.TRANUICIC

  • K(name) L(1st name) L(2nd name) Value < ModName> :L1 1 2 0.5mH L2 4 5 0.5mH K1 L1 L2 0.9999 L(1st name) L(2nd name) ValueK1< ModName> 1< ModName> (1)BHJilsAtherton(2)(3)(4)

  • T(name) NA+ NA- NB+ NB- Z0= + [TD=] [F= NL=]T(name) NA+ NA- NB+ NB- NA+ NB+ NA- NB-NA+ NA- NB+ NB- Z0TDFNLNLFFNLNL0.25F14

  • S(name) N+ N- NC+ NC- S1 6 5 4 0 SMOD1 N+N-NC+NC- .MODEL

  • W(name) N+ N- VN W1 6 5 VIN WMOD1 N+N-VN .MODEL

  • D(name) N+ N- D1 3 4 DMOD1 N+N- AREAOFFAREA1.0ICVD

  • Q(name) NC NB NE Q1 3 4 5 QMOD1 NCNBNENSNSNS AREAOFFAREA1.0ICVBE,VCE

  • JFET J(name) ND NG NS J1 3 4 5 JMOD1NDNGNSAREAOFFAREA1.0ICVDS,VGS

  • MOSFET M(name) ND NG NS NB + + + + + M1 3 4 5 MMOD1NDNGNS,NB LWADASPDPSLW100mm ADASNRDNRS .MODELRSHNRGNRBPDPS0NRDNRS1,NRGNRB0MMOSFETM(RDRS)M

  • GaAs FET B(name) ND NG NS B1 3 4 5 BMOD1NDNGNSAREAOFFAREA1.0ICVDS,VGS

  • U(name) + + + +U1 NAND(2) 1 2 10 Do_Gate I/O_PETI/O1UCLOCK STIM(1,1) OUT1 IO_STM+0S 0+LABEL=STARTLOOP+ +5NS 1+ +5NS 0+ +5NS GOTO STARTLOOP 1 TIMES2 UIOI STIM(4,4) IN1 IN2 IN3 IN4 +IO_STM TIMESTEP=1NS+0S 0+LABEL=STARTLOOP+ 10C 1+ 20C A+ +5NS 0+ 30C GOTO STARTLOOP 1 TIMES+ +10C 13 UEX5 STIM ( 16, 4444 ) $G_DPWR $G_DGND+ 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1+ IO_STM TIMESTEP = 10ns+ 0s 0000+ LABEL=STARTLOOP+ 10c INCR BY 0001+ 20c GOTO STARTLOOP UNTIL GE 000A

  • U(name) STIM (, + + + ++ + + + + + 138416 () 0 SC()TIMESTEP(01XZ)

  • V(name) N+ N- + + + Vcc 3 0 DC 6V Vin 1 0 DC 2 AC 1 30 SIN(0 2V 10kHz) N+N-

  • I(name) N+ N- + + + I1 3 0 DC 6V Iin 1 0 DC 2 AC 1 30 SIN(0 2V 10kHz) N+N-

  • EXP(V1 V2 TRD TRC TFD TFC)V1V2TRDTRCTFDTFC

    V1

    V2

    TRC

    TRD

    TFD

    TFC

    t

    V(V)

  • PULSE(V1 V2 TD TR TF PW PER)V1V2TDTRTFPWPER

    V1

    V2

    TR

    TD

    TF

    t

    V(V)

    PER

    PW

  • PWL (T1 V1 T2 V2 .TN VN)TiVi

    V(V)

    T1

    T2

    T3

    T4

    T5

    T6

    V1

    V2

    V3

    V4

    V5

    V6

    t

  • SFFM (V0 VA FC MOD FS)V=V0+VAsin[(2FCt)+Msin(2FSt)]V0VAFCMODFS

  • SIN (V0 VA FREQ TD ALPHA THETA)V=V0+VAe-(t-td)sin[2f(t-td)-]V0VAFREQ TD ALPHATHETA

  • POLY(n) N1+ N1- N2+ N2- .. Nn+ Nn- +P0 P1 Pmn=1:Y=P0+P1A+P2A2+ P3A3+.. PnAnn=2: Y= P0+P1A+ P2B+ P3A2+ P4AB+ P5B2 + P6A3+ P7A2 B+ P8AB2 + P9B3..n=3: Y= P0+P1A+ P2B + P3C+ P4A2+ P5AB+ P6AC + P7B2 + P8BC + P9C2 + P10A3 + P11A2 B+ P12A2 C + P13AB2 + P14ABC + P15AC2 + P16B3 + P17B2 C + P18 BC2 + P19C3 + P20A4 + ..

  • E(name) N+ N- NC+ NC- H(name) N+ N- VN E1 3 4 1 0 6 Hin 1 0 Vin 2 N+N- NC+NC-VN

  • G(name) N+ N- NC+ NC- F(name) N+ N- VN G1 3 4 1 0 6 Fin 1 0 Vin 2 N+N- NC+NC-, VN

  • E(name) N+ N- Poly(n) +NC1+ NC1- NC2+ NC2- .. NCn+ NCn- +P0 P1 P2Pm H(name) N+ N- Poly(n) VN1 VN2.. VNn +P0 P1 P2Pm E1 10 12 POLY(2) 3 0 5 0 0 1 1.5 1.2 1.7 1V=V(3)+1.5 V(5)+1.2[V(3)]2+1.7 V(3) V(5)+ [V(5)]2

    H1 25 40 POLY VN 0 1 1.5 1.2 1.7V=I(VN)+1.5[I(VN)]2+ 1.2[I(VN)]3+ 1.7[I(VN)]4

  • G(name) N+ N- Poly(n) +NC1+ NC1- NC2+ NC2- .. NCn+ NCn- +P0 P1 P2Pm F(name) N+ N- Poly(n) VN1 VN2.. VNn +P0 P1 P2Pm

    G1 10 12 POLY(2) 3 0 5 0 0 1 1.5 1.2 1.7 1I=V(3)+1.5 V(5)+1.2[V(3)]2+1.7 V(3) V(5)+ [V(5)]2

    F1 25 40 POLY VN 0 1 1.5 1.2 1.7I=I(VN)+1.5[I(VN)]2+ 1.2[I(VN)]3+ 1.7[I(VN)]4

  • .MODEL MNAME TYPE(P1=VAL1 +P2=VAL2 P3=VAL3. Pn=VALn) MNAMETYPE DEVLOTDEVLOT

  • TYPERESRCAPCINDLCOREK()DDNPNQNPNPNPQPNPNJFJNJFETPJFJPJFETNMOSMNMOSFETPMOSMPMOSFETGASFETBGASFET

  • TYPEVSWITCHSISWITCHWDINPUTNDOUTPUTOUIOUUGATEUUTGATEUUEFFUUGFFUUWDTHUUSUHDUUDLYU

  • .SUBCKT SUBNAME N1 SUBNAME N1N2.SUBCKT.ENDSMODEL

  • X(name) N1 SUBNAMEXX.SUBCKTOPA,1234Vcc.SUBCKT 0PA l 2 3 4 {}.ENDSX1 7 9 3 4 OPA7934OPA123Vcc

  • .LIB :.LIB .LIB DIODE.LIB .LIB C:\PSPICE\LIBBIPOLAR.LIB .LIB .LIBNOM.LIBNOM.LIB

  • PSPICE

  • .OP 1 2 3 4()

  • .DC (SType) SNAME SSTART SSTOP SINCR +< SNAME2 SSTART SSTOPSINCR >.DC VIN 0.25 5 0.25 IB 0mA 1mA 100uA.DC LIN I2 5mA -2mA 0.2mA.DC RES RMOD(R) 0.7 1.3 0.1.DC DEC NPN QMOD1(IS) 1E-18 1E-15 5.DC TEMP LIST 45 15 0 l5 50 100 125.DC PARAM VSUPPLY 7.5 15 0.5LINDECOCTLIST0

  • .SENS OUT1 :.SENS V(5) V(2,3) I(V2) I(V5)OUT1 , .SENS.SENS

  • .TF OUTVAR INVAR.TF V(5,3) VIN.TF I(V1) VINOUTVAR INVAR TF

  • .AC (SType) N FSTART FSTOP ACFSTOPFSTART0 ACAC.PRINT,.PLOT.PROBELINDECOCT

  • .NOISE V(N+,N-) SOURCE MNOISE V(5) VIN 10NOISE.AC AC(),SOURCEvHz1/2OURCEAHz1/2 .NOISEM.PRINT.PLOT.PRINT.PLOT

  • .TRAN TSTEP TSTOP .TRAN 1NS l00NS.TRAN 1ns l00NS 1NS UIC.TRANOP 5NS 400NS 50NSTSTEP TSTOPTSTARTTSTART 0TMAXTSTEP(TSTOP-TSART)50 UICTSTART TSTARTTSTOP .2 .TRANOP.OP

  • .FOUR FREQ V1V2 V3..: .FOUR 100K V(5)FREQ V1V2 V3..()DC29TSTOPPERIODPERIODlFREQ(TSTOP-PERIOD)1/F1FREQTMAXPERIOD/100QTMAX .FOUR.PRINT.PLOT

  • .TEMP T1 .TEMP 55 25 l 00T1T2()-273TNOM.TEMPTNOM27

  • .NODESET V(NODE)VAL< V(NODE)VAL >:NODESET V(12)4.5 V(4)2.2NODEV(NODE)VAL DC.NODESETDCDC .NODESET()DC

  • .IC V(NODE)VALV(NODE)VAL:IC V(11)5 V(4)-5 V(2)2.2.NODESET, .NODESET()DC.ICDC.TRANUIC.TRAN UIC.ICMOSICIC.ICUIC.IC().IC.TRANUIC().IC

  • .MC (runs value) (analysis) + .MC 8 TRAN V(10) YMAX.MC 20 AC VP(9134) YMAx.MC 40 DC IC(Q8) YMAX LIST (runs value) .MC2000(analysis).MCDCACTRAN.MC()MODELDEVLOT.MC ()() YMX MAX MIN RISEEDGEvaluevalue FALLEDGEvaluevalue LIST OUTPUT(output type) OUTPUT () (output type) ALL() FIRSTn EVERY n RUNS 25 RANGE *value YMAX RANGE(*5]5()YMAX MAX RANGE(1*)-1RANGE

  • /.WCASE (analysis) (output variable) .WCASE TRAN V(10) YMX.WCASE DC IC(Q6) YMAX VARY DEV.WASE AC VP(50) YMAX DEVICE RQ OUTPUT ALL .WCASE (analysis) (output variable) .MC, ?

    .WASE ,.MC.WCASEmonte carlo.WCASE()5 .WCASE 5.WCASE 7 OUTPUT ALL () RANGE .MC HILOW()YMAXMAXHILOW VARY DEV (VARY LOT ) (VARY BOTH).MODELDEVLOT(VARY BOTH) BY RELTOL:.OptionsRELTOL() BY BYBY RELTOL DEVICE DEVICERQDEVICE RQ

  • .DISTRIBUTION . .DISTRIBUTION USERDEF1 (-1,0)(0,1)(1,0)monte carlo.DISTRIBUTION PspicePspice(-1+1)name.options.model .MC100(-11)

  • .FUNC (name) () (body).FUNC E(x) EXP(X) .FUNC SINH(x) (E(x)E(-x))/2 .FUNC.FUNC(name)PSPICEABS SIN (name)(arg)10(body)

  • .INC (file name).INC AAA.CIR .INC C:\PSPICE\LIB\BBB.CIR.INC(file name).END.INC4

  • .PARAM(namevalue)...PARAM(nameexpression) .PARAM VCC6VVEE-6V .PARAM BD(100KHz3) .PARAM PI3.14159(name)(value)(expression)(name)

  • .STEP (LIN) SNAME SSTART SSTOP SINCR.STEP SNAME SSTART SSTOP ND.STEP SNAME LIST VAL1 VAL2..STEP VCE 0 12V 5V .STEP LIN IA 2mA -2mA 0.1mA .STEP PARAM FREQ 1K 100K 1K(SNAME).STEP.DC,.AC,.TRAN (LIN)(DEC)(OCT) .STEP.DC.STEP.DC .STEP.TEMP.MCWCASE.DC

  • .PRINT (PRTYPE) OUT1 .PRINT TRAN V(4) V(2,8) I(VIN) I(VCC)18, PRTYPEDCACTRANNOISE.PLOT (PRTYPE) OUT1 .PLOT I(D8) I(VCC)(-20mA20mA) l8 PRTYPE (DCACTRANNOISE (low,high) (low)(high) PSPICE

  • V(1)1V(3,2)32V(R10)R10VB(Q5)Q5VGS(M8)MOSFET M8VA(T2) T2AI(D2) D2IG(J6) JFET J6D(QA) QA

    V(N)N()V(N+,N-)N+N-V(name)nameVx(name)namexVxy(name)nameXYVz(name)I(name)nameIx(name)namexIz(name)nameD (name)nameDC

  • ACvIV(2,1)21VM(2) 2()VDB(R1) R1(dB)VBEP(Q5)Q5IAG(T2)T2AIR(VIN) VINII(R1) R1IGG(M3) MOSFET M3

    MPDBGRI

  • INOISEONOISEDB(INOISE)DB(ONOISE)

  • 5ITLl ITLl40ITLl 1000OFFONOFF.NODESET .NODESET RELTOL0.02ABSTOL10-10VNTOL=10-4,ITL1300.NODESETUIC UIC98(DC)(AC) 1.OP.AC 2 3.TRANUIC 4567.OP.AC8.TRANUIC,

  • ITL2ITL220ITL2200ITL2ITL1ITL1ITL2

  • ITL4 ITL41040ITL4ITL50 RELTOL0.0010.01ABST0L(1PA)lNAVNTOL(luv)100UV

  • PSPICE

  • RESR1Tc10Tc20Tce0Tce Rnew=Value*R*[1+Tc1*(T-T0)+Tc2*(T-T0)2]Tce Rnew=Value*R*1.01Tce*(T-T0) 1Hz() i2=4kT/Rnewi,kT

  • CAPC1Vc10Vc20Tc10Tc20 Cnew=Value*C* [1+Vc1*V+Vc2*V2] *[1+Tc1*(T-T0)+Tc2*(T-T0)2]

  • INDL1IL10IL20Tc10 Tc20 Lnew=Value*L* [1+IL1*I+IL2*I2] *[1+Tc1*(T-T0)+Tc2*(T-T0)2]

  • CORE AREA0.1PATH1GAP0PACK1MS1E+6ALPHA1E-3A1E+3C0.2K500 B(K(name))ProbeH(K(name)) .

  • VSWITCHVON1VOFF1E6RON1ROFF0 1Hz i2=4kT/RS RON0ROFF1/GMINROFFRON1012RONROFF

  • ISWITCH ION IOFF RON ROFF

  • CdId-PN IS()VJPNNRSISRNR ISR BVNBV NBVL IBV IBVL ISPNPN() TT ()ISNIKF()CJOPNVJM PNFcXTI()EG()ISISRNRBVIBV() NBVIBVLNBVL

  • PNB-E Cbe = B-E= Ctbe + areaCjbeCtbe = = tfGbetf = = TF(1+XTF(Ibe1/(Ibe1+areaITF))2eVbc/(1.44VTF))Gbe = B-E = (dIbe)/(dVb)Ibe = Ibe1 + Ibe2Cjbe = CJE(1-Vbe/VJE)-MJE Vbe < FCVJECjbe = CJE(1-FC)-(1+MJE)(1-FC(1+MJE) +MJEVbe/VJE) Vbe > FCVJE B-C Cbc = B-C= Ctbc + areaXCJCCjbcCtbc = = TRGbcGbc = B-C = (dIbc)/(dVbc)Cjbc = CJC(1-Vbc/VJC)-MJC Vbc < FCVJCCjbc = CJC(1-FC)-(1+MJC)(1 FC(1+MJC)+MJCVbc/VJC) Vbc > FCVJCPNCbx == area(1-XCJC)CjbxCjbx = CJC(1-Vbx/VJC)-MJC Vbx < FCVJCCjbx = CJC(1-FC)-(1+MJC)(1-FC(1+MJC)+MJCVbx/VJC) Vbx > FCVJCCjs == areaCjjsCjjs = CJS(1-Vjs/VJS)-MJS(assumes FC = 0) Vjs < 0Cjjs = CJS(1+MJSVjs/VJS) Vjs > 0ISBFNFISEB-EIKFBETANE B-EISBR()NRISC B-C IKR BETANC B-CVAFVAR RBRCRERBIRB()RBMTFTRTFTRISNFNRIFXTF(TF)ITFTFVTFTFVBCB-EFC()CJEB-EPNVJEB-EMJEB-EB-CXCJCB-CCJC B-CPNVJC B-CMJC B-EC-SCJS C-SPN VJS C-SMJS C-SISEGXTIXTBKFAFNKroll-offISS(PN)NSPNLPNPQCORCO VOGAMARERBRBMRC8 Ib = = area(Ibe1/BF + Ibe2 + Ibc1/BR + Ibc2)Ic = = area(Ibe1/Kqb - Ibc1/Kqb - Ibc1/BR - Ibc2)Ibe1 = = IS(eVbe/(NFVt)-1)Ibe2 == ISE(eVbe/(NEVt)-1)Ibc1 == IS(eVbc/(NRVt)-1)Ibc2 == ISC(eVbc/(NCVt)-1)Kqb == Kq1(1+(1+4Kq2)NK)/2Kq1 = 1/(1 - Vbc/VAF - Vbe/VAR)Kq2 = Ibe1/IKF + Ibc1/IKRIs = = areaISS(eVjs/(NSVt)-1)Rb = Ibe1Ibc1 Ibe2Ibc2 Kqb Kq1 Kq2 ()Rb ()RBRBMRB()RB-RBMIRB Rb = (RBM + (RB-RBM)/Kqb)/areaKqb KqbKqb 1Rb RBKqb >>1Rb RBM .IRB:Rb = (RBM + 3(RB-RBM)(tan(x-x)/ x (tan(x))2) )/areax =((1+(144/2 ) (Ib /( area IRB)) )-1)/(24 /2 . ((Ib /( area IRB)) )QwQoRco0. QwQoRCO0.Iepi = area(VO(Vt(K(Vbc)-K(Vbn)-ln((1+K(Vbc))/(1+K(Vbn))))+Vbc-Vbn))/RCO(|Vbc-Vbn|+VO)Qo = areaQCO( K(Vbc)-1-GAMMA/2 )Qw = areaQCO( K(Vbn)-1-GAMMA/2 )K(v) = (1+GAMMAe(v/Vt))1/2

  • JFETVTOBETALAMBDAISRDRS-1/2CGSCGDPB VTO0JFETNPVTO0JFETIg = = area(Igs + Igd) Igs == In + IrKg In = PN = IS(e Vgs/(NVt)-1) Ir = = ISR(e Vgs/(NRVt)-1) Kg = = ((1-Vgs/PB)2+0.005)M/2 Igd == In + IrKg + IiIn = PN = IS(e Vgd/(NVt)-1) Ir = = ISR(e Vgd/(NRVt)-1) Kg = = ((1-Vgd/PB)2+0.005)M/2 Ii = Ii = IdrainALPHAvdife-VK/vdif 0 < Vgs-VTO < Vdsvdif = Vds - (Vgs-VTO)Ii = 0elseId = = area(Idrain-Igd)Is = = area(-Idrain-Igs)Vds > 0Idrain = 0Vgs-VTO < 0Idrain = BETA(1+LAMBDAVds)Vds(2(Vgs-VTO)-Vds) Vds < Vgs-VTOIdrain = BETA(1+LAMBDAVds)(Vgs-VTO)2 0 < Vgs-VTO < VdsVds < 0PNCgs = areaCGS(1-Vgs/PB)-M Vgs < FCPBCgs = areaCGS(1-FC)-(1+M)(1-FC(1+M)+MVgs/PB) Vgs > FCPBPNCgd = areaCGD(1-Vgd/PB)-M Vgd < FCPBCgd = areaCGD(1-FC)-(1+M)(1-FC(1+M)+MVgd/PB)Vgd > FCPB

  • 1234 RlC

  • ZidZicRrSRf1Ro

  • VomRN

  • (DM)(CM),,1,CEEC1C2C2(3dBC2)DlD2R1GcD3VcD4Ve