Spice基本语法Word格式文档下载.docx
《Spice基本语法Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Spice基本语法Word格式文档下载.docx(8页珍藏版)》请在冰豆网上搜索。
•有源器件:
Diode、BJT、JEFET、MOSFET
1、Diode〔二极管〕
DXXXN+N-MNAME<
AREA>
OFF>
IC=VD>
可选项:
AREA是面积因子,OFF是直流分析所加的初始条件,IC=VD是瞬态初始条件
注:
模型中的寄生电阻串联在正极端
2、BJT〔双极性晶体管〕
QXXXNCNBNE<
NS>
MNAME<
IC=VBE,VCE>
NC、NB、NE、NS分别是集电极、基极、发射极和衬底节点,缺省时NS接地。
后面与二极管一样。
3、JFET〔结型场效应晶体管〕
JXXXNDNGNSMNAME<
IC=VDS,VGS>
4、MOSFET〔MOS场效应晶体管〕
MXXXNDNGNSNBMNAME<
L=VAL>
W=VAL>
Otheroptions>
M为元件名称,ND、NG、NS、NB分别是漏、栅、源和衬底节点。
MNAME是模型名,L沟道长,W为沟道宽。
•子电路
1、子电路定义开始语句
.SUBCKTSUBNAM<
node1node2…>
其中,SUBNAM为子电路名,node1…为子电路外部节点号,不能为零。
子电路中的节点号〔除接地点〕,器件名,模型的说明均是局部量,可以和外部的一样。
.SUBCKTOPAMP1234
2、子电路终止语句
.ENDS<
SUBNAM>
假如后有子电路名,表示该子电路定义完毕;
假如没有,表示所有子电路定义完毕。
.ENDSOPAMP/.ENDS
3、子电路调用语句
X*****<
node1node2…>
SUBNAM
在Spice中,调用子电路的方法是设定以字母X开头的伪元件名,其后是用来连接到子电路上的节点号,再后面是子电路名。
„„
.SUBCKTINVINOUTwn=1.2uwp=1.2u
Mnoutin00NMOSW=wnL=1.2u
MpoutinvddvddPMOSW=wpL=1.2u
.ENDS
X1IN1INVWN=1.2UWP=3U
X212INVWN=1.2UWP=3U
X32OUTINVWN=1.2UWP=3U
激励源:
独力源和受控源
独立源:
直流源〔DCSources〕交流小信号源〔ACSources〕瞬态源〔TransientSources〕脉冲源指数源正弦源分段线性源
1、直流源〔DCSources〕
VXXXN+N-DCVALUE
IXXXN+N-DCVALUE
V110DC=5V
I110DC=5mA
2、交流小信号源〔ACSources〕
VXXXN+N-AC<
ACMAG<
ACPHASE>
>
IXXXN+N-AC<
其中,ACMAG和ACPHASE分别表示交流小信号源的幅度和相位。
V110DC=5VAC1V
3、瞬态源〔TransientSources〕
a、脉冲源〔又称周期源,PULSESources〕
VXXXN+N-PULSE(V1V2TDTRTFPWPER)
其中,V1初始值,V2脉动值,TD延时,TR上升时间,TF下降时间,PW脉冲宽度,PER脉冲周期。
Vin10PULSE(0V5V10ns10ns10ns40ns100ns)
b、分段线性源〔PWLSources〕
VXXXN+N-PWL(T1V1<
T2V2T3V3„>
)<
R<
=repeat>
TD=delay>
R=repeat_from_what_timeTD=time_delay_before_PWL_start
其中,Vi是Ti时刻的值,repeat是开始重复的起始点,delay是延迟时间
V110PWL60n0V,120n0V,130n5V,170n5V,180ns0V,R0
V220PWL60n0V,120n0V,130n5V,170n5V,180ns0V,R60n
c、VXXXN+N-SIN(V0VAFREQTDTHETAPHASE)
其中,VO偏置,VA幅度,TD延时,THETA阻尼因子,PHASE相位
VIN30SIN(0V1V100MEG2NS5e7)
d、指数源〔EXPSources〕
VXXXN+N-EXP(V1V2TD1TAU1TD2TAU2)
V1是初始值,V2是峰值,TD1是上升延迟时间,TAU1是上升时间常数,TD2是下降延迟时间,TAU2是下降时间常数。
VIN30EXP(-4-15N30N40N80N)
器件模型
元器件需要模型语句来定义其参数值。
模型语句不同于元器件定义描述语句,它是以“.〞开头的语句,由关键字.MODEL,模型名称,模型类型和一组参数组成。
无源器件定义模型参数即可。
电阻模型:
.MODEL模型名Rkeyword=value
NOISE,RX:
热噪声参数,inr=SQRT(NOISE·
4KT/R)
电容模型:
.MODEL模型名Cparameter=value
电感模型:
.MODEL模型名Lparameter=value
二极管模型
.MODEL模型名D<
LEVEL=val>
keyword=val>
...
电阻、电容、电流参数
.MODELDD(CO=2PF,RS=1,IS=1P)
.MODELDFOWLERD(LEVEL=2,TOX=100,JF=1E-10,EF=1E8)
.MODELDGEOD(LEVEL=3,JS=1E-4,JSW=1E-8)
BJT管模型
.MODELmnameNPN<
(>
pname1=val1>
...<
)>
.MODELmnamePNP<
模型参数中一般包括LEVEL,说明哪种模型,不同级的模型有不同的模型参数集。
MOS管模型
.MODEL模型名PMOS<
LEVEL=val>
parameters>
.MODEL模型名NMOS<
LEVEL=1常用于数字电路,精度低、速度快
LEVEL=2考虑了衬底电荷对电流的影响
LEVEL=13,39,49模拟电路,精度高、速度慢
二、分析类型描述语句
.OP:
直流工作点分析
•严格来说,这不算一种仿真类型。
计算直流工作点指令,对于分析电路很有用〔要会看.lis文件〕,会在输出文件中列出一些直流参数和各结点的工作点电压与支路电流、静态功耗。
•一般在任何其它仿真之前都需要计算直流工作点。
•.optime看某一时刻的各个器件和电源的状态。
•.opvoltime某一时刻所有节点电压。
•.opcurtime某一时刻所有器件和电源的电流。
•默认状态:
.ac和.dc分析是初始工作点,.tran默认时间是0。
.DC:
直流分析
•可以对参数和独立电源扫描
•.DCvar1STARTSTOPSTEP/<
SWEEPvar2typenpstart2stop2>
其中,type有DEC(十进位〕/OCT〔倍频〕/LIN〔线性〕/DATA=datanm/POI(列表〕,Np是单位X围内的点数〔依type而定〕
•注意:
1〕对独立源扫描时,var为电源名,而非节点名
2〕仿真迟滞特性要正、负双向扫描,
如:
.DCVin050.1.DCVin50-0.1
3〕注意对两个量的扫描,后面的是外循环
4〕SWEEP后的变量可是电压、电流或温度等变量
.TRAN:
瞬态分析
.TRANvar1START=start1STOP=stop1STEP=incr1
.TRAN1NS100NS注:
以1ns的步长输出到100ns
.AC:
交流分析
.ACtypenpfstartfstop<
SWEEPvarstartstopincr>
or
SWEEPvartypenpstartstop>
.ACvar1START=start1STOP=stop1STEP=incr1
.ACDEC101K100MEG
•注:
一共有4种
DEC–十进制的(decadevariation)OCT–八进制的(octavevariation)
LIN–线形的(linearvariation)POI–列举的(listofpoints)
.NOISE:
噪声分析
用来计算各个器件的噪声对输出节点的影响并给出其均方根并输出,可完成.AC语句规定的各频率的计算,应在.AC分析之后。
.NOISEovvsraminter
Ovv-输出变量,sram-输入源,inter-频率间隔
三、控制语句
.INCLUDE语句
.INCUDE语句:
引用一个文件,被引用的文件置于引用文件前。
LNA
.include“me98xxxx/model.sp“
.LIB语句:
.lib‘<
filepath>
filename’entryname
该语句根据文件路径和文件名来调用一个库文件,一般该文件包含器件模型。
.lib‘MODELS’cmos1
MODELS文件:
.MODELCMOS1nmos·
·
我们仿真中加库的语句应该是
.LIB'
D:
\TEST\PROCESS\0.6UBCDV0.1PHASE1.LIB'
TT
.PARAM语句
.PARAM语句:
定义一个变量。
.PARAM<
parametername>
=‘<
Expression>
‘
例子:
.PARAMwidth=20u.PARAMlength='
sqrt(width)*1.65'
M13200NMOSwidthlength
.DATA语句
.DATA语句:
给一个数组赋值。
例子:
.DATAD1widthlengthRL+50u20u1K+60u10u10K+100u25u1K.ENDDATA
.ALTER语句
.ALTER语句:
使用不同的参数和数据以返回一个仿真结果。
语法:
.ALTER<
title_string>
title_string是任何最长至72个字母的字符串。
.alter运行所需的适宜的字符串在每个输出列表文件和图形数据文件〔.tr#〕的标题局部打印出来。
.GLOBAL语句
.GLOBAL语句:
定义全局变量。