PSPICE电子线路辅助设计 主讲人:徐莹隽
第一部分 计算机辅助电路分析基础
计算机辅助电路设计的特点 电路规模可以从简单到复杂 电路的计算精度非常高 提高了设计效率,减少了设计周期 可以进行极限状态和最坏情况分析 可以进行容差分析和优化设计
电路设计流程
常见电路网络 线性电阻网络 线性动态网络 非线性电阻网络 非线性动态网络
常见电路分析内容 直流分析 求线性电阻网络的直流解,给出节点及支路的电压和电流值,给出直流功耗。 直流分析 求线性电阻网络的直流解,给出节点及支路的电压和电流值,给出直流功耗。 工作点分析 求出非线性网络的静态工作点,对动态网络求出初始条件、偏置或平衡状态下的工作点(将网络中的所有电容开路,电感短路得到的)。这些也是非线性网络的直流解 驱动点分析 求出非线性电阻网络的驱动点电流和驱动点电压之间的关系,这也是网络的直流解。
常见电路分析内容 传输函数分析 求出电阻网络的输出电压或电流和输入电压或电流之间的关系,可得到网络的输入阻抗和输出阻抗。这也是网络的直流解 传输函数分析 求出电阻网络的输出电压或电流和输入电压或电流之间的关系,可得到网络的输入阻抗和输出阻抗。这也是网络的直流解 交流分析 求出线性网络的频率响应特性,即频域分析。对非线性网络进行小信号交流特性分析(将非线性元件在工作点处线性化,然后分析这个被线性化电路的稳态交流响应)。可得到网络的幅频特性与相频特性,得到在给定频率下的输入与输出阻抗等。对非线性动态网络可求出有输入或无输入时的稳态周期解
常见电路分析内容 瞬态分析 对动态网络进行时域分析,求出其瞬态响应。(在用户或程序确定的初始条件下。在有或无输入信号时,求出随时间变化的输出波形。) 噪声分析 对线性网络进行频域或时域的等效输入噪声和输出噪声特性分析(将噪声源作为输入,求这时的交流解或瞬态解) 温度特性分析 求出在各种温度网络的各种特性
常见电路分析内容 灵敏度分析 计算电路中元件参数变化时对输出量的影响。灵敏度分析可在直流工作情况下进行,也可在交流和瞬态工作条件下进行。 灵敏度分析 计算电路中元件参数变化时对输出量的影响。灵敏度分析可在直流工作情况下进行,也可在交流和瞬态工作条件下进行。 容差分析 在元件参数各自的容差范围内求出对电路特性的影响.PSPICE中可用蒙特卡罗分析对直流,交流和瞬态特性进行容差分析. 最坏情况分析 求电路特性的最坏情况(在电路元件参数取最坏的极端值时求电路的特性)
常见电路分析内容 付里叶分析 在给定频率下对网络进行瞬态分析。将得到的输出波形再做频谱分析求出输出变量的基频和谐波量。 付里叶分析 在给定频率下对网络进行瞬态分析。将得到的输出波形再做频谱分析求出输出变量的基频和谐波量。 失真分析 求电路在小信号条件下的失真特性。
电路模拟程序构成
第二部分 PSPICE程序基础
SPCIE和PSPICE Simulation Program with Integrated Circuit Emphasis 1972年由加州大学伯克利分校开发完成 程序代码完全开放,用户可以根据需要修改 1988年SPICE成为美国国家标准 1984年Microsim公司开发完成PSPICE成为第一个用于PC平台的SPICE模拟器 《通用电路模拟技术及软件应用SPICE和PSPICE》姚立真
小信号单级放大器
程序清单 “标题”,由任意字符串构成作为打印的标题,但必须要有。 载入库文件,此处载入的是三极管的库文件 Example1: Simple Amplifier .LIB BIPOLAR.LIB V1 1 0 AC 1 SIN(0 10M 1K) R1 1 2 1K C1 2 3 10U R2 4 3 50K R3 3 0 10K R7 4 5 3K *Included A Bipolar Q1 5 3 6 Q2N2222A R8 6 0 1K C2 6 0 100U C3 5 7 10U R6 7 0 1K V2 4 0 DC 12V .TRAN 1US 10MS .PROBE .END “标题”,由任意字符串构成作为打印的标题,但必须要有。 程序清单 载入库文件,此处载入的是三极管的库文件 电路的描述语句:包括定义电路拓扑和元件值的元件,半导体器件,电源等描述语句。其位置在描述语句的第二行与最后结束语句行之间的任何地方。 电路特性分析的控制语句:包括定义的模型语言性能分析语句和输出控制语句。 注释语句:是用户对程序运算和分析时加以说明的语句,其一股形式为 *字符串 结束语句,表示程序结束
输入描述语句 输入描述由若干条输入描述语句构成,语句中的信息由字母字符串组成的名字段、数字段和分隔符构成。 名字段(名称):其第一个字16必须是字母A至Z,其它没有任何限制。在描述元件时第一个字必须是指定的元件器件类型字母 数字段(数值):可以是整数、浮点数、整数或浮点数后面跟整数指数和整数或浮点数后面跟比例因子表示 比例因子:有十种比例因子,它们的符号和代表的值为: T=1E12、G=1E9、MEG=1E6、K=1E3、MIL=25.4E-6、M=1E-3、U=1E-6、N=1E-9、P=1E-12、F=1E-15
输入描述语句 分隔符:包括空格、逗号、等号、左括号或右括号等 续行号:若一行信息表达不完,可在第二行的第一列上打一个“十”号以表示该行语句是上一语句的继续。 单位:包括米、千克、秒等。单位后缀在程序中是被忽略的。任何非比例因子后缀字母都可用作单位后缀。 方向:采用常用习惯标准,即规定支路电流的正方向和支路电压假定的正方向一致。 节点编号;一般取任意的正整数,不能为负数,但也可以是任意字母数字串,可以是不连接的。接地点一定是编号为零的参考点,这是事先定义好的,意为接地或共同节点。节点“0”或“000”是等效的。
第三部分 PSPICE元器件描述语句
元件描述(电阻) PSPICE元器件描述 语句格式 R(name) N+ N- <ModName> Value 例: R1 1 2 100 RF 4 5 RMOD 12K N+和N-是电阻所连接的正、负两个节点号。当电阻上为正电压时,电流从N+节点流出通过电阻流入N-节点。 < ModName>为模型名,其内容由.MODEL语句给出。 Value是电阻值,单位为欧姆,可正可负,但不能为零。 PSPICE元器件描述
元件模型和描述(电容) 语句格式 C(name) N+ N- <ModName> Value IC=V0 例: C1 1 2 10U Cload 4 5 CMOD 10P N+和N-是电容所连接的正、负两个节点号。当电容上为正电压时,电流从N+节点流出通过电容流入N-节点。 < ModName>为模型名,内容由.MODEL语句给出。 Value是电容值,单位法拉,可正可负,但不能为零。 IC定义了电容的初始(时间为0)电压V0。注意只有在瞬态分析语句.TRAN中的任选项关键字UIC规定时,IC规定的初始条件才起作用。
元件模型和描述(电感) 语句格式 L(name) N+ N- <ModName> Value IC=I0 例: L1 1 2 10U LA 4 5 LMOD 10M N+和N-是电感所连接的正、负两个节点号。当电感上为正电压时,电流从N+节点流出通过电感流入N-节点。 <ModName>为模型名,其内容由.MODEL语句给出。 Value是电感值,单位亨利,可正可负,但不能为零。 IC定义了电感的初始(时间为0)电流I01。注意只有在瞬态分析语句.TRAN中的任选项关键字UIC规定时,IC规定的初始条件才起作用。
元件模型和描述(互感) 在语句中如果给出了< ModName> ,此时就会有以下四个变化: (1)相互耦合的电感器变成了一个非线性磁芯器件,磁芯的磁通量的磁场强度B—H特性可用Jils—Atherton模型分析。 (2)电感器成了“线圈”,故原来设定为电感的值现在要设定为线圈匝数。 (3)电感器清单里可能只有一个电感器。 (4)模型语句需设定模型参数。 语句格式 K(name) L(1st name) L(2nd name) Value +< ModName> <size value> 例: L1 1 2 0.5mH L2 4 5 0.5mH K1 L1 L2 0.9999 其中L(1st name) 和L(2nd name) 是两个耦合电感的名字,Value是耦合系数K的值,它必须大于零且小于或等于1,其耦合规则采用通常的在每个电感的第一个节点上加上一个“.”作为极性端。 < ModName>为非线性磁心模型名, <size value> 缺省值为1,它用来衡量磁横截面大小的,它代表的是薄片的层数。因此对每种薄片只需有一种模型语句。
元件模型和描述(无损传输线) 语句格式 T(name) NA+ NA- NB+ NB- Z0=<value> + [TD=<value>] [F=<value> NL=<value>] T(name) 为传输线名字,NA+ NA-为输入端口节点, NB+ NB-为输出端口节点, NA+ NB+定义为正节点, NA- NB-定义为负节点。正电流从NA+ 流向NA-,从 NB+流向 NB- 。Z0为特性阻抗 传输线长度可用两种形式表示,一种是由传输线的延迟TD决定的;另一种是给出一个频率F和参数NL来确定,NL是在频率为F时相对于传输线波长归一化的传输线电学长度.若规定了F而未给出NL,则认为NL=0.25,即F是1/4波长时的频率。
元件模型和描述(压控开关) 语句格式 S(name) N+ N- NC+ NC- <ModName> 例子:S1 6 5 4 0 SMOD1 节点N+和N-分别是开关的正和负节点,NC+和NC-分别是控制的正和负节点 <ModName> 是模型名,由.MODEL语句说明。
元件模型和描述(流控开关) 语句格式 W(name) N+ N- VN <ModName> 例子:W1 6 5 VIN WMOD1 节点N+和N-分别是开关的正和负节点,VN是控制电流流过的电压源 <ModName> 是模型名,由.MODEL语句说明。
元件描述(二极管) 语句格式: D(name) N+ N- <ModName> <AREA> +<OFF> <IC=VD> 例:D1 3 4 DMOD1 其中N+和N-分别是二极管的正负节点,正电流从正节点流出,通过二极管流入负节点。 <ModName>是模型名,可由用户自行选定。AREA是面积因子,OFF规定在直流分析时在器件上所加初始条件为关态。如未指定AREA则缺省值为1.0。若瞬态分析不要求从静态工作点开始,就可规定IC=VD为初始条件。
元件描述(三极管) 语句格式: Q(name) NC NB NE <NS> <ModName> <AREA> +<OFF> <IC=VBE,VCE> 例:Q1 3 4 5 QMOD1 其中NC,NB,NE,NS分别是集电极、基极、发射极和衬底的节点。NS是可选项,若未规定则认为NS接地。 <ModName>是模型名,可由用户自行选定。AREA是面积因子,OFF规定在直流分析时在器件上所加初始条件为关态。如未指定AREA则缺省值为1.0。若瞬态分析不要求从静态工作点开始,就可规定IC=VBE,VCE为初始条件。
元件描述(JFET) 语句格式: J(name) ND NG NS <ModName> <AREA> +<OFF> <IC=VDS,VGS> 例:J1 3 4 5 JMOD1 其中ND,NG,NS是漏极、栅极、源极的节点。 <ModName>是模型名,可由用户自行选定。AREA是面积因子,OFF规定在直流分析时在器件上所加初始条件为关态。如未指定AREA则缺省值为1.0。若瞬态分析不要求从静态工作点开始,就可规定IC=VDS,VGS为初始条件。
元件描述(MOSFET) 语句格式: M(name) ND NG NS NB <ModName> +<L=value> <W=value> <AD=value> +<AS=value> <PD=value> <PS=value> + <NRD=value> <NRS=value> <NRG=value> + <NRB=value> <M> +<OFF> <IC=VDS,VGS,VBS> 例:M1 3 4 5 MMOD1 其中ND,NG,NS,NB是漏极、栅极、源极和衬底的节点。 <ModName>是模型名,可由用户自行选定。 L和W分别是沟道的长和宽,单位为米。AD和AS是漏和源扩散区的面积,单位为平方米,PD和PS分别是漏结和源结的周长,单位米。L、W缺省值为100mm ,AD、AS的缺省值为零。NRD和NRS分别是漏和源扩散区等效的方块数,该值乘以 .MODEL语名中规定的薄层电阻RSH,就可计算出每个晶体管漏和源的寄生串联电阻。NRG和NRB为栅极和衬底扩散区的方块数。PD和PS缺省值为0,NRD和NRS缺省值是1,NRG和NRB缺省值为0。M是与器件面积有关的“倍数”,它模拟了多个器件并联的效应。MOSFET的有效宽度,结和覆盖电容,结电流要乘M,寄生电阻值(如RD,RS)要除以M。
元件描述(GaAs FET) 语句格式: B(name) ND NG NS <ModName> <AREA> +<OFF> <IC=VDS,VGS> 例:B1 3 4 5 BMOD1 其中ND,NG,NS是漏极、栅极、源极的节点。 <ModName>是模型名,可由用户自行选定。AREA是面积因子,OFF规定在直流分析时在器件上所加初始条件为关态。如未指定AREA则缺省值为1.0。若瞬态分析不要求从静态工作点开始,就可规定IC=VDS,VGS为初始条件。
元件描述(数字器件) 时域模型,包括上升时间、下降时间、传输延时等 输入输出模型名,描述负载和驱动特性 基本类型参数 基本类型 语句格式: 例子: 2、 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 1 例子: 3、 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 基本类型 例子: 1、 UCLOCK STIM(1,1) OUT1 IO_STM +0S 0 +LABEL=STARTLOOP + +5NS 1 + +5NS 0 + +5NS GOTO STARTLOOP –1 TIMES 语句格式: U(name) <primitive type> (<parameter value>) +<node> <(timing mode) name> +<(I/O model) name> +<Mntymxdly=(delay select) value> +<I/O_level=(interface model) value> 例:U1 NAND(2) 1 2 10 Do_Gate I/O_PET 延迟选择 I/O界面模型选择
元件描述(数字激励源) 激励器件输出信号或节点数目 数字输出节点 信号(节点)数指定的一个数字序列。1表示二进制,3表示8进制,4表示16进制 激励器件输出信号或节点数目 元件描述(数字激励源) 数字输出节点 每个节点的值(0,1,X或Z) 语句格式: U(name) STIM (<Width>,<format array>)<node> +<I/O model> <TIMESTEP=(step size)> +<<time>,<value>> +<LABEL=(label name)> +<<time> GOTO <(label) name> <n>TIMES> + <<time> GOTO <(label) name>UNTIL GT <value>> + <<time> GOTO <(label) name> UNTIL GE <value>> + <<time> GOTO <(label) name> UNTIL LT <value>> + <<time> GOTO <(label) name> UNTIL LE <value>> + <<time> INCR BY <value>> + <<time> DECR BY <value>> (时间)前缀:“十” 如果在前面直接加‘十”,那么就假定该时间是用来说明相对于前一时间参考点的相对时间,如果前面不加“十”,则就假定该时间是相对于0的绝对时间。 后缀:S表示秒,C表示步(周期),步长是由该激励源的TIMESTEP参数的值来确定的。
元件描述(独立电压源) 语句格式: V(name) N+ N- <DC value> +<AC (magnitude value) (phase value) > +<transient value> +<PULSE> <SIN> <EXP> <PWL> <SFFM> 例: Vcc 3 0 DC 6V Vin 1 0 DC 2 AC 1 30 SIN(0 2V 10kHz) 其中N+和N-分别是独立电压源的正负节点,正电流从正节点进入独立电压源流入负节点。
元件描述(独立电流源) 语句格式: I(name) N+ N- <DC value> +<AC (magnitude value) (phase value) > +<transient value> +<PULSE> <SIN> <EXP> <PWL> <SFFM> 例: 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) V1 初始电压 V2 峰值电压 TRD 上升延时时间
元件描述(脉冲源) 一般形式: PULSE(V1 V2 TD TR TF PW PER) V1 初始电压 V2 脉冲电压 TD 延迟时间
元件描述(分段线性源) 一般形式: PWL (T1 V1 T2 V2 ….TN VN) Ti 时间点 Vi 该时间点电压值
元件描述(单频调频源) 一般形式: SFFM (V0 VA FC MOD FS) V=V0+VAsin[(2πFCt)+Msin(2πFSt)] V0 偏置电压 VA 电压振幅 FC 载波频率 MOD 调制系数 FS 信号频率
元件描述(正弦源) 一般形式: SIN (V0 VA FREQ TD ALPHA THETA) V=V0+VAe-α(t-td)sin[2πf(t-td)-θ] V0 偏置电压 VA 电压振幅 FREQ 频率 TD 延迟时间 ALPHA 阻尼因子 THETA 相位延迟
元件描述(多项式源) 一般形式: POLY(n) N1+ N1- N2+ N2- .. Nn+ Nn- +P0 P1 … Pm n=1: Y=P0+P1A+P2A2+ P3A3+….. PnAn n=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- <(voltage gain) value> 电流控制电压源 H(name) N+ N- VN <(transresistance) value> 例: E1 3 4 1 0 6 Hin 1 0 Vin 2 其中N+和N-分别是电压源的正负节点, NC+和NC-分别是控制电压源的正负节点。VN为控制电流流过的电压源
元件描述(线性受控电流源) 语句格式: 电压控制电流源 G(name) N+ N- NC+ NC- <(transconductance value> 电流控制电流源 F(name) N+ N- VN <(current gain) value> 例: 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 P2…Pm <IC=value> 非线性电流控制电压源 H(name) N+ N- Poly(n) VN1 VN2.. VNn +P0 P1 P2…Pm <IC=value> 非线性电流控制电流源常作为非线性电阻 例子: E1 10 12 POLY(2) 3 0 5 0 0 1 1.5 1.2 1.7 1 V=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.7 V=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 P2…Pm <IC=value> 非线性电流控制电流源 F(name) N+ N- Poly(n) VN1 VN2.. VNn +P0 P1 P2…Pm <IC=value> 非线性电压控制电流源常作为非线性电导 例子: G1 10 12 POLY(2) 3 0 5 0 0 1 1.5 1.2 1.7 1 I=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.7 I=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) <DEV=val> <LOT=val> MNAME是模型名,它和器件描述语句相同,该语句可指定一个或多个器件使用的一组模型参数。 TYPE为元器件模型类别,每种类别有自己的一套参数。给定模型类别后,模型参数值由括号内参数表中的参数值来给出,对模型可设置部分参数值或全部参数值。末给定的参数名和值就由程序中的缺省值代替。 <DEV=val> <LOT=val>是两个容差参数设定。DEV和LOT的规定值可以是百分数也可以是数值。DEV是描述不连续的独立器件,如印刷电路板上的元器件或不同批管芯的容差。LOT描述的是连续的、器件批,如集成电路一批中的各个晶片的偏差,以及芯片中匹配器件的容差。
模型类别总结 TYPE 关键字 元件名称 RES R 电阻器 CAP C 电容器 IND L 电感器 CORE K 互感(非线性磁心) D 二极管 NPN Q NPN三极管 PNP PNP三极管 NJF J N沟道JFET PJF P沟道JFET NMOS M N沟道MOSFET PMOS P沟道MOSFET GASFET B 模型类别总结
模型类别总结 TYPE 关键字 元件名称 VSWITCH S 电压控制开关 ISWITCH W 电流控制开关 DINPUT N 数字输入器件 DOUTPUT O 数字输出器件 UIO U 数字输入输出模型 UGATE 标准门 UTGATE 三态门 UEFF 边缘触发器 UGFF 门控触发器 UWDTH 脉宽校验器 USUHD 复位和保持校验器 UDLY 数字延迟线 模型类别总结
子电路描述语句 语句格式: .SUBCKT SUBNAME N1<N2 N3 …Nn> 其中SUBNAME 是子电路名,N1,N2…是子电路外部节点号,不能为零。子电路的定义是以.SUBCKT语句开始的,其后跟一组元件语句定义子电路,直到语句.ENDS为止。子电路定义中不能出现控制语句,但可包括器件模型,子电路调用,其它子电路定义等其它内容。 在子电路中所定义的那部分器件模型或子电路的定义都只是局部的,在子电路定义之外不能识别其含意。子电路定义中的任何节点也都是局部量,接地点是全局量。所以子电路定义中的节点号、器件名、MODEL的说明可以和外部的相同,而不会冲突。
子电路调用 例子: 定义一个名为OPA的子电路,1、2是两个输入节点,3为输出节点,节点4是电源Vcc .SUBCKT 0PA l 2 3 4 {一组子电路拓扑结构描述语句} .ENDS 调用语句为: X1 7 9 3 4 OPA 在调用子电路时,电路节点顺序要与子电路节点顺序一致,该语句规定电路的7、9、3、4节点分别代表OPA子电路的输入1、2,输出3和电源Vcc节点。 子电路调用 语句格式: X(name) N1<N2 N3 …Nn> SUBNAME X是关键字,调用子电路只要规定以X为首的假元件名即可。其后是用来连接到子电路上的电路节点号,最后是子电路名。子电路的外节点号由于是局部的,所以和电路调用时的节点号无关,但电路节点号的顺序必须.SUBCKT语句中定义的顺序一致。
库文件调用语句 语句格式: .LIB <file name> 例: .LIB .LIB DIODE.LIB .LIB C:\PSPICE\LIB\BIPOLAR.LIB .LIB语句用于参考和调用存在于库文件中的模型或子电路库。 <file name> 是文件名,可以是任意字符串。其扩展名.LIB不能缺省,如果设定一个文件名就必须有扩展名。若<file name>缺省,其缺省值为NOM.LIB。NOM.LIB将引导查找所有其它的库文件。
第四部分 PSPICE特性分析语句
直流工作点分析 语句格式: .OP 此语句计算并打印出电路的直流工作点,这时电路中所有电感短路,电容开路。在瞬态和交流分析前程序将自动进行直流工作点分析,以确定瞬态分析的初始条件和交流小信号分析时非线性器件的线性化小信号模型参数。输出结果包括: 1、所有节点的电压 2、所有电压源的电流及电路的直流总功耗 3、所有晶体管各极的电流和电压 4、非线性受控源的小信号(线性化)参数
直流扫描分析 扫描类型:包括LIN、DEC、OCT、LIST 扫描参数名:电源、温度、模型参数、全局变量等 扫描增量或点数,必须大于0 嵌套扫描 扫描中止值 扫描起始值 语句格式: .DC (SType) SNAME SSTART SSTOP SINCR +< SNAME2 SSTART SSTOP SINCR > 例子: .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.5
直流小信号灵敏度分析 语句格式; .SENS OUT1 <OUT2 OUT3 …..> 目前只对下列元器件才能计算其灵敏度 例:.SENS V(5) V(2,3) I(V2) I(V5) OUT1 <OUT2 OUT3 …..>为输出变量, .SENS语句是通过在偏置点附近将电路线性化,计算并打印出每个输出变量对电路中所有元器件值和模型参数变化时的敏感程度。 运行.SENS 语句后,对应每一个元器件值和模型参数都将打印出指定输出量的元件灵敏度和归一化灵敏度。因此这个语句很容易产生大量的输出。 目前只对下列元器件才能计算其灵敏度 电阻器 独立电压源和独立电流源 电压控制开关和电流控制开关 晶体二极管 双极晶体管
小信号传输函数 语句格式: .TF OUTVAR INVAR 例: .TF V(5,3) VIN .TF I(V1) VIN
交流特性分析 语句格式: .AC (SType) N FSTART FSTOP 频率取值方法,包括LIN、DEC、OCT 每一数量级中取频率点的数目 交流特性分析 起始频率值 终止频率值 语句格式: .AC (SType) N FSTART FSTOP 要使用AC特性分析,必须在输入中至少指定一个独立源的交流值,以使分析得以进行。此外要使FSTOP>FSTART>0。 ’ AC分析中,所有具有非零幅度值的独立电压和电流源都是电路的输入。要得到AC的分析结果必须使用.PRINT,.PLOT或.PROBE中的一个。
噪声分析 若SOURCE是电压源,则计算等效输入噪声电压,单位为v/Hz1/2 节点总的噪声输出电压 若SOURCE是电压源,则计算等效输入噪声电压,单位为v/Hz1/2 若OURCE是电流源,则计算等效输入噪声电流,单位为A/Hz1/2 噪声分析产生两种输出;详细表格,总的表和图。若在.NOISE设置了M值,则不打印详细表格。详细表格是随分析时打印出来的,不需要.PRINT或.PLOT语句说明。如果需要打印出等效输入噪声和输出噪声,就需要用.PRINT或.PLOT 语句来实现。 电路中产生噪声的器件有电阻器和半导体器件,每个器件的噪声源在AC分析的每个频率计算出相应的噪声,并传送到一个输出节点,所有传送到该节点的噪声进行方均根相加,就得到了指定输出端的等效输出噪声。同时计算出从输入源到输出端的电压(电流)增益,由输出噪声和增益就得到等效输入噪声值 语句格式: .NOISE V(N+,N-) SOURCE M 例,NOISE V(5) VIN 10 该语句是进行电路的噪声分析。噪声分析是同交流分析一起进行的。所以.NOISE语句要与.AC语句一同出现。 作为噪声输入基准并计算等效输入噪声节点处的独立电压源或独立电流源名称 频率问隔点数,在每个间隔频率点,电路中每个噪声源的贡献将打印出来。若为零则不打印该信息
瞬态分析 语句格式: .TRAN TSTEP TSTOP <TSTART> <TMAX> <UIC> 例: .TRAN 1NS l00NS .TRAN 1ns l00NS 1NS UIC .TRAN/OP 5NS 400NS 50NS 其中TSTEP是绘图的时间增量, TSTOP是分析终止时间,TSTART是绘图的开始时间,TSTART 缺省值为0。 TMAX是最大步长,缺省值是TSTEP和(TSTOP-TSART)/50中的较小值。 UIC是一个任选的关键字,表示用户用自己规定的初始条件进行瞬态分析,而不用在瞬态分析前进行静态工作点的求解。 瞬态分析总是从时间零开始,在时间零到TSTART 的时间间隔内,瞬态电路分析仍进行,只是没有输出,而且瞬态分析的值也没有存贮起来。在TSTART和TSTOP间隔内进行计算存贮并输出。 瞬态分析时程序采用变步长的算法以保证精度和速度.当电路变化不大时,内部运算的时间步长就增大,变化快时就缩小,这样计算出来的不同时间的值并采用2阶多项式插值法得到所需要的打印时间的值。 .TRAN语句中带有“/OP”后缀时,能打印出由.OP语句产生的偏置点。
付里叶分析 语句格式: .FOUR FREQ V1<V2 V3…..> 例: .FOUR 100K V(5) 付里叶分析计算了瞬态分析结果的一部分,得到基频、DC分量、第2到第9次谐波。不是所有的瞬态结果都要用到,只用到瞬态分析TSTOP之前基频的一个周期。若PERIOD是基频的周期,则PERIOD=l/FREQ。付里叶分析时间是(TSTOP-PERIOD)=1/F,就是说,瞬态分桥至少要持续1/FREQ 为了得到最高的精度,应把瞬态分析中的TMAX定为PERIOD/100。对高Q值电路,TMAX可小一些。 .FOUR语句运行结果就是输出,不用设.PRINT或.PLOT
温度特性分析 语句格式: .TEMP T1 <T2 T3…..> 例:.TEMP –55 25 l 00 该语句规定在什么温度下进行模拟,T1,T2…是指定的模拟温度(单位为℃)。若给了几个温度,则对每个温度,都要做一遍所有的分析。当温度低于-273℃时不能模拟。模型参数是在温度为标称温度TNOM下的值,若无.TEMP语句,则程序将在温度TNOM=27℃下进行模拟。
节点设置语句 此语句对双稳态或非稳态电路的计算收敛可能是必须的,它可使电路摆脱“停顿”状态,而进入所希望的状态。一般情况该词句是不必要的。 此语句也可帮助启动DC扫描。.NODESET电压可用在DC扫描的第一步,在余下各步中被忽略。在嵌套DC扫描中, .NODESET可用于每个嵌套(即内层扫描)的第一步。该命令也可用到DC扫描的其它类型,如参数值或温度的扫描。 语句格式: .NODESET V(NODE)=VAL< V(NODE)=VAL >…… 例:NODESET V(12)=4.5 V(4)=2.2 NODE为节点号,V(NODE)为节点电压,VAL是设置的电压值。 该语句的作用是使指定节点的电压固定在所给定的电压值上,程序先按这些节点电位求得直流或瞬态的初始解进行运算,在解收敛后就去掉这些约束条件继续选代,直到算得真正的解为止。
初始条件设定语句 该语句有两种不同的解释,取决于在.TRAN语句中是否规定了参数UIC。 在.TRAN 语句中规定了参数UIC时:程序用.IC语句中规定的节点电压计算电容、二极管、双极型晶体管、结型场效应晶体管和MOS场效应管的初始条件。这和在每个器件语句中规定IC参数是完全等效的,但在器件语句中规定的IC值优先于.IC语句的值,一旦规定了参数UIC和有.IC语句时,瞬态分析就先不进行直流工作点的分析(初始瞬态值),因此应该在.IC语句中仔细设定各点的直流电位。 语句格式: .IC V(NODE)=VAL<V(NODE)=VAL…> 例: IC V(11)=5 V(4)=-5 V(2)=2.2 该语句是设置瞬态初始条件的,它和.NODESET语句不同, .NODESET是用来帮助直流解的收敛,并不影响最后得到的工作点(对多稳态电路除外),一旦建立了工作点,这些值在DC扫描分析和瞬态分析中不在起作用,而.IC的值用来计算瞬态分析偏置点以及非线性元件的线性化参数,它不影响DC扫描。 在.TRAN语句中未规定参数UIC时,在瞬态分析前计算直流偏置(初始瞬态)解。这.IC语句中指定的节点电压仅当作求解直流工作点时相应的节点的初始值。在瞬态分析时对这些节点的限制就取消了。
<options>输出任选项:包括下列几项,选择时可不选或选几种: LIST:每次运行中每个元件实际使用的模型参数值。 OUTPUT(output type):要求在第一次运行以后的各次运行输出。 OUTPUT 则只对第一次(规范值)运行产生输出, (output type)可选以下几种之一种: ALL:产生所有的输出(包括第一次运行值); FIRST<value>:只产生前n次运行产生的输出 EVERY <value> :对每个第n次运行产生输出; RUNS <value1 value2 ….> :仅对此部分中列出的运行次数进行分析并产生输出,这个表中最多可列25个值。 RANGE <low value> , <high value> 用下限值和上限值限制扫描变量的范围,符号“*”可用来表示value为所有的值。如 YMAX RANGE(*,5]对所有小于或等于5的扫描变量(时间、频率等)计算出YMAX。 MAX RANGE(一1,*):对大于或等于-1的扫描变量算出最大输出变量。如果RANGE 未写,扫描变量在整个扫描范围内计算。 <output variable>为输出变量名,<function> 是对输出变量的所有值进行特定的运算而减少到一个值的单值运算方法的选择。将在额定值下分析(第一次运行)值与随后的统计分析运行值进行比较(单值运算)就得到了单值, <function> 必须是下列方法之一: YMX 求出每个波形与额定运行值的最大差值 MAX 求出每个波形的最大值 MIN 求出每个波形的最小值 RISEEDGE<value>其中value是指定的阈值。找出第一次超过阈值的波形,这波形里在超过阈值点之后必须有一个或几个点等于或低于这个值。最后列出的输出值就是波形超过阈值的值。 FALLEDGE<value>其中value 是指定的阈值,找出第一次低于阈值的波形,这波形里在一个低于阈值点之后必须有一个或几个等于或高于这个值。最后列出的输出值就是波形低于阈值的点。 蒙特卡罗分析 语句格式: .MC (runs value) (analysis) <output variable> +<function> <options> 例: .MC 8 TRAN V(10) YMAX .MC 20 AC VP(91,34) YMAx .MC 40 DC IC(Q8) YMAX LIST (runs value) 为指定运行次数,这是.MC语句中必须的。程序规定最大为2000。 (analysis)在.MC语句中是必须的,其所选的分析必须设为直流分析DC、交流分析AC和瞬态分析TRAN这三者中的一种。选定的分析在随后的运行中将多次运行。 .MC语句可对电路因元器件模型参数存在容许的偏差(容差)造成电路特性的变化进行统计分析。器件模型参数是在.MODEL语句中设定的DEV和LOT容差范围内,在每次分析时随机地变化。 .MC语句对所选定的分析直流、交流、瞬态特性进行多次运行。第一次运行时,所有元器件的模型参数均在标称值下,随后的运行中模型参数在其容差范围内随机变化。
<option>是任选项,可没有,也可选下列几种: OUTPUT ALL:要求将第一次运行以后的各次运行输出。若没有声明 则仅输出标称值(第一次)和最坏情况下运行的结果。 RANGE <low value> , <high value> :同.MC语句。 HI或LOW:指定了最坏情况分析的方向(相对于标称值),如果<function>是YMAX或MAX,缺省值为HI,否则缺省值是LOW。 VARY DEV (VARY LOT ) (VARY BOTH):器件模型参数按.MODEL语句中规定的DEV容差各自独立随机变化或LOT容差同时发生随机变化或者根据两者都进行变化。如果未声明该选项,则缺省值是(VARY BOTH)。 BY RELTOL:器件模型参数按.Options语句设置的RELTOL(相对精度)变化。 BY<value>:器件模型参数按设置的<value> 值变化,缺省时即只写BY其值为BY RELTOL 。 DEVICE <list of device type>:对要进行分析的器件类型,可在关键词DEVICE后列出。列出几个类型时不要用空格、括号等隔开,如只对R和Q进行分析,则形式为DEVICE RQ。该选项缺省时,则对所有器件都进行灵敏度/最坏情况分析。 灵敏度/最坏情况分析 语句格式: .WCASE (analysis) (output variable) <function> <option> 例:.WCASE TRAN V(10) YMX .WCASE DC IC(Q6) YMAX VARY DEV .WASE AC VP(5,0) YMAX DEVICE RQ OUTPUT ALL .WCASE 语句中的前三项(analysis) (output variable) <function> 均与.MC语甸中的含意一样,<option>是任选项, 可没有,也可选下列几种: ? .WASE 语句是对电路进行灵敏度和最坏情况分析。该语句是在参数变化时,对所选的分析多次运行,与.MC不同的是.WCASE每次运行只改变一个器件参数,而monte carlo统计分析是参数按指定的统计规律同时随机的变化。由于.WCASE每次运行时可求出每个参数对输出变量(波形)的灵敏度,在所有的灵敏度都得到后,在最后一次运行中.使各个参数同时按容差范围内各自的最大变化量改变,这样就进行了最坏情况分析了。如果器件参数有5个, .WCASE 开始按参数的标称值进行第一次分析,然后由各自容差分别改变一个参数共运行5次,最后进行最坏情况分析,所以.WCASE 共进行参数变量加二次等于7次分析。
分布参数定义语句 语句格式: .DISTRIBUTION<name><(deviation) (probability)> <(deviation) (probability)> …… 例子:. .DISTRIBUTION USERDEF1 (-1,0)(0,1)(1,0) 语句用于在monte carlo统计容差分析中,让用户自己定义器件模型参数的容差分布,由.DISTRIBUTION 所描述的容差分布曲线可控制Pspice产生随机数的相对概率分布,以计算模型参数的偏差。在Pspice中随机数产生器的范围为(-1,+1),参数偏差有均匀分布、高斯分布及用户自定义分布,每种分布都由<name>标明的。用户如果要定义器件模型参数的容差分布,则<name>在.options和.model语句中都应同名。 <(deviation) (probability)> 表示了<(偏差)(概率)>,这是数字对,用它所组成的一组数字对,就描述了每次.MC运行时,给器件模型参数计算的偏差值以及对应的概率值,数字对可达100个。偏差值必须在(-1,+1)之间,这是与随机数产生器的范围相匹配的,后赋值时,要使后面的值应大于或等于前面的值,概率表示是相对可能性,必须为正数或零,
函数定义语句 语句格式: .FUNC (name) (<arg>) (body) 例:.FUNC E(x) EXP(X) .FUNC SINH(x) (E(x)十E(-x))/2 .FUNC函数定义语句用以定义表达式中所要用到的函数,.FUNC语句必须出现在第一次使用这个函数之前,且函数不能重新定义,函数名(name)定义可任意,但应与PSPICE的内建函数如“ABS” “ SIN”等不同。 (name)后跟自变量(arg),最多可有10个自变量,在因数使用时的自变量数目必须与定义的数目相等。语句中自变量可有可无.但括号不能省。 (body)为函数体,可以利用前面已定义过的函数
包括文件语句 语句格式: .INC (file name) 例:.INC AAA.CIR .INC C:\PSPICE\LIB\BBB.CIR .INC语句是用于插入别的文件的内容,(file name)是任意字符串 包括文件可以包括任何语句,其特殊点为:无标题行,可用一个注释;如果有.END语句,则表示包括文件的末尾;.INC语句最多有4级“包括”。
参数及表达式定义语句 语句格式: .PARAM(name=value)<name=value>….. .PARAM(name=expression) <name=expression>… 例:.PARAM VCC=6V,VEE=-6V .PARAM BD=(100KHz/3) .PARAM PI=3.14159 以参数代替数值,或在表达式中使用参数,可以灵活设置电路输入文件中待分析的值。 (name)是定义的参数名,(value)和(expression)分别是常数或表达式,表达式必须仅含常数或前面已定义过的参数,其它参数不能在表达式中。(name) 名不能与程序中予定义的参数、予定义函数或命令同名
参数分析语句 扫描可以是线性(LIN)的,对数(DEC)的,倍频程(OCT)的或列表的形式。扫描变量可以是电流、模型参数、温度、和全程变量。 .STEP语句与.DC语句相似,如果在.STEP和.DC设置了同样的值,会出现错误标志,使任何分析均不能进行。 同样在 .STEP,.TEMP,.MC,WCASE和.DC中的二种分析,设置同样的值也是不允许的。 语句格式: .STEP (LIN) SNAME SSTART SSTOP SINCR .STEP<DEC><OCT> 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等通常分析,所有分析完成后,对所有扫描值产生了一个完整的输出。
结果输出语句 .PRINT (PRTYPE) OUT1<OUT2…OUT8> 例: .PRINT TRAN V(4) V(2,8) I(VIN) I(VCC) 该语句规定1至8个输出变量的打印输出, PRTYPE是输出分析类型:DC,AC,TRAN,NOISE .PLOT (PRTYPE) OUT1<(low,high)><OUT2 <(low,high)> …OUT8> 例: .PLOT I(D8) I(VCC)(-20mA,20mA) 该语句规定l到8个输出变量的绘图输出, PRTYPE 是输出的分析类型(DC,AC,TRAN,NOISE )。 (low,high) 的可选项是表示对任何输出变量规定作图的下限(low)和上限(high) 。如没有规定绘图限制,PSPICE将自动地决定所有绘图的输出变量的最小值和最大值,并换算合适的作图比例。
输出变量 格 式 含 意 V(N) 节点N的电压(相对参考点) V(N+,N-) 节点N+和N-间的电压 V(name) 格 式 含 意 V(N) 节点N的电压(相对参考点) V(N+,N-) 节点N+和N-间的电压 V(name) name元器件上的电压 Vx(name) name元器件x端的电压 Vxy(name) name元器件X和Y两端的电压 Vz(name) 传输线一终端的电压 I(name) 通过name元器件的电流 Ix(name) 进入name元器件x端的电流 Iz(name) name传输线的一终端电流 D (name) 名为name的数字节点的数字值。该值仅在DC和瞬态分析有效. 输出变量 例子: V(1) 节点1与地之间的电压 V(3,2) 节点3与节点2之间的电压 V(R10) 电阻R10上的电压 VB(Q5) 双极晶体管Q5的基极与地之间的电压 VGS(M8) MOSFET M8的栅极与源极间的电压 VA(T2) 传输线T2的A端口电压 I(D2) 通过二极管D2的电流 IG(J6) 流入JFET J6的栅极电流 D(QA) 数字节点QA的数字值
交流分析中的输出变量 AC分析中,在输出电压v和电流I的变量之后再加上附加项,就可得到适当的输出。各附加项含意如下; 例子: VM(2) 节点2与参考节点(地)间的电压幅度 VDB(R1) R1上电压幅度的分贝(dB)数 VBEP(Q5) 三极管Q5的基极与发射极间电压的相位 IAG(T2) 传输线T2的A端口电流的群延迟 IR(VIN) 流过电压源VIN电流的实部 II(R1) 流过电阻R1上电流的虚部 IGG(M3) MOSFET M3栅极电流的群延迟 附加项 含 意 不加 幅度 M P 相位 DB 单位为分贝的幅度 G 群延迟 R 实部 I 虚部
噪声分析中的输出变量 输出变量 含 意 INOISE 输入节点的等效输入噪声 ONOISE 输出节点的总的均方根噪声和。即总的输出噪声 含 意 INOISE 输入节点的等效输入噪声 ONOISE 输出节点的总的均方根噪声和。即总的输出噪声 DB(INOISE) 按分贝为单位的等效输入噪声 DB(ONOISE) 按分贝为单位的总的输出噪声
第五部分 常见问题
浮动节点
少于两个连接的节点
电压源和有感回路
具体步骤如下: 1、如果在输入文件中有.OP和.AC语句,则去掉这些语句,只进行瞬态分析。去掉所有脉冲,指数或正弦输入源。 2、设置合理的模拟时间。 3、使用.TRAN语句中的UIC开关,这将允许在没有求解静态工作点的情况下就进行瞬态计算。 4、对电路的输入文件中的每一个非线性控制节点添加观察项 5、运行该分析。 6、从输出曲线图中每一节点的输出波形取值。将这些电压值作为节点设置来决定每个非线性控制节点的初始电压。 7、重新加上所需要的独立电源、.OP和.AC语句。 8、.TRAN语句中去掉UIC开关,⑧再开始分析。 直流分析不收敛 放宽分析精确度 收敛的最终判据是用相对误差和绝对误差来表示的,这些误差直接反映了分析的精度。如果放宽了分析的精度也就放宽了收敛的条件。如果设置RELTOL=0.02,ABSTOL=10-10,VNTOL=10-4,且把ITL1设为300,这就比用它们的缺省值都大,即放宽了收敛条件,如果这时收敛了,就记下非线性元件控制节点的直流电压值,并把这些节点的电压用.NODESET语句设定记下的节点直流电压值,然后恢复上述任选项的值,即提高分析精度,再运行一次,看是否收敛。 直流分析时的不收敛,往往是由于电路连接、元件值或模型参数值有错造成的。 偏置点的计算不收敛有以下5种解决方法; 重置ITLl项 最简单的方法是增加直流迭代次数的限制,在任选项中ITLl为40,可把ITLl 置为1000,这样就允许许更多的迭代次数,可能会导致收敛。这种方法,往往对计算终止值在真实解附近较有效。 使用OFF项 在直流计算时,可关断所有对直流计算是截止的半导体器件。偏置点首先是假定被设定的器件都是在截止时得到的,收敛后再允许这些器件中有电流通过,以使它们的端电压与实际相符,处于正常工作,然后继续迭代至收敛。因此ON/OFF项不影响偏置点的最终解,只影响对初始迭代的估计。所以,这种方法对非线性工作区是最有效。 使用UIC开关 在以上方法都不能使直流偏置点收敛时,使用开关UIC可作为最后的偿试。该法获得正确结果的可能性约98%。这种方法是在不用直流(DC)和交流(AC)分析时只进行瞬态分析,并用获得的稳态输出值作为给节点进行电压值设定,再按要求,重新进行所需的分析。 使用.NODESET语句 .NODESET 语句是节点电压设置语句,用它可以对电路中某些节点设置初始电压。在直流分析时将对予置节点接上设定的电压源,进行迭代直至收敛,再将这些电压源去掉继续迭代直至收敛到最终解。因此该语句仅起帮助收敛的作用并不影响直流偏置点的最终解。
直流扫描和转移分析不收敛 直流扫描和转移特性分析时的不收敛,除了采用直流偏置点分析中的解决方法外还有以下几种 重置ITL2项 ITL2是对直流转移特性曲线迭代次数的限制,其缺省值是20,如把ITL2置为200,这样就允许更多的迭代次数,而导致收敛。当然在增加ITL2时,应同时重置ITL1,一般ITL1>ITL2。 用分段线性源代替直流扫描 导致直流扫描特性分析不收敛和最一般的情况是分析带有正反馈的电路,如斯密特触发器电路。可以使用瞬态分析代替直流扫描。
瞬态分析不收敛 重置ITL4项 重新设置瞬态分析时间点的迭代极限, ITL4的缺省值是10,如设为40,就会有更多的迭代次数,可能会导致收敛,这种设置会使模拟速度减慢。在ITL4增加后,有时要设置ITL5=0使解收敛。 放宽分析精度 试将电压和电流的相对误差容限即相对精度放宽,RELTOL的缺省值是0.001,如将其放宽到0.01。此时也可放宽电流或电压的绝对误差容限,就是重置ABST0L(缺省值1PA).如到lNA,重置VNTOL(缺省值luv),如到100UV。 设置电路初始条件
第六部分 PSPICE元器件模型
元器件模型(电阻) 模型名:RES 模型参数包括: 电阻因子 R 缺省值为1 线性温度系数 Tc1 缺省值为0 指数温度系数 Tce 缺省值为0 Tce未指定时电阻值与温度的关系为: Rnew=Value*R*[1+Tc1*(T-T0)+Tc2*(T-T0)2] Tce指定时电阻值与温度的关系为: Rnew=Value*R*1.01Tce*(T-T0) 电阻的噪声模型是假定频带宽度为1Hz时计算的,这时电阻的热噪声功率谱密度(每单位带宽)为 i2=4kT/Rnew i是等效噪声电流,k是玻尔兹曼常数,T为热力学温度。
元器件模型(电容) 模型名:CAP 模型参数包括: 电容因子 C 缺省值为1 线性电压系数 Vc1 缺省值为0 线性温度系数 Tc1 缺省值为0 二次温度系数 Tc2 缺省值为0 电容值与电压和温度的关系为: Cnew=Value*C* [1+Vc1*V+Vc2*V2] *[1+Tc1*(T-T0)+Tc2*(T-T0)2]
元器件模型(电感) 模型名:IND 模型参数包括: 电感因子 L 缺省值为1 线性电流系数 IL1 缺省值为0 线性温度系数 Tc1 缺省值为0 二次温度系数 Tc2 缺省值为0 电感值与电流和温度的关系为: Lnew=Value*L* [1+IL1*I+IL2*I2] *[1+Tc1*(T-T0)+Tc2*(T-T0)2]
元器件模型(互感) 非线性磁心的情况,可以通过设置B(K(name))从Probe中看到。磁化强度可以设置H(K(name)) 看到. 模型名:CORE 模型参数包括: 平均磁通横截面积 AREA 缺省值为0.1 平均磁路长度 PATH 缺省值为1 有效气隙长度 GAP 缺省值为0 叠层因子 PACK 缺省值为1 磁化强度饱和值 MS 缺省值为1E+6 平均磁场参数 ALPHA 缺省值为1E-3 形状参数 A 缺省值为1E+3 磁畴壁折曲常数 C 缺省值为0.2 磁畴壁约束常数 K 缺省值为500 非线性磁心的情况,可以通过设置B(K(name))从Probe中看到。磁化强度可以设置H(K(name)) 看到.
元器件模型(压控开关) 模型参数中RON必须大于0,ROFF必须比1/GMIN小。 模型名:VSWITCH 模型参数包括: 闭合状态控制电压 VON 缺省值为1 断开状态控制电压 VOFF 缺省值为1E6 闭合电阻 RON 缺省值为1 断开电阻 ROFF 缺省值为0 开关噪声是在假设频率带宽为1Hz时计算的。电压控制开关产生热噪声是由于在偏置点相当于一个有限电阻,其每单位带宽的功率谱密度 : i2=4kT/RS 模型参数中RON必须大于0,ROFF必须比1/GMIN小。 ROFF与RON之比应该小于1012 在容许的精度范围内,相对于其它的电路元件,通过选择RON尽可能高,ROFF尽可能低,可以使由于理想开关的高增益所带来的困难减到最小
元器件模型(流控开关) 模型名:ISWITCH 模型参数包括: 闭合状态控制电流 ION 断开状态控制电流 IOFF 闭合电阻 RON 断开电阻 ROFF
元器件模型(二极管) 频率特性主要是由扩散电容描述的电荷存贮效应和非线性耗尽层电容决定,扩散电容主要由TT (渡越时间)模拟,IS、N、IKF(大注入膝点电流)参数对其有影响。耗尽层电容由参数CJO(零偏压PN结电容)、VJ、M( PN结梯度因子)和Fc(正偏耗尽层电容公式中的系数)确定。 饱和电流的温度系数主要由XTI(饱和电流温度指数)、EG(禁带宽度)、IS决定,还包括ISR和NR参数。 反向击穿用反向二极管电流的指数增长来模拟,主要由参数BV和IBV决定(这两个值都是正值) 此外还有NBV、IBVL、NBVL参数。 在模型参数中,决定二极管的直流持性的参数有IS(饱和电流)、VJ(PN结内建电势)、N(发射系数)、RS(欧姆电阻)、ISR(复合电流参数)、NR( ISR 的发射系数)、BV(反向击穿电压)、NBV (反向击穿因子) 、NBVL (低电平反向击穿因子) 、IBV (反向击穿电流) 、IBVL (低电平反向击穿电流) ,其中前四项是主要的。 饱和电流IS是二极管模型中最重要的参数,其物理本质是PN结反向扩散电流。该值远小于PN结反向(漏)电流,因为它末包括反向空间电荷区产生电流、表面复合电流、表面沟道电流和表面漏导电流。 二极管模型是由一个本征二极管上串联一个欧姆电阻阳构成,本征二极管又用电容Cd和非线性电流源Id并联构成,以模拟二极管的存贮电荷效应和电流-电压特性。该模型可广泛用于PN结二极管和肖特基二极管中。在模型中考虑了反向击穿特性。所以也适用于稳压管的分析中。
基区电荷存贮用正向渡越和反向渡越时间TF和TR模拟,包括参数:TF、TR、IS、NF、NR。如果需要的话,正向渡越时间IF可随偏压而变,参数为XTF(TF随偏置变化的系数)、ITF(影响TF的大电流参数)和VTF(TF随VBC变化的电压) B-E结非线性耗尽层电容,由FC(正偏压势垒电容系数)、CJE(B-E零偏置PN结电容)、VJE(B-E内建电势)和MJE(B-E梯度因子)决定,B-C结由XCJC(B-C耗尽层电容连接到基区内部节点的百分数)、CJC( B-C零偏置PN结电容)、VJC (B-C内建电势)和MJC (B-E梯度因子)决定,C-S结由CJS ( C-S零偏置PN结电容) 、VJS (C-S内建电势)和MJS (C-S梯度因子)所决定。饱和电流IS的温度关系由禁带宽度EG和饱和电流温度指数XTI决定。此外,基极电流的温度关系在新模型中由电流放大系数的温度指数XTB模拟。闪烁噪声由参数KF和AF决定。 B-C结电容为: Cbc = B-C结电容= Ctbc + area·XCJC·Cjbc Ctbc =扩散电容 = TR·Gbc Gbc = B-C直流电导 = (dIbc)/(dVbc) Cjbc = CJC·(1-Vbc/VJC)-MJC Vbc < FC·VJC Cjbc = CJC·(1-FC)-(1+MJC)·(1 FC·(1+MJC)+MJC·Vbc/VJC) Vbc > FC·VJC 外基极与本征集电极间的PN结势垒电容 Cbx =外基极与本征集电极间的电容= area·(1-XCJC)·Cjbx Cjbx = CJC·(1-Vbx/VJC)-MJC Vbx < FC·VJC Cjbx = CJC·(1-FC)-(1+MJC)·(1-FC·(1+MJC)+MJC·Vbx/VJC) Vbx > FC·VJC 衬底结电容 Cjs =衬底结电容= area·Cjjs Cjjs = CJS·(1-Vjs/VJS)-MJS(assumes FC = 0) Vjs < 0 Cjjs = CJS·(1+MJS·Vjs/VJS) Vjs > 0 直流模型 Ib = 基极电流 = area·(Ibe1/BF + Ibe2 + Ibc1/BR + Ibc2) Ic = 集电极电流 = area·(Ibe1/Kqb - Ibc1/Kqb - Ibc1/BR - Ibc2) Ibe1 = 正向扩散电流 = IS·(eVbe/(NF·Vt)-1) Ibe2 =非理想的基极与发射极电流= ISE·(eVbe/(NE·Vt)-1) Ibc1 =反向扩散电流= IS·(eVbc/(NR·Vt)-1) Ibc2 =非理想的基极与集电极电流= ISC·(eVbc/(NC·Vt)-1) Kqb =基区电荷总数= Kq1·(1+(1+4·Kq2)NK)/2 Kq1 = 1/(1 - Vbc/VAF - Vbe/VAR) Kq2 = Ibe1/IKF + Ibc1/IKR Is = 衬底电流 = area·ISS·(eVjs/(NS·Vt)-1) Rb = 基极欧姆电阻 Ibe1和Ibc1 是扩散电流,末考虑非理想情况。非理想时的表面复合、势垒区复合、沟道电流、表面漏电等均由Ibe2和Ibc2计入。 Kqb 是中性基区多数载流子电荷总量, Kq1 模拟了基区宽度调制效应, Kq2 模拟了大注入效应。 基极串联电阻对直流特性(特别在大电流时),对频率特性等有较大影响。定义Rb 为实际的基极(寄生)电阻,可用RB和RBM来模拟,RB可认为是发射区外面基区(外基区)部分的电阻,则RB-RBM是内基区电阻,是指发射区下面的基区部分引起的电阻。所以当IRB无穷大时 Rb = (RBM + (RB-RBM)/Kqb)/area 其中Kqb 是归一化的基区总电荷,内基区电阻和Kqb成反比。当小注入时,注入到基区中的少子比零偏时基区中的多子少得多,这时Kqb ≈1,则Rb≈ RB为常量,当注入很大则Kqb >>1,则Rb ≈RBM ,说明由于基区电导调制效应使内基极电阻贡献为零,所以该式反映了基区电导调制效应.当IRB不为无穷大时: Rb = (RBM + 3·(RB-RBM)·(tan(x-x)/ x· (tan(x))2) )/area x =((1+(144/π2 ) · (Ib /( area · IRB)) )½-1)/(24 /π2 . ((Ib /( area · IRB)) ½) 考虑晶体管的准饱和效应,在本征集电极和集电极串联电阻之间加入了一个新的节点,并加上了受控电流源,二个受控电容分别用Qw和Qo,表示。如果模型参数Rco>0,则准饱和效应就考虑. 元器件模型(三极管) IS(饱和电流)、BF(理想的正向电流放大倍数)、NF(正向电流发射系数)、ISE(B-E结泄漏饱和电流)、IKF(正向BETA大电流下降点)和NE (B-E结泄漏发射系数)决定正向电流增益特性。 IS、BR(理想的正向电流放大倍数)、NR(反向电流发射系数)、ISC (B-C结泄漏饱和电流) 、IKR (反向BETA大电流下降点)和NC (B-C结泄漏发射系数)决定反向电流增益特性。 VAF(正向欧拉电压)、VAR (反向欧拉电压)决定正向工作和反向工作的输出电导。 模型中包括三个欧姆电阻RB、RC和RE,其中RB可以随大电流而变化,参数为IRB(基极电阻向最小值下降到一半时的电流)和RBM(大电流时最小基极电阻)。 为了模拟晶体管中的电荷存贮效应采用电容模型来模拟。晶体管中的存贮电荷一部分是由PN结的空间电荷区存贮的,并用结势垒电容来表示,另一部分是由于注入的少数载流子引起的,这部分电荷用注入的载流子电荷或扩散电容来表示。其中B-E结电容为: Cbe = B-E结电容= Ctbe + area·Cjbe Ctbe = 扩散电容 = tf·Gbe tf = 有效度越时间 = TF·(1+XTF·(Ibe1/(Ibe1+area·ITF))2·eVbc/(1.44·VTF)) Gbe = B-E直流电导 = (dIbe)/(dVb) Ibe = Ibe1 + Ibe2 Cjbe = CJE·(1-Vbe/VJE)-MJE Vbe < FC·VJE Cjbe = CJE·(1-FC)-(1+MJE)·(1-FC·(1+MJE) +MJE·Vbe/VJE) Vbe > FC·VJE 考虑晶体管的准饱和效应,在本征集电极和集电极串联电阻之间加入了一个新的节点,并加上了受控电流源,二个受控电容分别用Qw和Qo,表示。如果模型参数RCO>0,则准饱和效应就考虑. Iepi = area·(VO·(Vt·(K(Vbc)-K(Vbn)-ln((1+K(Vbc))/(1+K(Vbn))))+Vbc-Vbn))/RCO·(|Vbc-Vbn|+VO) Qo = area·QCO·( K(Vbc)-1-GAMMA/2 ) Qw = area·QCO·( K(Vbn)-1-GAMMA/2 ) K(v) = (1+GAMMA·e(v/Vt))1/2 NK(大电流roll-off系数)模拟大注入效应,ISS(衬底PN结饱和电流)和NS(衬底PN结发射系数)是计算衬底极的电流,用于描述LPNP管的直流特性,QCO(外延层电荷系数)、RCO (外延层电阻) 、VO(载流子迁移率膝点电压)和GAMA(外延层掺杂系数)是描述晶体管的准饱和效应;对RE、RB、RBM和RC规定了描述它们温度特性的8个模型参数。
元器件模型(JFET) 直流模型 Ig = 栅极电流 = area·(Igs + Igd) Igs =栅源结的泄漏电流= In + Ir·Kg In = PN结传输电流 = IS·(e Vgs/(N·Vt)-1) Ir = 复合电流 = ISR·(e Vgs/(NR·Vt)-1) Kg = 产生因子 = ((1-Vgs/PB)2+0.005)M/2 Igd =栅漏结的泄漏电流= In + Ir·Kg + Ii In = PN结传输电流 = IS·(e Vgd/(N·Vt)-1) Ir =复合电流 = ISR·(e Vgd/(NR·Vt)-1) Kg =产生因子 = ((1-Vgd/PB)2+0.005)M/2 Ii = 碰撞电流 Ii = Idrain·ALPHA·vdif·e-VK/vdif 0 < Vgs-VTO < Vds vdif = Vds - (Vgs-VTO) Ii = 0 else Id = 漏极电流 = area·(Idrain-Igd) Is = 源极电流 = area·(-Idrain-Igs) 漏源电流: Vds > 0: Idrain = 0 Vgs-VTO < 0 Idrain = BETA·(1+LAMBDA·Vds)·Vds·(2·(Vgs-VTO)-Vds) Vds < Vgs-VTO Idrain = BETA·(1+LAMBDA·Vds)·(Vgs-VTO)2 0 < Vgs-VTO < Vds Vds < 0: 仅需将上面公式中所有的源和漏对调一下即可。 栅源PN结耗尽层电容 Cgs = area·CGS·(1-Vgs/PB)-M Vgs < FC·PB Cgs = area·CGS·(1-FC)-(1+M)·(1-FC·(1+M)+M·Vgs/PB) Vgs > FC·PB 栅漏PN结耗尽层电容 Cgd = area·CGD·(1-Vgd/PB)-M Vgd < FC·PB Cgd = area·CGD·(1-FC)-(1+M)·(1-FC·(1+M)+M·Vgd/PB) Vgd > FC·PB 在模型参数中,直流特性由下列参数确定。 VTO和BETA决定漏电流随栅压的变化,LAMBDA决定输出电导,IS是两个栅结的饱和电流。模型中还包括两个欧姆电阻RD和RS。电荷贮存效应由两个栅结的非线性耗尽层电容模拟,该电容随结电压的-1/2幂变化并由零偏压时CGS、CGD和结电势PB所决定。 当VTO<0,表明是耗尽型JFET,不论是N沟还是P沟, VTO>0,表明器件是增强型JFET。
宏模型构造方法 该方法的具体做法如下: 1、选定原电路中的某一元件,将其开路,计算出响应;再将其短路,也计算出响应。若其响应超过容许的偏离,则说明这个元件不能首先开路或短路。若其响应不超过容许范围,则将其偏离记录下来。 2、对电路中每个元件都按上述方法进行计算。 3、对所有元件开路和短路所造成的电路响应的偏离进行比较,取其最小者,作为第一个被开路或短路的元件。 4、将选出的第一个元件开路或短路后,再重复上述步骤,决定第二个,第三个…能够开路或短路的元件。直到再短路或开路元件时,响应的容差就要超过规定值为止。 用构造法建立宏模型 用构造法建立的宏模型,实际上是构造一个另外的电路。该电路的端口特性与原电路的端口特性相同,但它要比原电路有较大程度的简化。这种方法建立宏模型的步骤如下: 首先分析集成电路的内部电路以明确各部分的功能,把功能块分割成各子电路块。 而后以最简单的方式通过R、l、C及受控源去模拟各功能块子电路的功能,必要时也可采用尽可能少量的有源器件。最后以适当的方式把各子功能块连系起来组成整个集成电路的宏模型。 电路元件灵敏度比较法 针对电路特性求出组成该电路所有元件的灵敏度,而后去掉灵敏度较低的元件,由剩下的元件组成的电路,就构成原电路的简化宏模型。 电路元件短路、开路法 这种方法是保证电路性能在不偏离给定范围的前提下将原电路中元件短路或开路,达到简化目的。
元器件模型(运算放大器) 直流特性宏模型 该宏模型电路主要用来模拟失调电流、输入偏置电流、失调电压、差模和共模输入电阻、电流增益、共模抑制比及输出电阻等。
元器件模型(运算放大器) 交流小信号特性宏模型 第一级模拟运放的输入特性,主要模拟运放的有限差模输入阻抗Zid和有限共模输入阻抗Zic。当运放在低电平输入时还应模拟运放失调电流和失调电压。在最简单的悄况下可用Rr来模拟有限输入电阻,其值等于运放的差模输入电阻。 第二级模拟运放的摆率特性SR,主极点频率f1及低频开环电压增益。 第三级模拟运放的高频特性,为单位增益和高频极点级。 第四级为输出级,模拟运放的最大输出电压范围及有限输出电阻Ro
元器件模型(运算放大器)
元器件模型(运算放大器) 交流大信号宏模型 为了模拟输入差放的非线性特性,第一中间级的受控电流源要用非线性受控电流源代替 为了模拟运放的最大输出电压范围土Vom,在宏模型的输出级增加了一个非线性电阻RN
元器件模型(运算放大器) 模拟运放的差模和共模电压增益 C2内部反馈电容。运放主要时间常数由C2决定。它用来模拟交流输出阻抗随频率的变化(运放3dB频率由C2决定)。 模拟运放的直流和交流输出电阻。Dl、D2、R1和Gc产生运放要求的最大短路电流。D3、Vc和D4、Ve是电压箱位电路,它用来模拟运放的最大电压工作范围。 元器件模型(运算放大器) 模拟运放线性和非线性差模(DM)和共模(CM)输入特性,模拟失调电压和失调电流,该级电压增益=1,CEE模拟转换速度,C1模拟相位响应。