您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 总结/报告 > Spice基本语法-
•无源器件:电阻、电感、电容1、电阻RXXXn1n2mnameR=resistanceAC=val电阻值可以是表达式。例:R11210KRac981AC=1e10RterminputgndR=’sqrt(HERTZ)’2、电容CXXXn1n2mnameC=capacitance例:C1121pF3、电感LXXXn1n2L=inductance例:L1121nH•有源器件:Diode、BJT、JEFET、MOSFET1、Diode(二极管)DXXXN+N-MNAMEAREAOFFIC=VD可选项:AREA是面积因子,OFF是直流分析所加的初始条件,IC=VD是瞬态初始条件注:模型中的寄生电阻串联在正极端2、BJT(双极性晶体管)QXXXNCNBNENSMNAMEAREAOFFIC=VBE,VCENC、NB、NE、NS分别是集电极、基极、发射极和衬底节点,缺省时NS接地。后面与二极管相同。3、JFET(结型场效应晶体管)JXXXNDNGNSMNAMEAREAOFFIC=VDS,VGS4、MOSFET(MOS场效应晶体管)MXXXNDNGNSNBMNAMEL=VALW=VALOtheroptionsM为元件名称,ND、NG、NS、NB分别是漏、栅、源和衬底节点。MNAME是模型名,L沟道长,W为沟道宽。•子电路1、子电路定义开始语句.SUBCKTSUBNAMnode1node2…其中,SUBNAM为子电路名,node1…为子电路外部节点号,不能为零。子电路中的节点号(除接地点),器件名,模型的说明均是局部量,可以和外部的相同。例:.SUBCKTOPAMP12342、子电路终止语句.ENDSSUBNAM若后有子电路名,表示该子电路定义结束;若没有,表示所有子电路定义结束。例:.ENDSOPAMP/.ENDS3、子电路调用语句X*****node1node2…SUBNAM在Spice中,调用子电路的方法是设定以字母X开头的伪元件名,其后是用来连接到子电路上的节点号,再后面是子电路名。例:„„.SUBCKTINVINOUTwn=1.2uwp=1.2uMnoutin00NMOSW=wnL=1.2uMpoutinvddvddPMOSW=wpL=1.2u.ENDSX1IN1INVWN=1.2UWP=3UX212INVWN=1.2UWP=3UX32OUTINVWN=1.2UWP=3U激励源:独力源和受控源独立源:直流源(DCSources)交流小信号源(ACSources)瞬态源(TransientSources)脉冲源指数源正弦源分段线性源1、直流源(DCSources)VXXXN+N-DCVALUEIXXXN+N-DCVALUE例:V110DC=5VI110DC=5mA2、交流小信号源(ACSources)VXXXN+N-ACACMAGACPHASEIXXXN+N-ACACMAGACPHASE其中,ACMAG和ACPHASE分别表示交流小信号源的幅度和相位。例:V110DC=5VAC1V3、瞬态源(TransientSources)a、脉冲源(又称周期源,PULSESources)VXXXN+N-PULSE(V1V2TDTRTFPWPER)其中,V1初始值,V2脉动值,TD延时,TR上升时间,TF下降时间,PW脉冲宽度,PER脉冲周期。例:Vin10PULSE(0V5V10ns10ns10ns40ns100ns)b、分段线性源(PWLSources)VXXXN+N-PWL(T1V1T2V2T3V3„)R=repeatTD=delayR=repeat_from_what_timeTD=time_delay_before_PWL_start其中,Vi是Ti时刻的值,repeat是开始重复的起始点,delay是延迟时间例:V110PWL60n0V,120n0V,130n5V,170n5V,180ns0V,R0V220PWL60n0V,120n0V,130n5V,170n5V,180ns0V,R60nc、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=valueNOISE,RX:热噪声参数,inr=SQRT(NOISE·4KT/R)电容模型:.MODEL模型名Cparameter=value电感模型:.MODEL模型名Lparameter=value二极管模型.MODEL模型名DLEVEL=valkeyword=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...).MODELmnamePNPpname1=val1...模型参数中一般包括LEVEL,说明哪种模型,不同级的模型有不同的模型参数集。MOS管模型.MODEL模型名PMOSLEVEL=valparameters.MODEL模型名NMOSLEVEL=valparametersLEVEL=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是单位范围内的点数(依type而定)•注意:1)对独立源扫描时,var为电源名,而非节点名2)仿真迟滞特性要正、负双向扫描,如:.DCVin050.1.DCVin50-0.13)注意对两个量的扫描,后面的是外循环4)SWEEP后的变量可是电压、电流或温度等变量.TRAN:瞬态分析.TRANvar1START=start1STOP=stop1STEP=incr1例:.TRAN1NS100NS注:以1ns的步长输出到100ns.AC:交流分析.ACtypenpfstartfstopSWEEPvarstartstopincror.ACtypenpfstartfstopSWEEPvartypenpstartstopor.ACvar1START=start1STOP=stop1STEP=incr1例:.ACDEC101K100MEG•注:一共有4种DEC–十进制的(decadevariation)OCT–八进制的(octavevariation)LIN–线形的(linearvariation)POI–列举的(listofpoints).NOISE:噪声分析用来计算各个器件的噪声对输出节点的影响并给出其均方根并输出,可完成.AC语句规定的各频率的计算,应在.AC分析之后。.NOISEovvsrcnaminterOvv-输出变量,srcnam-输入源,inter-频率间隔三、控制语句.INCLUDE语句.INCUDE语句:引用一个文件,被引用的文件置于引用文件前。例:LNA.include“me98xxxx/model.sp“.LIB语句:.lib‘filepathfilename’entryname该语句根据文件路径和文件名来调用一个库文件,一般该文件包含器件模型。例:.lib‘MODELS’cmos1MODELS文件:.MODELCMOS1nmos···我们仿真中加库的语句应该是.LIB'D:\TEST\PROCESS\0.6UBCDV0.1PHASE1.LIB'TT.PARAM语句.PARAM语句:定义一个变量。.PARAMparametername=‘Expression‘例子:.PARAMwidth=20u.PARAMlength='sqrt(width)*1.65'M13200NMOSwidthlength.DATA语句.DATA语句:给一个数组赋值。例子:.DATAD1widthlengthRL+50u20u1K+60u10u10K+100u25u1K.ENDDATA.ALTER语句.ALTER语句:使用不同的参数和数据以返回一个仿真结果。语法:.ALTERtitle_stringtitle_string是任何最长至72个字母的字符串。.alter运行所需的合适的字符串在每个输出列表文件和图形数据文件(.tr#)的标题部分打印出来。.GLOBAL语句.GLOBAL语句:定义全局变量。.GLOBALparametername(XX)例子:.GLOBALVDD.GLOBALVSS注:上述语句会把所有命名为XX的节点连接起来,包括子电路里面的节点。Global的使用需格外小心,一般仅把电源定义成Global.Options语句.Options语句:可选设置语句,该语句允许用户重新设置程序的参数或控制程序的功能。.OPTIONSopt1opt2…opt=x常用的一些如下:node:列出个节点的元件端点,便于查错;post:使输出数据使用AvantWaves浏览(即将数据输出到postprocessor)list:列出输入元件列表;输出语句–.PRINT:在输出的list文件中打印数字的分析结果,如果.OPTIONS中有POST则同时输出到post-processor中。–.PLOT:在输出的list文件中打印低分辨率的曲线(由ASCII字符组成),如果.OPTIONS中有POST则同时输出到post-processor中。–.GRAPH:生成用于打印机或PostScript格式的高分辨率曲线。–.PROBE:把数据输出到post-processor,而不输出到list文件。–.MEASURE:输出用户定义的分析结果到mt0文件,如果.OPTIONS中有POST则同时输出到post-processor中。–.OP,.TF,.NOISE,.SENS和.FOUR都提供直接输出功能。.PRINT.PRINTantypeov1ov2…ov32Antype——AC/DC/TRAN;Ovi——输出变量,可以有以下形式:V(1):节点1的电平;V(1,2):1、2间的电压;V(R1):电阻R1的电压;VM(1):v1的幅值;VR(1):v1的实部;VI(1):v1的虚部;VP(1):v1的相位;VDB(1):v1的分贝值;(电流与以上类似).PLOT.PLOT:.PLOTantypeov1(plo
本文标题:Spice基本语法-
链接地址:https://www.777doc.com/doc-2859720 .html