Spice 模拟电路用户指南Word文档下载推荐.docx
《Spice 模拟电路用户指南Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Spice 模拟电路用户指南Word文档下载推荐.docx(21页珍藏版)》请在冰豆网上搜索。
![Spice 模拟电路用户指南Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2023-1/24/10d39be0-9150-46ea-ba70-d03660aa2819/10d39be0-9150-46ea-ba70-d03660aa28191.gif)
双极型晶体管9
结型场效应晶体管9
MOS场效应晶体管9
模型卡10
七、子电路10
1.子电路卡片10
2.终止卡10
3.子电路调用11
八、控制卡11
1.温度卡11
2.宽度卡11
3.可选项卡11
4.工作点卡11
5.直流卡11
6.节点电压设置卡11
7.初始条件卡12
8.转移函数卡12
9.灵敏度卡12
10.交流卡12
11.失真卡13
12.噪声卡13
13.瞬态分析卡13
14.傅立叶分析卡13
15.打印卡14
16.绘图卡14
附1:
.OPTION可选项15
附2:
三大分析流程16
Spice通用电路模拟电路用户指南
一、分析的类型
1.直流分析
SPICE的直流分析用来决定电路的直流工作点,这时,电路中电感短路、电容开路。
在进行瞬态分析之前,SPICE会自动先运行直流分析,用以决定瞬态的初始条件;
同样,在交流小信号分析之前,也先自动运行直流分析,以决定非线性器件的线性化小信号模型参数。
也可用直流分析来产生直流转移曲线,即在用户规定的范围内直流输出变量值与某个指定的独立电压源或电流源步进变化之间的对应关系曲线。
SPICE也能求出指定输出变量对于电路参数的直流小信号灵敏度。
不同直流分析的取舍由.DC、.TF、.OP和.SENS等控制卡来规定。
如果想要知道非线性器件的小信号模型参数以及瞬态分析的工作点,那么就必须提供.OP卡。
2.交流小信号分析
SPICE的交流小信号分析是把交流输出变量作为频率的函数计算出来。
程序首先计算电路的直流工作点,并确定电路中所有非线性器件的线性化小信号模型参数。
然后,在用户指定的频率范围内对这个线性化的电路进行分析。
交流小信号分析所希望的结果,通常是一个转移函数(电压增益、传输阻抗等)。
如果电路只有一个交流输入,可以很方便地把该输入幅度设为1,相位设为0,这样,输出变量的值就是输出对输入的转移函数的值。
电阻和半导体器件产生的白噪声,也可用交流小信号分析来模拟。
等效的噪声源值可以自动地由电路的小信号工作点来确定。
每个指定的噪声,都在求和点相加。
SPICE计算出每个频率点上总的输出噪声电平及其等效的输入噪声电平。
输出和输入噪声电平,都对噪声带宽的平方根进行归一,因而单位是伏特/(赫兹1/2)或安培/(赫兹1/2)。
对这种分析不需要其他附加的输入数据。
若在相应的器件模型卡片中加进KF和AF参数,则可在噪声分析中,对闪烁噪声源加以模拟。
小信号模式时,电路的失真特性可以作为交流小信号分析的一部分加以模拟。
这种分析使假定把一个或两个信号频率加在输入端的情况下完成的。
频率范围、噪声分析参数和失真分析参数,在.AC、.NOISE和.DISTO控制卡中说明。
3.瞬态分析
SPICE的瞬态分析部分,是在用户规定的时间间隔内计算瞬态输出变量,它是作为时间的函数。
初始条件由直流分析部分自动确定。
所有与时间无关的源(如供电电源)都置成它们的直流值。
对于大信号正弦模拟,可以对输出波形进行傅立叶分析,从而得到频域的傅立叶系数。
瞬态分析的时间间隔和傅立叶分析的取舍由.TRAN和.FOURIER控制卡规定。
4.温度分析
SPICE的所有输入数据都被认为是在27℃(300K)下测得的,模拟过程也假定在27℃下进行。
只要使用.TEMP控制卡,电路就可以在其他温度下进行模拟。
以下是一些与温度有关的元器件说明。
在双极型晶体管和二极管模型中,IS(t1)=IS(t0)*(t1/t0)Xt1*eQ*Eg*(t1-t0)/(K*t1*t0),此处K是玻尔兹曼常数、Q是电子电荷、Eg是禁带宽度(模型参数)、Xt1是温度指数(模型参数,通常为3)、t1和t0用绝对温度。
在结型二极管模型中,饱和电流与温度的关系式为IS(t1)=IS(t0)*(t1/t0)Xt1/N*eQ*Eg*(t1-t0)/(K*N*t1*t0),此处,N是发射系数(模型参数),其他与上式中意义相同。
应当注意,对于肖特基势垒二极管,Xt1的值通常为2。
对于所有器件模型,温度出现在结电势PHI中,PHITEMP=K*TEMP/Q*Lg(Na*Nd/NiTEMP2),此处,Na是受主杂质浓度、Nd是施主杂质浓度、Ni是本征浓度。
对MOS场效应管模型,温度出现在表面迁移率UO中,UOTEMP=UOTNOM/(TEMP/TNOM)。
温度对电阻的影响由下式模拟,RTEMP=RTNOM(1+Tc1(TEMP-TNOM)+Tc2(TEMP-TNOM)2)。
以上两式中,TEMP是电路的温度,TNOM是标称温度,Tc1和Tc2是温度系数。
二、收敛性
直流解和瞬态解都是通过迭代过程得到的,当以下两个条件同时满足,迭代结束。
1)非线性支路电流收敛到容差为0.1%或1uA这两者中较大的一个。
2)节点电压收敛到容差为0.1%或1uV这两者中较大的一个。
虽然SPICE中采用的算法非常可靠,但在有些情况下,仍会出现求解不收敛的现象。
这时,程序将列出最后一次迭代的节点电压,并停止作业。
这时列印出的电压未必正确,甚至未必接近正确的解。
直流分析时的不收敛,经常是由于规定的电路连接、元件值或模型参数值有错而造成的。
另外,双稳态电路、无稳态电路、再生开关电路、具有正反馈的电路以及某些运放电路也可能在直流分析和瞬态分析时遇到不收敛的问题。
在SPICE中可用以下五种方法克服这些问题:
1)采用.NODESET,即节点电压设置卡。
2)采用非线性器件卡上的OFF可选项。
3)在器件卡上设定初始条件,即IC=……,但在.TRAN卡中不再设定UIC可选项。
4)采用.IC,即初始条件设置卡,但在.TRAN卡中不再设定UIC可选项。
5)在器件卡上设定初始条件或采用.IC卡设定初始条件,同时在.TRAN卡中使用UIC可选项。
下面对这五种方法进行介绍,关于.NODESET、.IC、.TRAN的具体格式参阅后文。
1)采用.NODESET卡,用户可以设定电路中某些节点或者所有节点的初始电压。
在分析过程中,SPICE首先在这些节点上连接上等于初始设定电压值的电压源,并进行迭代过程,直至收敛。
然后把这些电压源去掉,继续迭代,直至达到新的工作点。
因此,.NODESET卡中设置的节点电压值并不影响最终的直流工作点,而仅仅起到帮助收敛的作用。
2)在采用非线性器件卡的OFF可选项时,直流解首先是在假定所有这些被设定的器件都是截止时得到的。
在收敛后再允许这些器件中有电流流通以使与它们的端电压相符。
然后,继续进行迭代直至求出最终解。
因此,OFF可选项的设定并不影响最终的结果。
3)在器件卡上设定初始条件可选项,而在.TRAN卡中没有设定UIC时,直流解的第一次迭代是以这些初始条件作为被设定器件的工作点开始的,在完成第一次迭代以后,这些初始条件将不再对电路节点电压有任何约束。
因此,迭代的最终结果仍由电路的固有特性决定,与其他几种方法比较,这种方法对解的收敛过程的约束力最弱。
4)采用初始条件设置卡,但在.TRAN卡中不再设定UIC可选项。
与.NODESET类似,用户可以设定电路中某些节点或所有节点的初始电压。
SPICE也将首先在这些节点上连接等于初始设定电压值的电压源。
但是与.NODESET不同的是,由此得到的解将作为迭代过程的最终解。
而在接下去的瞬态分析中,人为加上去的这些电压源将被去掉,而瞬态分析将以电压源去掉以前电路的解为起始条件。
当.IC卡中设置的电压值与电路中固有的工作点有偏离时,就可能需要若干次的迭代才能最终达到电路的固有工作点。
利用这种方法,用户可以精确地设定电路中某些节点的初始条件。
而对于未被设定的电路节点,其工作点将与被设定的电路节点相协调。
5)最后一种方法,是在器件卡上设定初始条件或采用.IC卡设定初始条件,同时在.TRAN卡中使用UIC可选项。
在这种情况下,.IC卡上设定的节点电压值将被用于计算出所有连接到这些节点上的器件的端电压值。
这些电压值再加上在器件卡上设定的可选项IC=……,将成为瞬态分析的第一次迭代时的初始条件。
SPICE将不再进行寻找瞬态分析初始条件的直流分析。
这个方法的优点是它完全避开了直流分析过程。
当遇到某个电路很难实现收敛时,可以用这种方法设定全部节点的精确直流工作点,然后直接进行瞬态分析。
三、输入格式
SPICE的输入格式是一种自由格式。
卡片上的每个字段,由一个或多个空格、逗号“,”、等号“=”、左括号“(”、右括号“)”所隔开,多余的空格忽略不计。
可以在下一张卡片的第一列上加一个“+”号来表示这张卡片是上一张卡片的继续,这时,SPICE从第二列开始继续读入。
名字段的第一个字符必须是字母(A-Z),而且不能和任何定义符相同。
名字中,只有前八个字符是有效的。
数字段可以是整数(如12、-23),浮点数(如3.14),科学计数法(如2E-14、2.63E3),还有用整数或浮点数后接比例因子的方法来表示。
比例因子有T=1012、G=109、MEG=106、K=103、MIL=25.4*10-6、M=10-3、U=10-6、N=10-9、P=10-12、F=10-15,比例因子要紧接在数字后面,但不是比例因子的字符被忽略不计,紧接在比例因子后面的字符也被忽略不计,例如10、10V、10VOLTS、10Hz都表示同一个数,M、MA、MSCD、MMMDF都代表同一个比例因子。
例如0.001、1E-3、1M、1ms、1000u、1000US、1MHS等都表示同一个数。
四、电路描述
送入SPICE进行分析的电路,由一组元件卡片(现常用电路图直接生成)和一组控制卡片来进行描述。
用元件卡片来指定电路的拓扑关系和元件值;
用控制卡片来规定模型参数和运行的控制。
输入的第一张卡片必须是标题卡,最后一张必须是结束卡(.END卡),其余卡片的顺序是任意的(当然连续卡必须紧接在被继续的卡片后面)。
电路的每个元件由一张元件卡来说明,该卡片包括元件名、元件连接的电路节点和决定元件电学特性的参量值。
元件名的第一个字母说明该元件的类型。
例如一个电阻名必须以字母R开头,可以包括一至八个字符。
因此,R、R1、RES、R34RE3都是有效的电阻名。
在本文中,XXXXXXX、YYYYYYY、ZZZZZZZ表示任意的字母字符串;
尖括号“<
>
”中的数据段表示可选项,其余所有用作标识的标点符(如括号、等号)都是必须的。
有关支路电流和支路电压,SPICE采用常用的习惯标准(电流按照电压降方向流动)。
节点必须为正,不能为负,但不必在数字上连续(在现在,使用电路图生成电路结构文件时,可用节点的名字来代替数字,例如节点名可以为GND,与0含义相同,等)。
接地点必须指定为零节点。
电路不能包括一个闭和的电压源和(或)电感,也不能包括一个隔断的电流源和(或)电容。
电路中的每个节点都必须有到地的直流通路。
除了传输线节点(对于无终端传输线)和MOS场效应管的衬底节点(它总有两个内连接处)以外,每个节点至少应有两个元件与其相连。
五、标题卡、结束卡和注释卡
1.标题卡
例如
POR–AuthorOL
此卡片必须是输入卡片中的第一张卡片。
它的内容作为输出的一部分被逐字列印出来。
2.结束卡
.END
此卡片作为输入卡片中的最后一张,说明卡片部分到此结束。
3.注释卡
*<
任何的注释>
例如*IthinkIwouldbeagenius.
第一列的*号表示该卡是注释卡。
注释卡可放于电路描述的任何地方。
六、元件卡
1.电阻
RXXXXXXXN1N2VALUE<
TC=TC1<
TC2>
>
N1、N2是电阻两端的节点号。
VALUE代表电阻值(以欧姆为单位),可以为正,也可以为负,但不能为零。
TC1、TC2是可选项,代表温度系数,默认值均为零。
电阻值作为温度的函数由下式给出:
RTEMP=RTNOM(1+Tc1(TEMP-TNOM)+Tc2(TEMP-TNOM)2)。
例如:
R112100
RIN2345761KOUMUTC=0.001,0.012
2.电容和电感
CXXXXXXXN+N-VALUE<
IC=INCOND>
LYYYYYYYN+N-VALUE<
N+、N-分别代表元件的正负极节点号。
VALUE是电容值(以法拉为单位)或电感值(以亨利为单位)。
INCOND是可选项,代表初始条件。
电容的初始条件为电容电压(单位为伏特)。
电感的初始条件为电感电流(单位为安培),其方向从N+流到N-。
注意,只有在.TRAN卡上指定了UIC可选项时,才使用以上所述的初始条件。
C26501UF
LLINK43350.01MIC=15.7M
非线性电容和非线形电感也可描述,如下。
CXXXXXXXN+N-POLYC0C1C2……VALUE<
LYYYYYYYN+N-POLYL0L1L2……VALUE<
其中C0、C1、C2…和L0、L1、L2…是描述元件值的多项式系数。
电容值为元件两端电压的函数:
VALUE=C0+C1*V+C2*V2+…;
电感值为流过元件电流的函数:
VALUE=L0+L1*I+L2*I2+…。
3.耦合电感
KXXXXXXXLYYYYYYYLZZZZZZZVALUE
此处,LYYYYYYY和LZZZZZZZ是两个耦合电感的名字。
VALUE是耦合系数K的值,必须大于0且小于等于1,采用通常的在每个电感的第一个节点上加一个点“.”的耦合规则。
4.无损耗传输线
TXXXXXXXN1N2N3N4Z0=VALUE<
TD=VALUE>
<
F=FREQ<
NL=NRMLEN>
IC=V1,I1,V2,I2>
N1、N2是端口1的节点,N3、N4是端口2的节点,Z0是特性阻抗。
传输线长度可以用两种形式表示。
一种是传输线延迟TD,可以直接说明(例如TD=10NS)。
另一种是给出一个频率F和参数NL,NL是在频率F时,相对于传输线波长的归一化电学长度。
如果给出了频率F,而没有给出NL,则假定它为0.25(即假定频率是1/4波长的频率)。
注意,虽然表示传输线长度的两种形式都作为可选项,但必须指定其中的一种。
初始条件(可选项IC)由传输线每个端口的电压和电流组成。
只有在.TRAN卡上指定了UIC可选项时,初始条件才起作用。
另外,这个元件模型只有一种传输模式。
如果在实际电路中所有四个节点都是分开的,可以激发两种模式。
为了模拟这种情况,需要用两个传输线元件卡来定义这个元件。
例如:
.SUBCKTTLINE1234*定义一种传输线反向器,需要两种传输模式
T11574Z0=50TD=1.5NS
T25040Z0=100TD=1NS
.ENDSTLINE
用户应注意,SPICE所采用的瞬态时间步长将不超过最小传输线延迟的1/2。
因此,非常短的传输线(与分析时间相比较)会使得运行时间很长。
5.独立源
VXXXXXXXN+N-<
<
DC>
DC/TRANVALUE>
AC<
ACMAG<
ACPHASE>
IYYYYYYYN+N-<
N+、N-分别是正负极节点。
注意电压源不必接地。
正电流方向定为从正极节点流出,经过电源,流向负极节点。
正值的电流源将迫使电流从N+节点流出,经过源而流入N-节点。
电压源除了用作电路激励外,在SPICE中还是“电流表”,即在电路中嵌入一个零值的电压源,就可以达到测量电流的目的。
显然,这并不影响电路的工作,因为它们是短路的。
DC/TRAN是源的直流和瞬态分析值。
如果源值在直流和瞬态时都是0,这个值可以省略;
如果源值不随时间变化(例如供电电源),那么可以在该值前加上可选项字母DC。
ACMAG是交流的幅度,ACPHASE是交流相位。
在交流分析时,给源置此值。
ACMAG默认值为1,ACPHASE默认值为0,若源不是交流小信号输入,就把关键字AC和交流值略去。
任何独立源,为了进行瞬态分析,可以给予一个随时间变化的值。
如果源随时间变化,那时间为零的值用作直流分析。
有五种独立源函数:
脉冲、指数、正弦、分段线形和单频调制。
如果参数(不是源值)被省去或置零,就认为采用了隐含值(以下隐含值中所用的TSTEP、TSTOP由.TRAN卡定义,TSTEP代表打印增量,TSTOP代表终止时间)。
脉冲源
PULSE(V1V2TDTRTFPWPER)
V1代表初始值,单位为伏特或安培;
V2代表波动值,单位为伏特或安培;
TD代表延迟时间,单位为秒,隐含值为0;
TR代表上升时间,单位为秒,隐含值为TSTEP;
TF代表下降时间,单位为秒,隐含值为TSTEP;
PW代表脉冲宽度,单位为秒,隐含值为TSTOP;
PER代表周期,单位为秒,隐含值为TSTOP。
按以上规定,单脉冲随时间被描述为以下:
T0→V1、T(TD)→V1、T(TD+TR)→V2、T(TD+TR+PW)→V2、T(TD+TR+PW+TF)→V1、TSTOP→V1。
VIN30PULSE(-112NS2NS2NS50NS100NS)
正弦源
SIN(VOVAFREQTDTHETA)
VO代表偏置值,单位为伏特或安培;
VA代表幅度值,单位为伏特或安培;
FREQ代表频率,单位为赫兹,隐含值为1/TSTOP;
THETR代表阻尼因子,单位为1/秒,隐含值为0。
波形如下描述:
T(0-TD)→VO、T(TD-TSTOP)→VO+VA*e-(TIME-TD*THETA*Sin(TWOPI*FREQ*(TIME+TD))。
VIN30SIN(01100MEG1NS1E10)
指数源
EXP(V1V2TD1TAU1TD2TAU2)
V2代表趋向值,单位为伏特或安培;
TD1代表上升延迟时间,单位为秒,隐含值为0;
TAU1为上升时间常数,单位为秒,隐含值为TSTEP;
TD2代表下降延迟时间,单位为秒,隐含值为TD1+TSTEP;
TAU2为下降时间常数,单位为秒,隐含值为TSTEP。
波形描述:
T(0-TD1)→V1、T(TD1-TD2)→V1+(V2-V1)*(1-e-(TIME-TD1)/TAU1)、T(TD2-TSTOP)→V1+(V2-V1)*(1-e-(TIME-TD1)/TAU1)+(V1-V2)*(1-e-(TIME-TD2)/TAU2)例如:
VIN3GNDEXP(-4–12NS30NS60NS40NS)
分段线形源
PWL(T1V1<
T2V2T3V3T4V4...>
)
每一对(Ti,Vi)值表明在时间TIME=Ti时源的值,单位为伏特或安培,中间时刻的源值是对输入值进行线形插值而求得。
VCLOCK75PWL(0–710NS–711NS–317NS–318NS–350NS–7)
单频频率调制源
SFFM(VOVAFCMD1FS)
VA代表振幅,单位为伏特或安培;
FC代表载频,单位为赫兹,隐含值为1/TSTOP;
MDI代表调制指数;
FS代表信号频率,单位为赫兹,隐含值为1/TSTOP。
V=VO+VA*Sin((TWOP1*FC*TIME)+MDI*Sin(TWOP1*FS*TIME))。
V1120SFFM(01M20K51K)
6.线形受控源
SPICE允许电路具有下列四个等式中的任何一种线形受控源。
I=G*V、V=E*V、I=F*I、V=H*I,此处G、E、F、H是常数,分别代表跨导、电压增益、电流增益和互阻。
(在这里,对非线形受控源不作讨论)
线形电压控制电流源
GXXXXXXXN+N-NC+NC-VALUE
N+和N-是对应的正负节点,电流从正节点流出,经过电源流向负节点;
NC+和NC-分别是正负控制节点;
VALUE是跨导值,单位是姆欧(欧姆的倒数)。
G120500.1M
线形电压控制电压源
EXXXXXXXN+N-NC+NC-VALUE
N+和N-是对应的正负节点;
VALUE是电压增益。
E1231412.0
线形电流控制电流源
FXXXXXXXN+N-VNAMVALUE
VNAM是控制电流流过的电压源名,控制电流的正方向是从VNAM的正节点经过此源,流向负节点;
VALUE是电流增益。
F1135VSENS5
线形电流控制电压源
HXXXXXXXN+N-VNAMVALUE
VALUE是互阻,单位是欧姆。
HX516VZ0.5K
7.半导体器件
以上所介绍的各种元件,只要较少的参数就完全可以说明元件的电学性能。
然而,对于半导体器件来讲,需要较多的参数值。
而且,在一个电路中,许多器件常常由同一组器件模型参数来定义。
基于这些原因,通常采用一张单独的.MODEL卡,在这张卡片上定义一组器件模型参数并赋予一个唯一的模型名。
于是,在SPICE中元件卡中就可以引用此模型,注意在.MODEL卡中的各种器件模型参数通常由各工艺厂商提供(由于参数与工艺有关)。
每个半导体器件的元件卡包括器件名,器件连接的节点和器件的模型名。
此外,还可以为每一个器件指定其它的可选项参数;
几何因子和初始条件。
在二极管、双极型晶体管和结型场效应管器件卡中的面积因子,是决定所指定模型的等效并联器件的数目。
可以为器件指定两种不同形式的初始条件。
第一种形式是为了改进那些具有多于一个稳定状态电路的直流收敛性。
如果一个器件被指定为OFF,那就将该器件的端电压设为零来决定直流工作点。
在收敛后,程序继续迭代以得到端电压的精确值。
如果一个电路不止一个直流稳态,可用OFF可选项来迫使解符合一种所要求的状态。
如果对一个实际上是导通的器件指定了OFF,程序仍然会得到精确解(假设解收敛),但需要更多的迭代次数,这是因为程序必须分别收敛于两个不同的解。
.NODESET卡具有OFF可选项同样的目的。
.NODESET卡使用起来比较容易,是帮助收敛的较好方法。
结型二极管
DXXXXXXXN+N-MNAME<
AREA>
OFF>
IC=VD>