资源预览内容
第1页 / 共35页
第2页 / 共35页
第3页 / 共35页
第4页 / 共35页
第5页 / 共35页
第6页 / 共35页
第7页 / 共35页
第8页 / 共35页
第9页 / 共35页
第10页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
HspiceHspice应用讲解应用讲解Hspice 是一种通用电路分析程序,可用来进行集成电路和电子线路的分析模拟。它可以用来分析电路的非线性直流特性,线性交流小信号特性,非线性瞬态特性,温度特性等。其中,直流分析.DC不光可进行直流转移特性分析,还可进行直流工作点.OP ,直流小信号传输特性.TF ,直流小信号灵敏度.SENS分析;在进行交流分析.AC的同时还可进行噪声特性.NOISE和失真特性.DISTO分析;在进行瞬态分析.TRAN的同时还可进行傅立叶.FOUR分析;进行温度特性分析 .TEMP以求得电路的温度特性。 在进行交流分析和瞬态分析前先进行直流分析, 以决定其非线性组件的线性化小信号模型和其初始条件。Hspice 输入描述文件格式:Hspice 的输入描述文件格式是一种自由格式,其输标题语句入的第一条语句必须是标题语句,且不能省略;最后一组件语句条语句必须是结束语句.END ,其余语句的顺序是任模型语句意的。 在输入描述文件的任何地方都可插入注释语句 在.SUBCKT语句前加“*或“$ ,程序只对注释语句进行原样打子电路组件语句, 模型语句印而不进行任何处理。子电路调用组件语句是说明该组件的拓扑关系和组件值的。每.ENDS 语句个组件给予一个组件名,组件名的第一个字母说明该组控制语句件的类型,Hspice 并对各种类型的组件所对应的英文字结束语句母作了规定,组件名不能重复。组件的节点号可以用一正整数表示,也可以用网点名表示。模型语句是说明该组件的模型参数的。在模型语句中定义一组组件模型参数并赋予一个唯一的模型名,在组件语句中即可引用此模型名,说明此组件具有该组模型参数值。子电路是用一组组件语句来定义,程序会自动将这组组件插入到子电路被调用的地方,其大小和复杂性没有限制, 并允许其包含其它子电路。 在电路中不能包括短路的电压源和电感,开路的电流源和电容,电路中的每个节点都不能悬空。控制语句是控制程序的运行和规定分析及输出的内容。如温度语句,工作点分析语句,交流分析语句,瞬态分析语句,打印语句,绘图语句和可选项语句等。Hspice 的每条语句都有假设干个字段,字段之间由空格或符号隔开,多余的空格将被忽略,字段内不能随意加空格,即字段不能断开。字段可以是字符段或数字段,字符段必须以字母开头,长度不超过 8 个字符,多余的字符将被忽略,且由用户定义的字符段中不能包括 Hspice 输入描述语言中已定义的字符段即保存字 ;数字段可以为整数或浮点数,其后可直接跟以下比例因子:K=1E3,MEG=1E6,G=1E9,T=1E12,M=1E-3,U=1E-6,N=1E-9,P=1E-12,F=1E-15,MIL=25.4E-6比例因子必须紧跟在数字后面,不是比例因子的字母及比例因子之后的字母均被忽略。如一个语句一行写不完, 可在下一行接着写, 该行称为续行, 续行的第一列必须是 “+号,续行数没有限制。Hspice 模拟仿真流程:调用 Hspice 程序读入.sp(i)文件文件检错N是否要分析直流传输特性或工作点Y设定温度直流传输特性分析直流工作点分析N是否要分析交流特性Y交流特性分析N是否要分析瞬态特性Y直流传输特性分析直流工作点分析瞬态特性分析Y是否要分析温度特性N输出结果Hspice 输出文件类型如下表:输出文件类型扩展名列表输出, 其内容包括仿真所用的名字和版本; Meta-Software. . lis,或使用者指定单元信息;输入文件名;使用者名;注册资料;拷贝的输入网点文件;节点计算;操作点参数;每个source 和 sub-circuit的电压降,电流,功耗的详细情况;由. . PLOT 语句产生低分辩率图表;. . PRINT 语句结果;. . OPTIONS 语句结果。瞬态分析结果,它包含瞬态分析的资料结果,是在输入文件同时有. . TRAN和. . OPTION POST语句时产生的一个分析记录文件。DC 分析结果, 包含其使用的步长或在. . DC 语句中定义的扫描频率下的分析结果,包括噪声,失真或网络分析。DC 分析测量结果,它是. . MEASURE DC 语句分析结果。AC 分析结果,包含一个频率功能的输出变量列表, 符合其后的. . AC语句的使用者规格。AC 分析测量结果,它是. . MEASURE AC语句分析结果。硬拷贝图表资料从 meta. .cfg PRTDEFAULT FFT 分析图表数据,包含显示 FFT 分析波形的图表数据。分支电路交叉列表,它说明了在符合分支电路定义下调用的分支电路节点名。. . tr# +瞬态分析测量结果,它是. . MEASURE TRAN语句分析结果。. . mt#. . sw# +. . ms#. . ac# +. . ma#. . gr# +. . ft# +. . pa#数字输出, 包含从U单元A2D转换选项得到的转换数字数据。 . . a2d输出情况,包含运行时间结果:每个CPU 状态的开始和结束. . st#时间;废弃的选择项设置警告;预先检查注册资料,输入语法,模型和电路拓扑结构的情况;对困难电路使用的 Hspice收敛方法。操作点节点电压初始状态 ,对于. . SAVE 语句。. . ic注意:#表任一扫描编号或硬拷贝文件编号。+只有在使用. . POST 语句产生图表数据才会生成。+需要. . GRAPH 语句或在 meta. .cfg 文件中有一文件输出指针。在PC 版的Hspice 中此文件不能产生。+只有在使用. . FFT 语句才会生成。Hspice 根本组件描述:在以下描述中, “ 内的域为可选项,其余的域为必须的;name1,name2 为可选的字符串,字符串最多可有八个字符包括首字符 ,但其中不能出现分隔符如空格,等号,逗号等 。1 电阻:RnameN1N2valueTC=TC1,TC2R 为关键词,N1,N2 为与电阻相连的两节点的节点号,电阻值可为正值或负值,其单位为欧姆。TC1,TC2 为电阻的温度系数,电阻值按下式随温度而变化:RT=RTD 1+TC1 T- TD+TC2 T- TD2当两可选参数 TC1, TC2 未给出时, 程序将自动赋零。 T0为标称温度, 可由.OPTIONS控制语句进行修改。2 电容:CnameN+N-PLOYvalueC1 C2IC=vC 为关键词,N+,N-表电容的正负节点,可选项 PLOY 表示该电容是一个随电压变化的非线性电容,其值可由下式求得:CV=value+C1V+C2V2+CnVn,其中 n20。IC= 项为初始条件项,其作用将视瞬态分析语句中是否有UICUse InitialCondition关键词而不同:假设瞬态分析语句中有UIC 项,那么进行瞬态分析时,将以 IC 项所给值作为该组件的瞬态分析初始条件。3 电感:LnameN+N-PLOYvalueL1 L2IC=iL 为关键词,N+,N-表电感的正负节点,电流从正节点流到负节点。 可选项 PLOY表示该电感是一个随电流变化的非线性电感,其值可由下式求得:LV=value+L1I+L2I2+LnIn,其中 n20。IC= 项为初始条件项,其作用将视瞬态分析语句中是否有UICUse InitialCondition关键词而不同:假设瞬态分析语句中有UIC 项,那么进行瞬态分析时,将以 IC 项所给值作为该组件的瞬态分析初始条件。4 互感:Kname1Lname2Lname3valueK 为关键词,Lname2 和 Lname3 为两个耦合电感名,耦合系数的取值范围为大于0 小于 1,每个电感的第一个节点作为同名端。5 传输线: TnameN1N2N3N4Z0=valueTD=val2F=freq NL=nlen +IC=v1,i1,v2,i2T 为关键词,N1,N2 是埠 1 的两个节点,N3,N4 是埠 2 的两个节点。Z0 为特性阻抗值,TD 为传输延迟值,F 为频率,NL 相当于在频率 F 时传输线波长的归一化电学长度。如指定 F 而省去 NL,那么 NL 缺省值为 0.25。传输线的传输延迟值必须以以下两种方法中的一种输入:1.直接给出 TD 值;2.由 F 和 NL 两项求出,即 TD=NL/F。 v1,i1,v2,i2 分别为埠 1 和端口 2 的电压,电流的初始值。6 线性和非线性受控源:Hspice 包含四种线性和四种非线性受控源,它们分别为:线性电压控制电流源:I=GV,GnameN+N-NC+NC-value线性电压控制电压源:V=EV,EnameN+N-NC+NC-value线性电流控制电流源:I=FI,FnameN+N-Vnamevalue线性电流控制电压源:V=HI,HnameN+N-VnamevalueG,E,F,H 分别为跨导,电压增益,电流增益和互阻因子。N+,N-分别为受控源的正负节点,NC+,NC-分别为控制电压源的正负节点, Vname 为控制电流所流过的电压源的名称,语句中的value 值分别为各受控对应的跨导值,电压增益值,电流增益值和互阻因子值。Hspice 允许以一组多项式系数来描述非线性受控源,并且控制变量可以是多维的,维数与系数的数目没有限制,但系数的意义随维数的不同而改变。其语句格式为:非线性电压控制电流源: Gnamen+n-POLY nd nc1+nc1- ncnd+ncnd-P0 P1 IC=控制电压初值非线性电压控制电压源:Enamen+n-POLY nd nc1+nc1- ncnd+ncnd-P0 P1 IC=控制电压初值 非线性电流控制电流源: namen+n-POLYnd Vname1 VnamendP0 P1 IC=控制电压初值 非线性电流控制电压源: namen+n-POLYnd Vname1 VnamendP0 P1 IC=控制电压初值n+,n-为受控源的正负节点,POLY 为非线性受控源关键词,nd 为控制变量维数,nc1+, nc1- ncnd+, ncnd-分别为 nd 个控制电压源的正负节点, Vname1 Vnamend分别为 nd 个控制电流所流过的电压源的名称,P0,P1是多项式的系数。初始条件 IC 项给出受控源的初始条件,计算时将先使控制变量取 IC 项所给值,求电路的直流工作点; 收敛后继续迭代, 再求出控制变量的最终精确解。 假设不给 IC 项,那么控制变量的初始值为零。以电压控制电压源为例,如控制电压为一维的,那么受控电压为:VVX=P0+P1VX+P2VX2+ P3VX3+ PnVXn;如控制电压为二维的,那么受控电压为:VVX,Vy=P0+P1VX+P2Vy+P3VX2+P4VXVy+P5Vy2+P6VX3+P7VX2Vy+P8VXVy2+P9Vy3+如控制电压为三维的,那么受控电压为:2V(VX,VY,VZ) P0 PV PV PV PV1X2Y3Z4X P5VXVY P6VXVZ3222 P7VY2 P8VYVZ P9VZ2 P10VX P11VXVY P12VXVZ P13VXVY232234P14VXVZ P15VXVYVZ P16VY P17VYVZ P18VYVZ P19VZ P20VX7 独立电压源和电流源:VnameN+N- DC valueAC magval phaseval + PULSE v1 v2 td tr tf pw per orSIN vo va freq td kd orEXP v1 v2 td1 t1 td2 t2 orPWL t1 v1 t2 v2 tn vn orSFFM vo va freq mdi fs orAM vo va freq fs td 或 InameN+N- DC valueAC magval phaseval + PULSE i1 i2 td tr tf pw per orSIN io ia freq td kd orEXP i1 i2 td1 t1 td2 t2 orPWL t1 i1 t2 i2 tn in orSFFM io ia freq mdi fs orAM io ia freq fs td V 和 I 为独立电压源和电流源的关键词, N+和 N-为电源的正负节点,这里规定电流源的方向是从正节点经电源内部流向负节点。一个独立源,可以同时给出三种分析类型的信号源值,上面第一个选择项为电源的直流值,第二个选择项为交流资料,第三个选择项为瞬态资料。程序在作不同的分析时,将取相应的信号源资料。假设作直流分析,取直流常数值;假设作交流分析,独立源被视为由振幅和相位所描述的正弦小信号频率即为交流分析频率 ;当作瞬态分析时,那么用随时间变化的瞬态资料也可能是常数 ;直流和瞬态分析可用同一值描述,如值随时间变化,那么取t=0 的值作直流分析。DC 为直流信号的关键词,如直流值为零也可省略不写。模拟时可用零值电压源表电流表,因每个电压源和电流值都将被打印。AC 为交流信号的关键词,交流信号的振幅和相位的缺省值分别为“1”和“0” 。当电路中只有一个交流信号输入时, 交流信号的振幅通常设为1,以便求得电路的增益。注意,Hspice 中相位的单位为度。瞬态分析所需的信号源的值是随时间而变化的,随时间变化的关系可以是以下六种形式之一:脉冲信号源:PULSEval1val2tdtrtfpwper脉冲信号参数的意义及其缺省值如表1 所示, 表中 tstep 和 tstop 分别是瞬态分析的时间步长和时间终值,它们均由. TRAN 语句定义。脉冲信号源一个周期内的信号值由表2 决定,中间时间点上的信号值由输入值的线性插值法求得。参 数描 述缺省值单 位时 间数值val1初始值V 或 A0val1val2脉冲值V 或 Atdval1td延迟时间0std+ trVal2tr上升时间tstepstd+ tr+pwVal2tf下降时间tstepstd+ tr+pw+tfval1pw脉冲宽度tstopstd+ perval1per周期tstops表 1表 2脉冲信号源的波形如以下图所示:Vval20tval1tdtrpwtfper正弦信号源:SINoffampfreqtdkdph正弦信号参数的意义及其缺省值如表1 所示,正弦信号源的值由表2 决定。参 数描 述缺省值单 位off直流偏置V 或 Aamp幅度V 或 A表 1freq频率1/tstepHz延迟时间0std阻尼因子01/skdph相位延迟0 度时 间0 td数 值off+amp*SIN2*ph/360表 2tdoff+amp*EXP td*kd-t *SIN2*freq* t-td +ph/360正弦信号源的波形如以下图所示:Vamp由 kd 决定的衰减包络线off-amptdperper=1/freq0t指数信号源:EXPval1val2td1t1td2t2指数信号参数的意义及其缺省值如表1 所示,指数信号源的值由表2 决定。参 数描 述缺省值单 位val1初始值V 或 Aval2脉冲值V 或 A表 1td1上升延迟时间0s上升延迟时间常数tstepst1下降延迟时间td1+tstepstd2t2下降延迟时间常数tsteps时 间0 td1td1 td2td2数 值val1val1+val2- val1*1-EXPtd1-t/t1val1+val2- val1*1- EXPtd1-td2/t1*EXPtd2-t/t2表 2指数信号源的波形如以下图所示:Vval2t1t20tval1td1td2分段线性化信号源:PWLt1val1t2val2 tnvalnt1,t2,tn 为时间点,val1,val2,valn 为对应时间点的信号源值,ti 和 ti+1 之间的数值是由 vali 和 vali+1 用插值法求得。分段线性化信号源的波形如以下图所示:Vval3val4val1val2val5val60t1t2t3t4t5t6t调频信号源:SFFMoffampfcarmdindfsig调频信号参数的意义及其缺省值如表1 所示。参 数offamp描 述直流偏置载波幅度缺省值单 位V 或 AV 或 A表 1fcar载波频率1/tstop1/s调制系数0mdind信号频率1/tstop1/sfsig调频信号源的值由下式决定:value=off+amp*SIN2*fcar*t+mdind*SIN(2* fsig*t)调频信号源的波形如以下图所示:Vampoff-ampfsigfcar0t调幅信号源:AMampofffmodfcartd调幅信号参数的意义及其缺省值如表1 所示。参 数描 述缺省值单 位amp载波幅度0V 或 Aoff直流偏置0V 或 A表 1fmod调制频率1/tstop1/s载波频率01/sfcar延迟时间01/std调幅信号源的值由下式决定:value= amp * off +SIN2* fmod *t-td*SIN2* fcar*t-td调幅信号源的波形如以下图所示:Vampfmodfcar0t-amptdfcar8 二极管:Cnamen+n-modnameareaOFFIC=icvalC 为关键词,n+,n-是正负节点,modname 为模型名,它必须在.MODEL 语句中进行说明。area 为面积因子,为一无量纲的数,表示器件面积与模型语句中定义的“单位面积 器件的面积比值,与面积有关的模型参数将乘以或除以这个面积因子。OFF 项可帮助实现直流收敛,其作用是将器件作截止处理,迭代收敛后再使器件正常工作, 继续迭代求得精确解。 如. . TRAN 分析语句中有 UIC 项,那么 IC参数的值 icval 那么为瞬态分析的初始条件。9 晶体管:QnamencnbnensmodnameareaOFFIC=Vbe,VceQ 为关键词,nc,nb,ne 分别表晶体管的集电极,基极和发射极, ns 表衬底节点,缺省时那么认为它是接地的。 其余 modname,面积因子“area,关键词“OFF,初始条件“IC=项等的意义如前所述。10 结型场效应管:JnamendngnsmodnameareaOFFIC=Vds,VgsJ 为关键词,nd,ng,ns 分别表结型场效应管的漏极,栅极和源极节点,其余各项的意义如前所述。11 MOS 管:MnamendngnsnbmodnameL=lvalW=wval+AD=advalAS=asvalPD=pdvalPS=psvalNRD=nrdval+NRS=nrsvalOFFIC=Vds,Vgs,VbsM 为关键词,nd,ng,ns,nb 分别表 MOS 管的漏极,栅极,源极和衬底节点。L 和 W 分别为沟道长度和宽度,缺省值为100U。AD,AS 分别为漏极和源极扩散区面积,缺省值为 0。PD,PS 分别为漏极和源极扩散区周长,缺省值为0。NRD,NRS 分别为漏极和源极扩散区等效方块面积数目,缺省值为1。其中,L,W,AD,AS 这四个参数均能通过. . OPTIONS 语句进行修改。Hspice 子电路描述语句:在 Hspice 中, 可以把电路中重复出现的相同单元定义为 “子电路, 作为 “宏模块 重复调用,从而使 Hspice 的电路描述更加简洁明了。子电路与外部电路相联系的节点称为子电路的外部节点, 只在子电路内部使用的节点称为子电路的局部节点。 局部节点只在子电路内部有效, 因此局部节点的节点号可以与调用该子电路的主电路的节点号相同。只有接地节点例外,因其无论对于子电路还是对于主电路,它都是接地点或参考节点。子电路的描述以子电路定义语句开头, 然后是一组描述这个子电路的描述语句, 最后是结束语句。子电路中可以直接调用主电路中描述的模型语句, 也可以有自己的模型语句, 还可以再定义和调用子电路即“嵌套 ,但不可出现其它控制语句。子电路中的模型语句和嵌套子电路都是局部的,即只在子电路内部有效,外部不能调用。1 子电路定义语句: SUBCKTsubnamen1 n2n3subname 是用户给予电路起的名字,n1,n2,n3是子电路的外部节点。 SUBCKT语句后是一组描述子电路的语句,这些语句可以是根本电路器件描述语句,独立电压源和电流源语句,半导体器件描述语句以及模型语句,还可以是对其他子电路的调用语句,但不能是控制语句。子电路描述的最后一个语句是结束语句。2 结束语句: ENDSsubname如给出子电路名subname ,就表示结束subname 子电路的描述,否那么表示结束所有子电路的描述。3 子电路的调用:XnameN1N2N3 subname子电路每次被调用时,都需给它赋一个标识符Xname,子电路的标识符必须以字符 X 打头。N1,N2,N3是主电路的节点,通过它们与子电路相连,因此N1,N2,N3必须与子电路的外部节点一一对应。Hspice 的控制语句:1 分析类型语句:直流分析:直流分析语句: DCvar1start1stop1incr1 var 2start2stop2incr2或 DCvar1start1stop1incr1SWEEPvar 2typenpstart2stop2或DCvar1typenpstart1stop1SWEEPDATE=datenm或DCDATE=datenmSWEEPvar2start2stop2或DCDATE=datenm或DCvar1typenpstart1stop1SWEEPMONTE=val或DCMONTE=val或 DCDATE=datenmOPTIMIZE=optRESULTS=meaMODEL=optmod或DCvar1start1stop1SWEEPOPTIMIZE=optRESULTS=meaMODEL=optmod直流分析语句将完成对一个电路和器件的直流转移特性的分析,尤其是半导体器件的直流特性的分析。其中,var 为所要进行的扫描鼓励源名,它可以是电压源或电流源名,任何器件或模型参数,或者是关键词TEMP,Hspice 在进行直流分析时,允许有两个扫描鼓励源, start 为所要进行的扫描鼓励源的起始值, stop 为终止值, incr 为增量;type 为跟踪分析关键词,包括:DEC 十倍频程变化;OCT 倍频程变化;LIN 线性变化;POI 点数组表;np 表以十倍频程或倍频程选取的频率点数,或对应前面关键词的总分析点数其中,十倍频程中频率点是以对数函数等间隔选取的 ;datenm 为调用的DATE 语句名;MONTE=val 是在高斯型的,均匀的或任意范围内的分布中选择一个数值val;OPTIMIZE 指在PARAM语句中指定参数的优化;RESULTS指在MEASURE 语句中指定参数的优化;MODEL 指在MODELOPT 语句中指定参数的优化;程序将针对鼓励源的每个扫描值,求出电路所对应的响应,包括任何参数值,任何电源值,任何温度范围,进行直流MONTE CARLO分析随机扫描 ,进行直流电路优化,进行直流模型描述。直流工作点分析语句: OPformat1time1format2time2直流工作点分析将求解出电路的直流工作点。在作直流分析时,程序将电容看作开路,电感看作短路。在作交流分析或瞬态分析时,程序将自动进行直流工作点分析。当电路描述中,没有规定任何分析类型时,程序将自动进行直流工作点分析。其中,format 表跟踪分析关键词只有第一个字母有效,默认值为ALL ,包括:ALL 全部工作点,包括电压,电流,电导和电容;指定时间的电压/电流的输出。BRIEF 对每个组件的电压,电流和功耗生成一个线性摘要,电流单位为毫安,功耗单位为毫瓦。CURRENT 对电压列表,每个电流和功耗的一个简短摘要。DEBUG 通常只用于程序在非收敛的仿真过程中。 调试打印非收敛节点的新电压值,旧电压值和它们之间的公差非收敛程度 。它也要打印非收敛组件和它们的公差值。NONE 禁止节点和组件打印输出,但允许执行额外的指定分析。VOLTAGE 只有电压列表。注意:上述关键词是互不兼容的,在同一时间只有一个被使用。time 表在打印记录时,参数直接按照全部的,电压,电流或者调试和指定时间来排列。直流小信号传输函数分析语句: TFovsrcnameov 指小信号输出变量;srcname 指小信号输入来源;直流小信号传输函数分析语句定义了直流小信号分析的小信号输出和输入,将完成对小信号传输函数的分析,通常用于计算电路的输出/输入的小信号传输函数,直流增益和输入,输出电阻。直流小信号灵敏度分析语句: SENSov1 ov2 ov1,ov2 指直流分量灵敏度分析分支电流或节点电压名。直流小信号灵敏度分析语句用于对指定的电路参数的直流小信号灵敏度的计算,它对于大电路会产生非常大的输出数据。极点/零点分析语句: PZovsrcnameov 指输出变量:一个节点电压或分支电流组件 。srcname 指输入来源:一个独立电压源或电流源名。交流分析:交流分析语句: ACtypenpfstartfstop或ACtypenpfstartfstop SWEEPvarstartstopincr或ACtypenpfstartfstop SWEEPvartypenpstartstop或ACvarstartstopincr或ACtypenpfstartfstop SWEEPDATE=datenm或ACDATE=datenm或ACDATE=datenmOPTIMIZE=optRESULTS=meaMODEL=optmod或ACtypenpfstartfstop SWEEPMONTE=valtype 为跟踪分析关键词,包括:DEC 十倍频程变化;OCT 倍频程变化;LIN 线性变化;POI 点数组表;np 表以十倍频程或倍频程选取的频率点数,或总分析点数,与上述关键词相对应其中,十倍频程中频率点是以对数函数等间隔选取的 ;fstart 为起始频率如典型变量“POI存在,那么一个频率列表将指定替换“fstartfstop的值 ;fstop 为终止频率;var 为所要进行的扫描鼓励源名,它可以是独立电压源或电流源名,任何器件或模型参数,或者是关键词TEMP;start 为电压,电流,组件或模型参数的起始值;stop 为电压,电流,组件或模型参数的终止值incr 为电压, 电流, 组件或模型参数的增量值 如变量 “type存在, 那么 “np为指定替换“incr 的值 ;datenm 为调用的AC 语句的资料名;MONTE=val 是在一个分布中选择出的参数值,是任意的值,这分布可以是高斯型,均匀的,任意范围的;OPTIMIZE 指在PARAM语句中指定参数的优化;RESULTS指在MEASURE 语句中指定参数的优化;MODEL 指在MODELOPT 语句中指定参数的优化;交流分析语句要求 Hspice 作电路的交流小信号分析 即频域分析 ,这就要求电路中至少包含一个交流信号源。作交流分析时,程序先建立电路的小信号线性化等效电路,然后将频率为fstart 的交流小信号参加到该等效电路,求出各个节点的相应交流信号值。该过程不断重复,直至求出频率点fstop 上的各个节点的交流信号值为止。在交流分析模式中,对 PRINT 语句和PLOT 语句进行了扩充,使其可以按照以下类型输出电压或电流 :DB:分贝,表 20*log10幅值 ;P:表响应信号的相位;I:表输出的虚部;R:表输出的实部;M:表响应信号的幅度;T:表响应信号的群延迟。失真分析语句: DISTORload inter skw2 refpwr spwf Rload 表用户指定的负载电阻名,用于计算其上的输出功率;inter 表失真分析结果的打印输出间隔;skw2 表第二个频率 F2 对指定频率 F1 的比值,其值 1E-3skw20.999,默认值为 0.9;refpwr 表用户指定的基准参考功率,默认值为1mW 或 0dbM,其值必须大于1E-10;spwf 表第二个频率 F2 的幅值,默认值为 1.0,其值必须大于 1E-3;失真分析语句是要求在执行交流分析的同时执行失真分析,故其输入文件中一定要包含AC 语句。分析时先假定在输入端叠加一个或两个单频信号,其频率分别为 F1指交流分析的输入信号和F2F2= skw2* F1 ,程序将计算以下失真量:HD2:假定 F2 不存在,频率分量 2* F1 的幅值;HD3:假定 F2 不存在,频率分量 3* F1 的幅值;SIM2:频率分量 F1+ F2 的幅值;DIM2:频率分量 F1- F2 的幅值;DIM3:频率分量 2*F1- F2 的幅值;以上失真量均可用PRINT 语句或PLOT 语句打印输出,所求得的失真量的值是等效的输入信号的值。失真分析还包括计算出由用户指定的负载电阻Rload 上的输出功率,并以用户指定的参考功率refpwr 为基准输出。注意:1 交流分析的结果表示的是电路的增益或传输函数,输出值为10000并不意味输出信号为 10000V,而是表示输出信号的幅值是输入信号幅值的 10000 倍。2 失真量指的是等效的输入信号值。噪声分析语句: NOISEovvsrcnameinterovv 表用户指定的输出端点;srcname 表用户指定的输入基准端点;inter 表噪声分析结果的打印输出间隔;噪声分析语句是要求在执行交流分析的同时执行噪声分析,故其输入文件中一定要包含AC 语句。该语句将在指定的输出端ovv计算总的输出噪声,并在指定的输入基准端srcname计算等效输入噪声,计算的频率点与交流分析相同,并在这些频率点上,按照打印输出间隔inter ,将每个噪声源对输出噪声的影响打印出来。噪声叠加分析语句:SAMPLEFS=freq TOL=val NUMF=val MAXFLD=val BATA=valFS=freq 表用户指定基准频率,单位为HZ;TOL 表用户指定的错误容许公差,即在基带上的噪声功率和叠加的最高噪声功率的比值,默认值为 1.0E-3;NUMF 表用户指定的最大允许频率,默认值为100;MAXFLD 表最大允许叠加间隔,其值由式FMAX=MAXFLD* FS计算得到,默认值为 10;BATA表积分回路选择或在基准节点指定一个有效的积分噪声。 BATA=0时表没有积分,BATA=1时表进行简单积分默认值 。噪声叠加分析语句相当于将AC 和NOISE 语句的分析结果相“与,是在输出节点进行一个简单的噪声叠加分析。交流网络分析语句: NETinput RIN=val或NETinput val或NETouputinput ROUT=val RIN=valinput 表输入的交流电压或电流源名;ouput 表输出埠,它可以是一个输出电压或电流;RIN 表输入或源极电阻关键词,默认值为1 欧姆;ROUT 表输出或负载电阻关键词,默认值为1 欧姆;交流网络分析语句用于计算参数阻抗矩阵Z,电导矩阵Y,混合矩阵H,散射矩阵 S,它是一个局部交流小信号分析。因此,它需要指定其交流扫描频率。其中,输入阻抗,输出阻抗和电导总是要计算的。瞬态分析:瞬态分析语句: TRAN tstep tstop tstart tmax UIC或TRANvar1start1stop1incr1或TRAN var1 start1 stop1 incr1 SWEEP var2 type np start2 stop2或TRAN tincr1 tstop1 tincr2 tstop2 tincrN tstopN START=val UIC或TRAN tincr1 tstop1 tincr2 tstop2 tincrN tstopN START=val UIC+SWEEP var pstart pstop pincr或TRAN DATE=datenm或TRAN var1 start1 stop1 incr1 SWEEP DATE=datenm或TRAN DATE=datenm SWEEP var pstart pstop pincr或TRAN tincr1 tstop1 tincr2 tstop2 tincrN tstopN START=val UIC+SWEEP MONTE=val或TRAN DATE=datenm OPTIMIZE= opt RESULTS=mea MODEL=optmodtstep 为瞬态分析时打印分析结果的时间步长;tstop 为瞬态分析的时间终止值;tstart 为瞬态分析对打印分析结果的时间起始值,默认值为0;tmax 为计算时的最大时间步长;var 为所要进行的扫描鼓励源名,它可以是独立电压源或电流源名,任何器件或模型参数,或者是关键词TEMP;start 为电压,电流,组件或模型参数的起始值;stop 为电压,电流,组件或模型参数的终止值;incr 为电压, 电流, 组件或模型参数的增量值 如变量 “type存在, 那么 “np为指定替换“incr 的值 ;type 为跟踪分析关键词,包括:DEC 十倍频程变化;OCT 八倍频程变化;LIN 线性变化;POI 点数组表;np 表以十倍频程或倍频程选取的频率点数,或总分析点数,与上述关键词相对应其中,十倍频程中频率点是以对数函数等间隔选取的 ;tincr1表打印或绘图输出增量值,并对以后处理程序提出计算增量;tstop 1表由 tincr1 决定增量的瞬态分析的截止时间,如有另一对tincr-tstop,这分析将使用新的增量值;START表打印或绘图的开始时间, 默认值为 0 如 TRAN 语句与 MEASURE语句一起使用时,使用一个不为零的START时间会导致错误的MEASURE的输出结果。不为零的START时间不能用于TRAN 语句与MEASURE 语句一起使用时 ;UIC 表 Hspice 作瞬态分析时使用用户所给的初始条件,用户可由置初值语句IC和组件语句中的IC 项规定初始条件。程序将直接使用这些初始条件进行瞬态分析而无需先进行直流分析来求得初始条件;pstart 表开始电压,电流,温度,任一组件或模型参数的值如变量“POI存在,那么一个参数值列表为指定替换“pstartpstop ;pstop 表终止电压,电流,温度,任一组件或模型参数的值;pincr 表电压,电流,组件或模型参数,或温度的增量值如变量“type存在,那么“np为指定替换“pincr ;datenm 为调用的TRAN 语句的资料名;MONTE=val 是在一个分布中选择出的参数值,是任意的值,这分布可以是高斯型,均匀的,任意范围的;OPTIMIZE 指在PARAM语句中指定参数的优化;RESULTS指在MEASURE 语句中指定参数的优化;MODEL 指在MODELOPT 语句中指定参数的优化;瞬态分析语句用于对给定时间范围内的电路特性进行分析。 瞬态分析总是从 0时刻开始到 tstop 时刻结束,如已给出tstart,瞬态分析仍从0 时刻开始,只是在 0tstart 时间内的计算结果不存储也不输出。瞬态分析中要注意区分打印步长和计算步长两个概念。Hspice 作瞬态分析时采用了变阶变步长技术,其计算步长是变化的,而第一个步长是将 tstep/10 和tstoptstart/500 比拟,取其较小的值作为计算步长。如已给出tmax,那么所有计算步长不得大于此值。傅立叶分析语句: FOURfreqov1 ov2ov3freq 为傅立叶分析的基频频率;ov1为所要进行傅立叶分析的输出量;傅立叶分析仅是瞬态分析的一局部,仅对输入信号的最后一个周期tstopperiod 到 tstep进行。故如要进行傅立叶分析,必须先进行瞬态分析,与瞬态分析配合使用。 傅立叶分析将对所有输出量求出其平均直流分量和前九个频率分量。快速傅立叶分析语句: FFT output_val 为有效的输出变量,包括电压,电流或电源;START为指定进行分析的输出变量波形的开始值,默认值同TRAN 语句中的 START或 0;FROM 为FFT 语句中 START的另一个别名;STOP 为指定进行分析的输出变量波形的结束值,默认值同TRAN 语句中的 TSTOP;TO 为FFT 语句中 STOP 的另一个别名;NP 为指定用于 FFT 分析的分析点数,NP 必须是 2 的幂,如NP 不是 2 的幂,Hspice 会自动调整它接近较高的为2 的幂的数,默认值为 1024;FORMAT为指定输出格式:NORM=标准量级,UNORM=非标准量级,默认值为 NORM;WINDOW 为指定使用窗口类型:RECT=简单矩形截断窗口,BART=Bartlett三角形窗口,HAAN=Hanning汉宁修匀窗口,HAMM=Hamming汉明修匀窗口,BLACK=Blackman布莱克曼窗口,HARRIS= Blackman-Harris布莱克曼-哈里斯窗口,GAUSS=Gaussian高斯窗口,KAISER=Kaiser-Bessel凯撒-贝赛尔窗口,默认值为 RECT;ALFA为指定用于 GAUSS 和 KAISER 窗口的参数, 控制最大波瓣等级, 带宽和上限,1.0ALFA20.0,默认值为 3.0;FREQ 为指定的基频频率, 如 FREQ 是非零的, 输出列表将限制在这个频率的谐波范围内,基带为FMIN 至 FMAX,这些谐波的THD 同样打印输出,默认值为 0.0Hz ;FMIN 为指定的最小频率在 FFT 分析的列表文件中的输出或用于THD 计算,默认值为 1.0/THz ,T=STOP-START ;FMAX 为指定的最大频率在 FFT 分析的列表文件中的输出或用于THD 计算,默认值为 0.5*NP*FMINHz 。温度特性分析:温度特性分析语句: TEMPt1 t2 tnt1,t2tn 分别为不同的工作温度,以为单位,最低温度不得低于-223.0。如不给出此语句, 将在标称温度下进行分析, 标称温度可在任选项语句 OPTION中设置,默认值为 27。2 输出语句:输出语句供用户选择输出内容和格式,有以下四种语句。打印语句: PRINTtypevar1var2 var32type 为指定的分析输出类型,它可以是DC,AC,TRAN,NOISE 和 DISTO 五项中的任一项,分别表示上述五种分析的输出,其余分析类型不需写输出语句而自动输出资料;var1为要打印的输出变量, 它可以是电压, 电流或进行 DC, AC, TRAN, NOISE或 DISTO 分析的输出变量模板的要素,每条语句中的输出变量的数目最多可为32 个,但输出语句条数不限;AC 分析的输出变量可以是电压或电流的实部,虚部,模,相位和模的分贝数,分别用字母 R,I,M,P 和 DB 来说明,如不指明那么认为是模;NOISE 分析的输出变量只能是ONOISE 和 INOISE,分别表示输出噪声和等效输入噪声, DISTO 分析的输出变量可以是HD2, HD3, SIM2, DIM2 或 DIM3, NOISE和 DISTO 分析的输出变量也都可以跟一个字母R,I,M,P 或 DB 来表示实部,虚部,模,相位和模的分贝数,但要加上括号。 绘图语句: PLOTtypevar1 plo1phi1 var2 plo2phi2 var32type 为指定的分析输出类型,它可以是DC,AC,TRAN,NOISE 和 DISTO 五项中的任一项,分别表示上述五种分析的输出,其余分析类型不需写输出语句而自动输出资料;var1为要打印的输出变量, 它可以是电压, 电流或进行 DC, AC, TRAN, NOISE或 DISTO 分析的输出变量模板的要素,每条语句中的输出变量的数目最多可为32 个,但输出语句条数不限;plo1phi1是用来定义绘图的纵坐标,plo 表坐标上限,phi 表坐标下限,均可正可负,每个括号不仅对前一个输出变量起作用,而且对前面所有输出变量起作用,直到另一个括号出现为止,如未规定坐标范围,程序将根据资料范围自动选择纵坐标,同一幅图中不同曲线可以有不同的坐标尺度;AC 分析的输出变量可以是电压或电流的实部,虚部,模,相位和模的分贝数,分别用字母 R,I,M,P 和 DB 来说明,如不指明那么认为是模;NOISE 分析的输出变量只能是ONOISE 和 INOISE,分别表示输出噪声和等效输入噪声, DISTO 分析的输出变量可以是HD2, HD3, SIM2, DIM2 或 DIM3, NOISE和 DISTO 分析的输出变量也都可以跟一个字母R,I,M,P 或 DB 来表示实部,虚部,模,相位和模的分贝数,但要加上括号;存储语句: PROBEtypevar1var2 var32type 为指定的分析输出类型,它可以是DC,AC,TRAN,NOISE 和 DISTO 五项中的任一项,分别表示上述五种分析的输出,其余分析类型不需写输出语句而自动输出资料;var1为要存储的输出变量, 它可以是电压, 电流或进行 DC, AC, TRAN, NOISE或 DISTO 分析的输出变量模板的要素,每条语句中的输出变量的数目最多可为32 个,但输出语句条数不限;AC 分析的输出变量可以是电压或电流的实部,虚部,模,相位和模的分贝数,分别用字母 R,I,M,P 和 DB 来说明,如不指明那么认为是模;NOISE 分析的输出变量只能是ONOISE 和 INOISE,分别表示输出噪声和等效输入噪声, DISTO 分析的输出变量可以是HD2, HD3, SIM2, DIM2 或 DIM3, NOISE和 DISTO 分析的输出变量也都可以跟一个字母R,I,M,P 或 DB 来表示实部,虚部,模,相位和模的分贝数,但要加上括号;PROBE 语句将只存储指定的输出变量在输出列表文件中。测量法输出语句: 测量法输出语句包括以下七种语句格式:MEASURE 语句用于逐次修改仿真的结果信息和详细说明,打印电路自定义的和使用的最大范围的最正确化的电气规格。该规格包括扩散,延迟,上升时间,下降时间,正负峰间电压,超过指定周期的最小和最大电压和其它的自定义数。随着错误模式和 GOAL 参数, MEASURE 语句总是使电路计算值的最大范围的最正确化和适当的标准模型参数曲线资料。 MEASURE 语句依据要求适合不同的格式, 其适用于任何 DC,AC,瞬态分析。上升,下降和延迟的测量:MEASURE DC/AC/TRAN result TRIG TARG GOAL=val MINVAL=val+WEIGHT=valMEASURE 为测量法输出语句关键词,可缩写为MEAS;DC/AC/TRAN 表示要进行测量法分析的类型,如果省略,最后分析模式将要求假定一个;result 为在 HSPICE 输出中给出的测量值名。 测量法工程是独立的变量, 其开始触发和结束的目标为:对于瞬态分析是时间;对于 AC 分析是频率;对于 DC 分析是 DC 扫描变量。如果目标范围在触发前是激活的,那么结果值是无效的;TRIG,TARG分别确定起始触发时间和目标规格,它们的语法分别如下:I TRIG Trigger : TRIGtrig-valVAL= trig-varTD=time-delayCROSS=c+RISE=rFALL=f或 TRIGAT= valII TARG Target : TARGtarg-valVAL= targ-varTD=time-delay+CROSS=c/LASTRISE=r/LASTFALL=f/LASTTRIG 指明起始触发信号的规格;trig-val 为 trig-var 值,是在交叉点,上升或下降时增量的计数器值;trig-var 为确定合理的起始的输出变量名,如果目标范围在触发前是激活的,那么MEASURE 将记录无效的值;TARG指明起始目标信号的规格;targ-val为 targ-var 值,是在交叉点,上升或下降时增量的计数器值;targ-var为扩散延迟的输出变量名,其值确实定与trig-var 值有关;time-delay 为仿真的总时间,它必须在测量开始前是有效的。 交叉点,上升或下降数只是在 time-delay 值以后才开始计数,默认的触发延迟为零;CROSS=c,RISE=r,FALL=f 指明了其数是 CROSS,RISE 或 FALL 引起的执行测量的结果。对于RISE=r,是当指明信号已上升r 上升时间时,何时满足条件和执行测量WHEN 。对于 FALL=f,是当指明信号已下降 f 下降时间时执行测量。交叉点是上升或下降之一,同样对于 CROSS=c,是当指明信号完成全部交叉时间 c 时执行测量,其结果是上升或下降时间之一。对于 TARG,最后结果会指定关键词 LAST;LAST 为在最后的CROSS,RISE 或 FALL 事件发生时执行测量。对于CROSS=LAST,执行测量的最后时间 WHEN 的条件是对任何一个上升或下降信号是成立的。对于FALL=LAST,执行测量的最后时间WHEN 的条件是对一个下降信号是成立的。对于 RISE=LAST,执行测量的最后时间 WHEN 的条件是对一个上升信号是成立的。LAST 是保存字,并且不能在上述MEASURE语句中作为参数名;AT= val是针对触发规格的特殊语法,其中“ val为 TRAN 分析中的时间,AC分析中的频率,DC 分析中的参数,作为测量的起始点;GOAL 指明了在最正确条件下要求测量的值,其误差由下式计算:ERRfun=GOALresult/GOAL; MINVAL 如果 GOAL 的绝对值比 MINVAL 还小,那么在 ERRfun 算式中以 MINVAL 取代 GOAL 值作为分母,默认值=1.0E-12; WEIGHT 为在最正确条件下计算误差时要乘的加权值,默认值=1.0。这种格式是用于测量独立变量 时间, 频率, 或某些参数或温度 的微分测量法,例如上升时间,下降时间,转换速度,和某些测量中要求确定的独立变量值。该格式指定了子语句 TRIG 和 TARG, 分别用于开始和结束时的电压或电流的幅度的测量。上升,下降和延迟测量模式用于计算时间,电压或频率的触发值或目标值。例如对瞬态分析就包括上升/下降时间,传输延迟和转换速度的测量;对 AC 分析是测量放大器带宽或可以到达确定增益的频率。AVG平均 ,RMS平方根 ,MIN最小 ,MAX最大 ,PP正负峰间的测量: MEASURE DC/AC/TRAN result func out-var FROM=val TO=valGOAL=val+MINVAL=val WEIGHT=valDC/AC/TRAN 表示要进行测量法分析的类型,如果省略,最后分析模式将要求假定一个;result 为在 HSPICE 输出中给出的测量值名,其值是一个指定的逻辑变量out-var和 func 值;func 从以下格式中确定一个常用的测量语句:AVGaverage:计算在 out-var 范围之下时用内部周期去除的平均值;MAXmaximum:在 out-var 之外汇报指定步长的最大值;MINminimum:在 out-var 之外汇报指定步长的最小值;PPpeak-to-peak:在 out-var 之外汇报指定步长的最大值减去最小值;RMSroot mean squared:计算平方根在 out-var2范围之下时的曲线用内部周期去除;INTEGintegral:在 out-var 之外汇报指定步长的积分;out-var 为一些在仿真测量中的逻辑 “func输出变量名;FROM 指定用于“func计算的初始值,对于瞬态分析,其值为时间单位;TO 指定用于“func计算的终止值;GOAL 指明了在最正确条件下要求测量的值,其误差由下式计算:ERRfun=GOALresult/GOAL;MINVAL 如果 GOAL 的绝对值比 MINVAL 还小,那么在 ERRfun 算式中以 MINVAL 取代 GOAL 值作为分母,默认值=1.0E-12;WEIGHT 为计算误差时要乘的加权值,默认值=1.0;AVG平均 ,RMS平方根 ,MIN最小 ,MAX最大 ,PP正负峰间测量模式报告输出变量的功能胜于报告其分析值。FIND 和 WHEN 的测量:MEASURE DC/AC/TRAN result WHEN out-var=val TD= val RISE=r/LAST+FALL=f/LAST CROSS=c/LASTGOAL=val MINVAL=val WEIGHT=val或MEASURE DC/AC/TRAN result WHEN out-var1= out-var2 TD= val+RISE=r/LASTFALL=f/LASTCROSS=c/LASTGOAL=val+MINVAL=val WEIGHT=val或 MEASURE DC/AC/TRAN result FIND out-var1 WHEN out-var2=val+TD=val RISE=r/LASTFALL=f/LAST CROSS=c/LAST GOAL=val+MINVAL=val WEIGHT=val或MEASURE DC/AC/TRAN result FIND out-var1 WHEN out-var2= out-var3+TD= val RISE=r/LASTFALL=f/LAST CROSS=c/LAST GOAL=val+MINVAL=val WEIGHT=val或 MEASURE DC/AC/TRAN result FIND out-var1 AT=val GOAL=val+MINVAL=val WEIGHT=valDC/AC/TRAN 表示要进行测量法分析的类型,如果省略,最后分析模式将要求假定一个;result 为在 HSPICE 输出中给出的测量值名;FIND 选择 FIND 功能;WHEN 选择 WHEN 功能;out-var1,2,3为变量,通常为测量发生的建立条件;TD 确定测量的起始时间;RISE=r,FALL=f,CROSS=c 指明了其数是 CROSS,RISE 或 FALL引起的执行测量的结果。对于 RISE=r,是当指明信号已上升 r 上升时间时,何时满足条件和执行测量WHEN 。对于FALL=f,是当指明信号已下降f 下降时间时执行测量。交叉点是上升或下降之一,同样对于 CROSS=c,是当指明信号完成全部交叉时间 c 时执行测量,其结果是上升或下降时间之一;LAST 为在最 后的 CROSS,RISE 或 FALL 事件发生时执行测量 。对于CROSS=LAST,执行测量的最后时间WHEN 的条件是对任何一个上升或下降信号是成立的。对于 FALL=LAST,执行测量的最后时间 WHEN 的条件是对一个下降信号是成立的。 对于 RISE=LAST, 执行测量的最后时间WHEN 的条件是对一个上升信号是成立的。LAST 是一个保存字,并且不能在上述 MEASURE 语句中作为一个参数名;GOAL 指明了在最正确条件下要求测量的值,其误差由下式计算:ERRfun=GOALresult/GOAL;MINVAL 如果 GOAL 的绝对值比 MINVAL 还小,那么在 ERRfun 算式中以 MINVAL 取代 GOAL 值作为分母,默认值=1.0E-12;WEIGHT 为计算误差时要乘的加权值,默认值=1.0;FIND和WHEN功能允许测量在出现一些指定的结果时的某些独立变量 时间,频率,参数 ,某些相关变量电压或电流 ,或某些相关变量的导函数。这些测量语句在同一增益的频率或相位的测量中是有益的, 也用于在两个信号彼此交叉时或一个信号越过一个常数值时测量时间, 频率,或某些参数值,并从指定的延迟时间 TD 后开始测量。它可以通过设定RISE,FALL或 CROSS 到一个值或参数或到最后结果 LAST 来找到一个指定的结果。估算方程的测量: MEASUREDC/AC/TRANresultPARAM= equation GOAL=val+MINVAL=val使用这个语句来求得一个方程式, 是一个与早先的 MEASURE 语句结果一样的函数方程,该方程式必须不是节点电压或支路电流的函数。估算导函数的测量:MEASURE DC/AC/TRAN result DERIVATIVE out-var AT=val GOAL=val+MINVAL=val WEIGHT=val或MEASURE DC/AC/TRAN result DERIVATIVE out-var WHEN var2=val+RISE=r/LASTFALL=f/LAST CROSS=c/LAST TD=tdval GOAL=goval+MINVAL=minval WEIGHT=weighval或MEASURE DC/AC/TRAN result DERIVATIVE out-var WHEN var2=var3+RISE=r/LASTFALL=f/LAST CROSS=c/LAST TD=tdval GOAL=goval+MINVAL=minval WEIGHT=weighvalDC/AC/TRAN 表示要进行测量法分析的类型,如果省略,最后分析模式将要求假定一个;result 为在 HSPICE 输出中给出的测量值名;DERIVATIVE 选择导函数功能,常简写为DERIV;out-var 用于建立导函数的变量;AT=val用于建立导函数 out-var 的值;GOAL 指明了在最正确条件下要求测量的值,其误差由下式计算:ERRfun=GOALresult/GOAL;MINVAL 如果 GOAL 的绝对值比 MINVAL 还小,那么在 ERRfun 算式中以 MINVAL 取代 GOAL 值作为分母,默认值=1.0E-12;WEIGHT 为计算误差时在结果和GOAL 之间要乘的加权值,默认值=1.0;WHEN 选择 WHEN 功能;Var2,3用于建立测量发生的条件的变量;RISE=r,FALL=f,CROSS=c 指明了其数是 CROSS,RISE 或 FALL引起的执行测量的结果。对于 RISE=r,是当指明信号已上升 r 上升时间时,何时满足条件和执行测量WHEN 。对于FALL=f,是当指明信号已下降f 下降时间时执行测量。交叉点是上升或下降之一,同样对于 CROSS=c,是当指明信号完成全部交叉时间 c 时执行测量,其结果是上升或下降时间之一;LAST 为在最 后的 CROSS,RISE 或 FALL 事件发生时 执行测 量。 对于CROSS=LAST,执行测量的最后时间WHEN 的条件是对任何一个上升或下降信号是成立的。对于 FALL=LAST,执行测量的最后时间 WHEN 的条件是对一个下降信号是成立的。 对于 RISE=LAST, 执行测量的最后时间WHEN 的条件是对一个上升信号是成立的。LAST 是保存字,并且不能在上述 MEASURE 语句中作为参数名;TD 确定测量的起始时间;DERIVATIVE 功能规定在一个给定时间或频率或对于某些扫描变量的一个输出变量的导函数, 依赖的分析类型。 它也规定了在出现一些指定的结果时的一个指定输出变量的导函数。估算积分函数的测量:MEASURE DC/AC/TRAN result INTEGRAL out-var1 FROM=val1 TO=val2+GOAL=goval MINVAL=minval WEIGHT=weighvalDC/AC/TRAN 表示要进行测量法分析的类型,如果省略,最后分析模式将要求假定一个;result 为在 HSPICE 输出中给出的测量值名;INTEGRAL 选择积分函数功能,常简写为INTEG;FROM 为积分下限;TO 为积分上限;GOAL 指明了在最正确条件下要求测量的值,其误差由下式计算:ERRfun=GOALresult/GOAL;MINVAL 如果 GOAL 的绝对值比 MINVAL 还小,那么在 ERRfun 算式中以 MINVAL 取代 GOAL 值作为分母,默认值=1.0E-12;WEIGHT 为计算误差时在结果和GOAL 之间要乘的加权值,默认值=1.0;INTEGRAL 功能规定了超过一个指定周期的输出变量的积分。相对误差的测量:MEASURE DC/AC/TRAN result ERRfun meas-var calc-var MINVAL=val+IGNORE/YMIN=val YMAX=val WEIGHT=val FROM=val TO=valDC/AC/TRAN 表示要进行测量法分析的类型,如果省略,最后分析模式将要求假定一个;result 为在输出中给出的测量结果名;ERRfun 用于说明错误功能的包括:ERR,ERR1,ERR2,ERR3;ERR 是每个点M-C/maxM,MINVAL的二次幂的总和,除以计入的点数,再开二分之一次幂的结果。Mmeas-var和 Ccalc-var是各个器件和电 路 响 应 的 测 量 和 计 算 的 结 果 , NPTS是 数 据 点 的 个 数 :NPTSMi Ci1ERR ()21/ 2;NPTSi1max ( MINVAL,Mi)ERR1 是计算每个点的相对误差。对于 NPTS 点数,这里是NPTS ERR1 误差功能计算;对于器件描述,ERR1 方法的建立比其它误差功能ERR,ERR2,ERR3更有效:ERR1iMi Ci,i 1,NPTS;max ( MINVAL,Mi)HSPICE 不能打印输出每个计算的 ERR1 值,当 ERR1 选项设置时,它可以通过NPTS1ERR1i21/ 2;下式计算 ERR 的值:ERR NPTSi1ERR2 是计算每个点的相对误差的绝对值。对于 NPTS 点数,这里是 NPTS误差功能命令:ERR2iMi Ci,i 1,NPTS;max ( MINVAL,Mi)NPTS1ERR2i;它可以通过下式计算 ERR 的值:ERR NPTSi1ERR3在 下 式 中 + 号 表 正 比 于M/C , - 号 表 反 比 于M/C : logERR3iMICilogmax(MINVAL, Mi),i 1,NPTS;meas-var 为在数据语句中的某些输出变量或参数,在误差方程中用M 表示meas-var;calc-var 为在MEASURE 语句中与 meas-var 比拟的仿真输出变量或参数,在误差方程中用 C 表示 calc-var;MINVAL如果meas-var的绝对值比MINVAL值还小, 那么在ERRfun算式中以MINVAL取代 meas-var 值作为分母,默认值=1.0E-12;IGNORE/YMIN 如果 meas-var 的绝对值比 IGNORE 值还小, 那么该点在 ERRfun 计算中不被考虑,默认值=1.0E-15;YMAX 如果 meas-var 的绝对值比 YMAX 值还大,那么该点在 ERRfun 计算中不被考虑,默认值=1.0E+15;WEIGHT 为计算误差时要乘的加权值,默认值=1.0;FROM 指定用于 ERRfunc 计算的初始值,对于瞬态分析,其值为时间单位,默认值为扫描变量的第一个值;TO 指定用于 ERRfunc 计算的终止值,默认值为扫描变量的最后一个值;相对误差功能汇报了两个输出变量的相对差值, 该格式常用在测量数据最正确化和曲线配合时。相对误差格式指定了由 PARAM变量测量和计算而得的变量,其相对误差在用ERR,ERR1,ERR2,ERR3 功能计算时在两者之间。对于这种格式, 设计者可以指定一组符合计算值和测量数据变量的参数。 为了防止参数值由于其它语句赋值而使MEASURE 语句重写参数,HSPICE 明确了参数类型。如果一些参数名在一些层次级用于MEASURE 语句和PARAM 语句,HSPICE 将终止并出错。如果参数赋值是在 PRINT 语句的不同的层次级,那么出现的不同的层次级不能对参数名标题打印输出分级信息,故不会出错。3 任选项语句: OPTIONSop1op2op3 op1为输入控制任选项的关键词,其作用主要是对Hspice 的算法加以人工干预或对缺省值进行赋值,其关键词如下所示:通用控制任选项输入,输出控制ACCT打印计算和运行时间的统计,有以下三种选择:0禁止统计;1允许统计默认 ;2允许 MATRIX 统计表统计;在 AC 输出微分计算结果时采用数量值,相位值,还是分贝值用于打印和绘图,默认值=1。当默认值 ACOUT=1,选择 Hspice 方式时,计算结果时用数量值输出;选择SPICE 方式,ACOUT=0 时,计算结果时用数量值输出。对每个组件的电压,电流和功耗生成一个线性摘要,电流单位为毫安,功耗单位为毫瓦。设置打印输出列数:x 可以是 80窄行打印机或132宽行打印机中的任一个,它也可以通过WIDTH 语句进行设置,默认值=80。指定打印输出格式,INGOLD=2 时与 SPICE 兼容,默认值=0,有以下三ACOUTBRIEF,NXXCO=xINGOLD=x种选择:INGOLD=0,工程格式,用一个单一的字符表示指数值: 1G=1e9 1X=1e6 1K=1e3 1M=1e-3 1U=1e-61N=1e-9 1P=1e-12 1F=1e-15INGOLD=1,结合固定和指数格式G 格式 ,固定格式数值从 0.1至 999,指数格式包括大于 999 或小于 0.1 的数值;INGOLD=2,专有的指数格式SPICE2G 结构 ,将产生适合后序分析工具的大小的常数值;用OPTIONSMEASDGT 结合 INGOLD 去控制MEASURE 结果的输出资料格式。LENNAM=xMEASDGT=x指定在工作点分析结果的打印输出中的名字的最大长度,默认值=8。在列表文件 Lis和MEASURE 语句输出文件 ma0, mt0, ms0等中使用MEASURE 语句输出格式,其值一般在1 到 7 之间,最高可达 10,默认值=4.0。用 MEASDGT 结合OPTIONSINGOLD=x 可以控制资料输出格式。打印节点表,表中将包括每个节点和全部组件的连接。不进行组件检查;对非常大的文件减少支路组件检查的预处理时间。抑制模型参数的打印输出。抑制打印翻页。对非常大的文件为增加预处理速度抑制布局检查结果。设置输出变量值的有效位数,其值一般在 1 到 7 之间,最高可达 10,默认值=4.0,此任选项不会影响仿真的精确度。允许输出中增加优化信息输出:0没有信息默认值 ;1打印变量,扩大更新和平分结果信息;2打印递减率,错误,Hessian 和迭代信息;3打印上述全部和函数行列式。打印全部任选项设置,如果一些任选项的默认值已经改变,OPTS 任选项将打印仿真中使用的值,可以通过BRIEF 任选项抑制其作用。打印分支电路路径数代替路径名。在打印绘制电流和电压时,指定坐标大小界限:1选择一个通用的坐标界限和在一个相同的坐标尺度图上绘制全部变量的曲线;2允许 SPICE 格式的图表,在那些分散的标尺和坐标轴上建立每个变量的曲线;此任选项不会影响 POST 处理的图表资料。设置查找库和包括库文件的路径。在仿真时 HSPICE 会自动查看OPTIONSSEARCH 指定目录的参考库文件。设置作业允许的最大 CPU 时间, 单位为秒, 当允许作业时间超过 CPTIME设定值时,打印或绘图计算结果直到作业结束的那一点。 当不能确定仿真将用多长时间,尤其是在调试新的数据文件时,使用本任选项,默认值=1E7400 天 。LIST, VERIFY打印输入数据的总清单。NODENOELCKNOMODNOPAGENOTOPNUMDGT=xOPTLST=xOPTSPATHNUMPLIM=xSEARCHCPU 控制CPTIME=xEPSMIN=xEXPMAX=xLIMTIM=x接口控制ARTIST=xCDS ,SDACSDFMEASOUT指定计算机中最小的加数或减数,是一个常数,默认值=1E-28。指定指数函数不会发生溢出的指数大小, 对于 IBM 平台其典型值为350。设置由程序保存的 CPU 时间总数,为打印或绘图使用,默认值 =2秒 ,此默认值对简短的打印或绘图通常是足够的。在 ARTIST=2 时允许有 Cadence Analog Artist 接口,该选项需要经特许授权;在 CDS=2 时产生一个对于Opus的 Cadence WSF ASCII格式的事后分析文件,该选项需要经特许授权;SDA 与 CDS 相同。选择通用仿真资料格式Viewlogic 兼容曲线数据文件格式 。允许.MEASSURE语句值和扫描变量输出到一个 ASCII 的事后分析文件供 MetaWaves 或其它工具使用,输出文件为design.mt#,其中#随每个 .TEMP 和.ALTER 分程序而增加,默认值=1,该选项可以在hspice.ini 文件中设置为 0(关闭)。允许存储的仿真分析结果用于MetaWaves 的图表接口或其它程序接口:POST=2 表存储为 ASCII 格式;POST=1 表存储为二进制格式。设置该选项和使用.PROBE 语句可以指定想要存储的资料格式,默认值=1。指定将事后分析的极限变量输出在.PROBE,.PRINT,.PLOT 和. GRAPH语 句 中 。 默 认 的 , Hspice 输 出 全 部 的 电 压 和 功 耗 电 流 添 加到.PROBE/.PRINT/.PLOT/. GRAPH语句的变量列表中,使用PROBE 会较大的减小仿真输出文件的大小。指定当 Hspice 运行在 Cadence Analog Artist 时,不管其输出是二进制还是 ASCII 格式。 当 PSF=2 时,Hspice 产生 ASCII 输出;当.OPTIONSARTIST PSF=1 时,Hspice 产生二进制输出。如果 ZUKEN=2,开启 Zuken 人机对话接口;如果 ZUKEN=1,屏蔽它,默认值=1。设置 Hspice 为 ASPEC 兼容模式,该选项可设置成 ASPEC 模式和网表供Hspice 读取,且其结果兼容,默认值=0Hspice 模式 ;注意: 当设置选项 ASPEC 时, 模型参数的默认值将随 ASPEC 的值而改变:ACM=1,CJ,IS,NSUB,TOX,U0,UTRA 的默认值改变;Diode 模型,TLEV=1 影响温度补偿 PB;MOSFET 模型,TLEV=1 影响 PB,PHP,VTO 和 PHI;SCALM,SCALE 设置模型的长度度量单位为微米;WL,颠倒 MOSFET 组件的宽度和长度的隐含顺序。设置在 AC,DC 或瞬态分析时能被打印的点的总数, 但它对于 DC 和瞬态分析并不是必需的,其默认值=2001。选择标准传递参数来控制分支电路参数的赋值顺序, 它们只用于各层分支电路参数和不同层级的相同名字中,它们是: LOCAL在分析分支电路时,在分支电路中指定的一个参数名的优先级胜过在更高层级中指定的相同参数名; GLOBAL 在更高层级中指定的一个参数名的优先级胜过在较低层级中指定的相同参数名。使 HSPICE 与 Berkeley SPICE 兼容。中选项设置为SPICE 时,其余选项POST=xPROBEPSF=xZUKEN=x分析控制ASPECLIMPTS=xPARHIERSPICE和模型参数将跟着改变。出错控制BADCHRDIAGNOSTICNOWARN当在输入文件中发现显示非打印字符时产生一个警告信息。记录下模型的负电导系数的情况。抑制除了那些.ALTER 控制块语句产生的全部警告信息。WARNLIMIT=x设置因时间数的限制在输出列表文件中出现确实切的警告信息, 从而减少输出列表文件的大小, 其值是随每个警告类型而产生的全部警告的总合,警告信息的类型适用于以下方面:MOSFET 的负电导系数,节点电导系数为零,饱和电流太小,电感或电容太大等,其默认值=1。版本H9007H95模型分析控制通用模型DCAP DCCAP 在对电路模型和组件之间进行 DC 分析时,指定产生 C-V 曲线和打印输出电容值。其中 C-V 曲线通常是由 DC 扫描时的电容产生的。默认值=0off 。SCALE=xTNOM=xMOSFETs 模型DEFAD=xDEFAS=xDEFL=xDEFNRD=xDEFNRS=xDEFPD=xDEFPS=xDEFW=xSCALM=xWLDC 工作点和 DC 扫描分析控制精度控制ABSH=xABSI=x设置通过电压定义旁路的绝对电流的变化 电压源和电感 ,在与 DI 和RELH 结合后,ABSH 用于检查电流的收敛情况,默认值=0.0。设置在二极管,BJTs 和 JFETs 进行 DC 和瞬态分析时的旁路绝对电流误差容限。如果精确度比收敛时间更重要的时候,将减小ABSI 的值。如果想比照 1nA 还小的电流进行分析,改变 ABSI 到一个最少比预计最小电流还要小两位的量纲。当 KCLTEST=0 时,默认值=1E-9;当 KCLTEST=1 时,默认值=1E-6。设置 MOSFET 模型漏极扩散面积的缺省值,默认值=0.0。设置 MOSFET 模型源极扩散面积的缺省值,默认值=0.0。设置 MOSFET 模型沟道长度的缺省值,默认值=100U。设置 MOSFET 模型漏极扩散区等效方块面积数目的缺省值, 默认值=1.0。设置 MOSFET 模型源极扩散区等效方块面积数目的缺省值, 默认值=1.0。设置 MOSFET 模型漏极扩散区周长的缺省值,默认值=0.0。设置 MOSFET 模型源极扩散区周长的缺省值,默认值=0.0。设置 MOSFET 模型沟道宽度的缺省值,默认值=100U。设置 MOSFET 模型的度量尺度因子。设置 MOSFET 模型的宽度和长度的隐含顺序。设置组件的度量尺度因子。设置标称温度,其默认值除选择 SPICE 时为 25.0之外,其余情况均为 27.0(300K)。设置常用控制选项的默认值与HSPICE H9007D 版本相一致,但EXPLI 模型参数不能通过此选项设置。设置常用控制选项的默认值与HSPICE H95.3 版本相一致。ABSMOS=x设置在 MOSFET 器件进行 DC 和瞬态分析时的电流误差容限,HSPICE 用其设置来确定 Drain-Source 的电流结果是否收敛。如果最后的和当前的 Drain-Source 电流的迭代误差比 ABSMOS 更小, 或者它比 ABSMOS 大,但变化的百分比比 RELMOS 小,Drain-Source 电流将被认为是收敛的。此时 HSPICE 将检查其它精确度的允许误差,如果全部指明是收敛的,那么电路在那时间点上是有解的, 在下一个时间点的解是可以通过计算得到的。对低功耗电路,最正确化和小信号瞬态仿真,设置ABSMOS=1E-12,默认值=1E-6A 。设置程序在进行 DC 和瞬态分析时的绝对电流误差容限,如果精确度比收敛时间更重要的时候,将减小ABSTOL 的值,默认值=1.0E-12。设置程序在进行 DC 和瞬态分析时的绝对最小电压。如果精确度比收敛时间更重要的时候, 将减小 ABSVDC 的值。如果电压要求比 50V 还要小时,ABSVDC 会减小到比最小电压要求还要小两位的量纲,以确保至少有两个有效位。通常 ABSVDC 不需要改变,除非该电路是高压电路。对于 1000V 的电路, 一个适当的值会在 550mV 之间, 默认值=VNTOL VNTOL的默认值=50V 。设置通过电压定义旁路的最大迭代到迭代电流的变化 电压源和电感 ,此选项只适用于当 DI 控制选项的值比 0 更大的时候,默认值=0.0。启动 KCLKirchhoffs Current Law的测试功能,这样将导致较长的仿真时间,尤其是对于较大的电路, 但是它提供了一种十分准确的检测方法,默认值=0。当 KCLTEST=1 时,HSPICE 将随着修改以下选项: RELMOS 和 ABSMOS 选项设置为 0,ABSI 设置为 1E-16A,RELI 设置为 1E-6。要 满 足KCL测 试 , 必 须 要 求 每 个 节 点 都 满 足 :ABSTOL=xABSVDC=xDI=xKCLTESTiMAXAMP=xRELH=xb RELI ib ABSI,其中ib是节点电流。设置通过电压定义旁路的最大电流电压源和电感 ,如果电流超过MAXAMP 的值,将产生一个错误说明,默认值=0.0。设置通过电压定义旁路的相对电流的误差容限电压源和电感 ,用于检查电流是否收敛。此选项只适用于当 ABSH 控制选项的值比 0 更大的时候,默认值=0.05。设置相对电流误差/允许误差的变化的百分比,通过迭代法确定在二极管, BJTs 和 JFETs 器件的全部电流是否收敛 RELMOS 用于设置 MOSFETs器件 。这电流变化的百分比是由前一个时间点的值计算得出的。当KCLTEST=0 时,默认值=1% ;当 KCLTEST=1 时,默认值=1E-6% 。设置相对 Drain-Source 电流误差/允许误差的变化的百分比, 通过迭代法确定在 MOSFETs 器件的电流是否收敛RELI 用于设置其它的器件 。这电流变化的百分比是由前一个时间点的值计算得出的。RELMOS 选项只适用于当电流比最低标准值ABSMOS更大的时候,默认值=5% 。设置相对电压误差容限, 当电压或电流值超过它们的绝对允许误差, 用RELV 来测试确定其是否收敛, 递增的 RELV 将增加其相对误差。 通常的,RELV 将远离它的默认值。 RELV 控制仿真时的电荷守恒。 对于电压, RELV与 RELTOL 相同,默认值=1E-3。设置相对电压误差容限, 当电压或电流值超过它们的绝对允许误差, 用RELI=xRELMOS=xRELV=xRELVDC=xRELVDC 来测试确定其是否收敛,递增的RELVDC 将增加其相对误差。通常的,RELVDC 将远离它的默认值。RELVDC 控制仿真时的电荷守恒。默认值=RELTOLRELTOL 的默认值=1E-3 。矩阵,真值表控制ITL1=x设置最大直流迭代极限, 递增此值不一定能改善小电路的收敛。 对某些大型电路和反应电路, 其值将高达 400 并使其收敛,例如对运算放大器和感测放大器等电路。 如果收敛时要求迭代次数比100 次更多时,通常其模型是错误的。设置.OPTIONS ACCT获得工作点的迭代结果的列表信息,默认值=200。设置直流转移曲线迭代极限,默认值=50.0。防止HSPICE在节点的电导系数比PIVTOL值小时而自动选主元矩阵进行因式分解。NOPIV 禁止选主元,并且与 PIVOT 有关。规定了不同的主元算法选择, 它们可以有效的减少仿真时间和在电路提出 Hard-to-Solve 矩阵方程时到达收敛。主元算法的选择是通过设置PIVOT 的值而改变的,默认值=10:0原始的无主元法;1原始的主元算法;2挑选最大的行主元算法;3挑选最好的行算法;10快速的无主元算法,需要更多的内存;11快速的主元算法,比 PIVOT 取小于 11 的值时需要更多的内存;12挑选最大的行主元算法,比 PIVOT 取小于 12 的值时需要更多的内存;13快速最好的主元:较快,比 PIVOT 取小于 13 的值时需要更多的内存;最快的算法是 PIVOT=13 时,它对非常大的电路,能提高仿真时间直到十倍时间。可是,PIVOT=13 选项在仿真时需要更多的内存。一些有大的电导率的电路, 例如开关电源电路, 可能需要选择主元。 如果PIVOT=0,HSPICE 在检测到对角线矩阵项数比PIVTOL 值少时,将自动从无主元转换为行主元策略,它规定了时间和内存,有利于无主元转换,防止出现不稳定的仿真和错误的结果。用.OPTIONS NOPIV 来防止依据一些情况选主元。对非常大的电路,PIVOT=10,11,12 或 13 时会需要额外的内存。 如果 HSPICE在仿真时转换为选主元, 将打印输出信息 “pivot changeon the fly,接着因节点数而引起问题。用.OPTIONS NODE来获得其节点-组件相交坐标。SPARSE 与 PIVOT 相同。设置主元坐标, 用于 PIVOT=11, 12, 13 时矩阵大小的界限, 默认值=1E+8。设置最大矩阵项和允许的最小主元值之间的相比照率,只用于PIVOT=1时。PIVREL 较大的值会导致非常长的主元矩阵时间;如果值太小,那么不能出现主元。PIVREL 最好从较小的值开始,用一个适当的但不超过太多的值以利于收敛和精确度。默认值=1.0E-20max=1.0E-20,min=1 。设置允许被接受为主元的矩阵项的绝对最小值, 用于当 PIVOT=0 时矩阵的最小电导系数,默认值=1.0E-15。其中,PIVTOL 总是小于 GMIN 或GMINDC,值近似为 1 时将增加主元。ITL2=xNOPIVPIVOT=x,SPARSE=xPIVREFPIVREL=xPIVTOL=x输入,输出控制CAPTABVFLOOR=x打印每个工作点上二极管,BJTs, JFETs,MOSFETs 的结电容和无源电容的列表。设置输出列表中要打印的电压下限。所有比 VFLOOR 低的电压都被打印输出为 0,它只影响输出列表:仿真时所用的最小电压由VNTOLABSV来设置。调用不同的程序用于解决不收敛的问题: CONVERGEN=-1和 DCON=-1 一起,禁止自动收敛; CONVERGEN=1使用 Damped Pseudo Transient Algorithm阻尼伪瞬态算法 。 如果内部收敛时间等于 CPTIME 控制选项设定的 CPU 时间,仿真失败,仿真中断; CONVERGEN=2使用 DCSTEP 和 GMINDC 的结合斜率; CONVERGEN=3调用信号源步进式改变程序;即使在.OPTIONS 语句中没有设置, CONVERGEN 选项也在有浮点溢出矩阵结果或步长时间太小的错误时有效,默认值=0。在有浮点溢出矩阵结果时,HSPICE 设置 CONVERGEN=1。与 CSHUNT 选项相同,但其只用于CONVERGEN 选项。在结合 DCHOLD 选项和.NODESET 语句后用于在仿真中提高其 DC 收敛特性。DCFOR 设置迭代数用于在稳定状态下电路收敛后的计算。迭代数在收敛后通常为零,DCFOR 增加迭代和计算时间用于 DC 电路的分解计算。DCFOR 帮助确保电路是真实的,没有错误的,收敛的,默认值=0。DCFOR 和 DCHOLD 是共同用于 DC 分析的初始化过程,在 DC 仿真中提高其收敛特性。DCFOR 和 DCHOLD 与.NODESET 语句共同工作。DCHOLD 选项用于指定当.NODESET 语句指定节点的电压值时的迭代数。DCHOLD 根据DCHOLD 值和迭代数需要获得的DC 收敛会有不同的收敛结果。如果在稳定状态下电路收敛,DCHOLD 迭代较少,DC 解决方案包括.NODESET 语句设置的值。同样的,如果电路在收敛时需要更多的DCHOLD 迭代,由.NODESET语句设置的值是和DC解决方案计算得出的.NODESET开路固定源极电压无关,默认值=1。在处理收敛问题时,HSPICE 会自动设置 DCON=1 和采用以下公式计算:当 DV=1000 时,DV max(0.1,集中, 收敛控制CONVERGENCSHDCDCFOR=xDCHOLD=xDCON=xVmax),50Imax),GMINDCGRAMP max(6,log10(ITL1 ITL1 20GRAMP;这里 Vmax 是最大电压和 Imax 是最大电流。如果收敛问题仍然存在,HSPICE 设置 DCON=2,除了DV=1E6 以外,其余同上。上述计算用于 DCON=1 或 2 时。如果电路收敛失败将自动调用DCON=1,如果 DCON=1 失败将调用 DCON=2。如果电路包括未初始化的触发器或不连续的模型,仿真可能不能收敛。设置DCON=-1和CONVERGE=-1禁止自动收敛算法和提供未能收敛的节点和器件的列表。DCSTEP=xDV=x用于转换 DC 模型和电容组件的电导系数去提高其DC 收敛特性。 电容组件的值全部是用 DCSTEP 去除获得的 DC 收敛模型,默认值=0秒 。在 DC 和瞬态分析时全部电路节点的最大迭代电压的改变。对一些高增益双极型运算放大器要到达一个稳定的DC 工作点, 其值必需在 0.55.0之间, 而对于大型 CMOS 数字电路经常需要大约1V 的电压, 默认值=1000如果 DCON=2,那么默认值=1E6 。和电流源并联的电导被用来作为.IC 和.NODESET 的电路初始化条件。 一些较大的双极型电路为了收敛会需要GMAX 设置为 1, 默认值=100 mho 。在 DC 分析中在所有 PN 结和 MOSFET 的节点并联一个电导。GMINDC 将帮助克服由于 PN 结和 MOSFET 器件的电导太小而引起的 DC 收敛的问题。GRAMP 通常会减小 GMINDC 的每个步骤的一个数量级。GMINDC 将设置在1E-4 和 PIVTOL 设定值之间,默认值=1E-12。较大的 GMINDC 值会引起不合理的电路响应。如果较大的值是收敛所必需的,那么可能有一个错误的模型或电路是令人疑心的。 在大型矩阵计算 时 浮 点 溢 出 , 如 果 GMINDC=1E-12 或 更 小 , HSPICE 会 设 置GMINDC=1E-11。GMINDC 是用于处理 HSPICE 的自动收敛模式。其值用于 HSPICE 在执行自动收敛程序时, 是用于结合 GMINDC 控制选项来查找 GMINDC 在 DC 分析结果的最小值。GRAMP 用于指定包括 GMINDC 在进行 DC 工作点分析时的收敛, HSPICE 将代入 GMINDC 范围内的每个值进行仿真,而电路在稳定状态下收敛时,它将挑选最小的值。如果 GMINDC 在 1E-12mhos默认值和 1E-6 mhos 之间,GRAMP 设置为6 此指数值为默认值和最大电导系数之间的差 。 在电路仿真中, GMINDC首先取 1E-6 mhos 进行仿真;如到达收敛,GMINDC 那么转到 1E-7 mhos继续仿真。仿真将进行到扫描完成在GRAMP 斜率上所有的值。 如果结合GMINDC 和 GRAMP 的电导值比 1E-3 mhos大,会出现伪收敛,默认值=0。为每个节点添加一个到地的电导。 为每个节点添加一个小的电导也许会解决在高频振荡或数字噪声分析时出现的“Time step too small的问题,默认值=0。对参数或温度进行扫描, 储存由启始点开始逐步进行的, 由上一步的结果计算得出的电流分析的结果。 当 ICSWEEP=1 时,电流结果由上一步分析结果计算得出; 当 ICSWEEP=0 时, 电流结果不由上一步分析结果得出,默认值=1。对每个 DC 解决方案和时间点电路解决方案选择一个更易收敛的迭代值。当 NEWTOL 没有设置时,一旦收敛确定,就将结束收敛程序而开始执行下一步的程序,默认值=0。如果没有初始化而有其它的值, 那么初始化所有有源器件的端点电压为零。 例如晶体管的源极和漏极没有用.NODESET 或.IC 语句进行初始化或连接到电源上,OFF 选项将初始化晶体管的所有端点电压为零。OFF 选项将先检查组件 IC 参数, 如果一个组件 IC 参数中有一个单独端点有赋值存在,那么该端点恰好是组件 IC 参数在先前 OFF 选项设置为零的初始化值(对个别有源器件的组件参数 OFF 会初始化其端点电压为零)。OFF 选项是用于帮助发现较大电路确实切的DC 工作点。GMAX=xGMINDC=xGRAMP=xGSHUNTICSWEEPNEWTOLOFFRESMIN=x指定所有电阻器的最小电阻值, 包括寄生和感应电阻, 默认值=1E-5 欧姆 ,范围为 1E-1510 欧姆。设置电容标准,电容量是随CSCAL 比例增加的,默认值=1E+12。设置最大极点/零原点频率值极限,默认值=1E+12FSCAL。设置频率标准,频率值是随FSCAL 比例增加的,默认值=1E-9。设置电导标准,电导量是随GSCAL 比例增加的,电阻量是除以GSCAL,默认值=1E+3。设置电感标准,电感量是随 LSCAL 比例增加的,默认值=1E+6,这个比例因子必须满足以下关系式:GSCAL CSCAL FSCAL,GSCAL 极点/零原点控制CSCALFMAXFSCALGSCALLSCAL1 FSCAL;LSCAL如果比例因子改变,它对初始 Muller 点X0R,X0I , X1R,X1I和X2R,X2I的改变来说是必需的,即使 HSPICE 随初始值比例增加1E-9/GSCAL 。PZABS设置极点/零原点的绝对误差, 该选项将影响低频极点/零原点。它 符 合 下 式 : 如( Xreal Ximag PZABS, 那 么Xreal 0和Ximag 0,它总是用于收敛测试,默认值=1E-2。PZTOLRITOL设置极点/零原点的相对误差容限,默认值=1E-6。设置极点/零原点的实部/虚部或虚部/实部局部的最小比值,它总是符合下式:如Ximag RITOL Xreal,那么Ximag 0;如Xreal RITOL Ximag,那么Xreal 0。默认值=1E-6。XnR,XnI在 Muller 极点/零原 点分析算法中的复合启始点其中n=0,1,2符合下述值:X0R=-1.23456E6,X0I=0.0;X1R=-1.23456E5,X1I=0.0;X2R=+0.23456E6,X2I=0.0;这些初始点是随 FSCAL 比例增加。瞬态和 AC 小信号分析控制精度控制ABSV=x,VNTOL=x设置程序的 DC 和瞬态分析的绝对最小电压,如果精确度比收敛的关系更大,将减小 ABSV 值。如果需要 50mV 更小的电压,ABSV 会减小到比希望得到的最小电压还小两个数量级,以确保至少两个有效位。通常,ABSV 在高压电路中并不需要改变,除非其为高压电路。对于 1000V 的电路,合理的值为 550mV。VNTOL 与 ABSV 相同,默认值=50mV 。对于高增益运放电路选择一种时间算法使LVLTIM=3 和 DVDT=2。当电路是高增益大动态范围电路时, 使用该选项将保证其精确度。 当 ACCURATE设置为 1 时,它将随着设置以下控制选项:LVLTIM=3 DVDT=2 RELVAR=0.2 ABSVAR=0.2 FT=0.2 RELMOS=0.01;默认值=0。ACCURATECHGTOL=xCSHUNT在 LVLTIM=2 时设置程序的电荷容差。CHGTOL 总是随着 RELQ 一起设置HSPICE 中全部电容的绝对和相对电荷容差,默认值=1.0E-15库仑 。在每个节点到地之间增加一个电容。 在每个节点加一个小电容也许会解决在高频振荡或数字噪声分析时出现的“Time step too small的问题,默认值=0。设置在瞬态分析时间扫描内程序允许的最小跨导,默认值=1.0E-12。用于设置时间步长算法的局部截断误差时间步长算法 LVLTIM=2 , RELQ改变的大小与时间步长有关。 如果当前的电容充电计算迭代超过先前的迭代比 RELQ 的值有一个更大的百分数,那么迭代时间步长增量将减小,默认值=0.011% 。设置程序的电压相对误差容限。RELTOL 用于和 ABSV 控制选项结合来确定电压收敛。递增的 RELTOL 增加相对误差。RELV 与 RELTOL 相同。选项 RELI 和 RELVDC 的默认值为 RELTOL 的值,默认值=1.0E-3。用于设置局部截断误差时间步长算法LVLTIM=2 ,TRTOL 是一个内部时间步长产生的乘数,用于截断误差时间步长算法。TRTOL 减少仿真时间,并保持精确度。它是一个用于 Taylor 级数展开式算法中的估计截断误差引导总数的因式。 这误差是反映时间步长最小值将减小仿真时间和精确度。 TRTOL 的范围为 0.01100, 通常其值在 110 之间。 如果 TRTOL设置为 1,将使用最小值,一个非常小的时间步长。同样的,TRTOL 设置值增加,时间步长大小也将增加,默认值=7.0。在进行全部 TRIG-TARG 和 FIND-WHEN 测量功能计算时,停止瞬态分析。该选项会输出真实的 CPU 减少时间的结果。如果数据文件包括如AVG,RMS, MIN,MAX,PP,ERR, ERR1, 2, 3 和 PARAM 等测量功能时, AUTOSTOP是被禁止的。设置断点表的大小,默认值=5000。在没有更新潜在器件的状态下加速仿真,设置.OPTION BYPASS=1 使旁路有效,BYPASS 应用于 MOSFETs,MESFETs,JFETs,BJTs 和二极管器件,默认值=0。指定考虑了潜在器件 MOSFETs,MESFETs,JFETs,BJTs 和二极管器件后的电压误差容限,HSPICE 不会更新潜在器件的状态,默认值=MBYPASSVNTOL。在没有更新潜在器件的状态下加速仿真。该选项应用于MOSFETs,MESFETs,JFETs,BJTs 和二极管器件,默认值=0。一个器件当它的节点电压变化从一个迭代到下一个比 BYTOL 控制选项或 BYPASSTOL 组件参数二者任一设置值更小的时候, 是要考虑潜在的状态变化的(当 FAST 存在时,HSPICE 将针对不同的器件模型设置不同的BYTOL 值)。在添加FAST 选项后,输入预处理时间将由于选项NOTOP 和NOELCK 而减小,选项 MBYPASS 或 BYTOL 递增设置的值将帮助其仿真运行的更快,但将降低其精确度。设置极点/零原点分析的迭代极限,默认值=100。用于计算 BYTOL 控制选项的默认值:BYTOL=MBYPASSVNTOL。其同样适用于倍压误差容限 RELV。对于精确的模拟电路, MBYPASS 设置为 0.1 左右,当 DVDT=0,1,2 或 3 时,默认值=1;当 DVDT=4 时,默认值=2。GMIN=xRELTOL=xTRTOL=x速度控制AUTOSTOPBKPSIZ=xBYPASSBYTOL=xFASTITLPZMBYPASS=x时间跨度控制ABSVAR=x设置从一个时间点到下一个时间点的最大电压变化极限,用于 DVDT 的计算。如果仿真产生比 ABSVER 更大的收敛结果,这结果将被删除,时间步长设置为更小的值, 并重新进行计算。这是调用一个反向的时间步长,默认值=0.5V 。设置迭代时间步长增量最大值。HSPICE 会基于不同的因素自动为 DELMAX 设置不同的值,这种迭代 DELMAX 值的方法证明在 HSPICE 输出列表中一般没有值用于仿真。允许在瞬态分析中使用电压极限,默认值=1000。设置时间步长TSTEP的尾数。对于瞬态分析的第一个时间点的增量,迭代时间步长是减小的。减小 FS 值帮助电路解决时间步长收敛困难,它总是在 DVDT=3 时用于控制时间步长: FS MIN(TSTEP,DELMAX,BKPT);这里 DELMAX 是指定的,BKPT 与源点断点有关,TSTEP 在.TRAN 语句中设定,默认值=0.25。FT=x设置时间步长TSTEP的尾数。当一个迭代设置不能收敛时,通过减小其增量,迭代时间步长来改善。它总是在 DVDT=2 和 DVDT=4时用于控制时间步长,默认值=0.25。在瞬态分析仿真中用算法求出时间步长。IMIN 用于设置在可以获得收敛的迭代数的下限。如果这个迭代数是比 IMIN 更小的数,迭代时间步长,增量将变为原数的两倍。该选项用于对节点时常是稳态的电路例如数字电路时减少仿真时间。如果这个迭代数是比 IMIN 更大的数,时间步长将保持原数,除非其超过了选项IMAX。ITL3 与 IMIN 相同,默认值=3.0。在瞬态分析仿真中用时间步长算法求出最大时间步长。IMAX 用于设置在一个时间点上可以获得收敛的迭代数的上限。 如果这个迭代数需要比IMAX 更大的数,迭代时间步长增量将减小,其系数等于瞬态控制选项 FT,一个新的结果将用于新的时间步长的计算。IMAX 总是与瞬态控制选项 IMIN 一起工作。ITL4 与 IMAX 相同,默认值=8.0。设置瞬态分析迭代总数极限。如果电路使用比 ITL5 更大的迭代,程序将打印所有点的结果。默认值允许一个无穷大的迭代数,默认值=0.0。与ABSVAR和时间步长算法选项DVDT一起使用。 RELVAR设置在LVLTIM=1或 3 时的相对电压变化。如果通过 RELVAR 当前时间点的节点电压超过前一个时间点的节点电压, 时间步长将减小并在一个新的时间点计算得出一个新的结果,默认值=0.3030% 。设置乘数 TSTEP,以计算得出最大值 DELMAX,用于迭代时间步长增量 :DELMAX=TSTEPRMAX,默认值=2.00。设置增量,迭代时间步长最小值。一个比TSTEPRMAX 结果更小的迭代时间步长将终止瞬态分析并给出错误信息“internal timesteptoo small。 如果电路在 IMAX 迭代是不收敛的, 除开 FT 选项增量 将减小,默认值=1.0E-9。设置进入分段线性PWL分析的断点表的下限。如果连续两个 PWL 段的斜率差值比 SLOPETOL 值更小,这两段之间的进入断点表是无效的,DELMAX=xDVDTFS=xIMIN=x,ITL3=xIMAX=x,ITL4=xITL5=xRELVAR=xRMAX=xRMIN=xSLOPETOL=x默认值=0.5。TIMERES=x算法控制DVTRLVLTIM=x允许在瞬态分析中使用电压极限,默认值=1000。选择用于瞬态分析的时间步长算法。如果LVLTIM=1,那么用 DVDT 时间步长算法;如果LVLTIM=2,那么用局部截断误差控制时间步长的算法;如果 LVLTIM=3,那么同时使用DVDT 时间步长算法和截断误差控制时间步长的算法。如果使用 GEAR 的数值积分和线性化的方法,那么选择 LVLTIM =2;如果使用 TRAP 的线性化的算法, 那么选择 LVLTIM =1 或 3。 选择 LVLTIM =1DVDT 选项可以防止出现“internal timestep too small的不收敛的问题。局部截断算法LVLTIM =2将保证提供更高的精确度和防止从一个时间点到另一个时间点的传递错误, 在不稳定的情况下会得到从前的结果,默认值=1。如果采用 GEAR 的变阶方法,设置积分法的最大阶数,其值必须为1 或2 的二者之一。 如果 MAXORD=1, 使用向后欧拉积分算法; 如果 MAXORD=2,将更稳定,精确和实用,默认值=2。设置断点表中两个断点值间的最小间距。 如果两个断点是在同一时间内比 TIMERES 值更接近,那么在断点表中将只有一个进入,默认值=1ps。MAXORD=xMETHOD=name设置程序在瞬态分析中所用的数值积分的方法, 可为 GEAR 法或 TRAP 法梯形法 。使用 GEAR 法,设置 METHOD=GEAR,并自动设置 LVLTIM=2在选项为METHOD=GEAR时可以将LVLTIM=2改变设置为LVLTIM=1或3,它将替换 METHOD=GEAR 的默认设置 LVLTIM=2 。TRAP梯形积分法一般会减少程序运行的时间和提高精确度。梯形积分法在需打印或绘图的节点不具备引起振荡的电路特性的时候会使其进入明显的振荡。 用这种方法进行瞬态分析测试, 只需要小的时间步长。如果振荡消失,它是由于梯形法。GEAR 法是作为一个滤波器,将去除在梯形法中建立的振荡。对高度非线性电路如运算放大器用 GEAR 法会需要非常长的运行时间。通常电路在梯形积分法时不能收敛而在GEAR 法时能收敛,默认值=TRAP。MU=x,XMU=x用于梯形积分法的系数,其范围为0.00.5 之间,默认值=0.5。输入,输出控制INTERP用于事后分析工具程序的输出极限,例如Cadence 或 Zuken,只针对.TRAN 的时间步长间隔。 默认的, HS PICE 会输出全部收敛迭代。 INTERP选项通常产生一个非常小的.tr#文件。打印输出在时间点间隔上的变量值, 使用该选项会产生一个长的输出列表文件。显示在 AC 分析中翻开格式的相位结果 和一个连续的相位图 。它允许精确计算群延迟,群延迟记录总是基于翻开格式的相位结果的计算, 即使 UNWRAP 选项没有设置。ITRPRTUNWRAP4 端点电压预置语句和初始条件设置语句:.端点电压预置语句:.NODESET Vnode1=val1 Vnode2=val2 或.NODESET node1 val1 node2 val2 node1为节点数或节点名,可以包括全部路径名或电路数。 val1为指定的电压值。端点电压预置语句是在DC 工作点分析时指定节点电压,帮助电路实现直流收敛。在进行 DC 分析时, 首先将语句中指定的节点电压置成所给数值, 并进行迭代直至收敛。 然后取消预置电压的限制继续迭代直至收敛。 因此该语句并不影响 DC 工作点的迭代终值。. 初始条件设置语句:.IC Vnode1=val1 Vnode2=val2 或.DCVOLT Vnode1=val1 Vnode2=val2 node1为节点数或节点名,可以包括全部路径名或电路数。 val1为指定电压,其要依靠在.TRAN 语句中指定 UIC 参数才能起作用。初始条件设置语句要与瞬态分析语句配合使用,其作用如下:假设瞬态分析语句中有UIC 项, 程序将直接使用.IC 语句或.DCVOLT 语句及组件语句中“IC= 项所给的初始条件,程序将不计算初始条件;假设瞬态分析语句中没有 UIC 项,程序仍将进行直流分析计算初始条件,但.IC语句或.DCVOLT 语句可以指定局部节点电压,即由用户给定局部初始条件。5 电路参数修改语句:.ALTER title_stringtitle_string 是任何不超过 72 个字符的字符串。.ALTER 语句允许用户修改器件或电路参数, 然后 HSPICE 程序用新参数对电路进行重新分析。重新分析的次数不限,每次分析的修改参数均可由用户指定。对于每个.ALTER 语句,HSPICE 程序都将对电路重新分析一次,并给出分析的结果。该语句特别适用于用户观察器件参数或电路参数对电路特性的影响。在.ALTER 模块中不能有.PRINT,.PLOT,.GRAPH 或其它 I/O 语句。6 资料分析修改语句包括以下三种类型:.内联.DATA 语句:.DATA datanm pnam1 pnam2 pnam3 pnamxx+pval1 pval2 pval3 pvalxx+pval1pval2pval3 pvalxx .ENDDATA datanm 为资料名,相当于.TRAN,.DC 或.AC 语句; pnami 为参数名,常用于电源值,组件值,器件大小,模型参数值和其它。这些参数名必须在.PARAM 语句中说明; pvali 为参数值。.串联.DATA 文件语句:.DATA datanm MER FELE=file1 p1=x p2=x p3=x p4=x p1=x .ENDDATA其中, file1, file2, file3 和 fileout 是连接到输出文件 fileout 中, 文件 file1中的资料是在文件中的第一个记录,紧随其后的是file2,file3 和 fileout 中的资料。字段 datanm 在.DATA 语句中说明,并服从于任何.DC,.AC 或.TRAN 分析语句。.列层状.DATA 文件语句:.DATA datanm LAMFELE=file1 p1=1 p2=2 p3=3 p4=1 p5=2 p6=1 .ENDDATA资料分析修改语句允许用户修改任何参数,并用新参数执行操作点, DC,AC 或瞬态分析。一个参数值数组可以是内联的在仿真输入文件内或存储在外部ASCII 文件中。数据分析修改语句数组包括一个参数名列表和其对应的值。7 保护语句和无保护语句:.保护语句:.PROTECT使用保护语句.PROTECT 来保存模型和专用的 CELL 库。用.PROTECT 语句可以禁止将正文打印输出到列表文件,就象选项BRIEF,用.UNPROTECT 语句命令其恢复常用输出功能。另外,一些组件和模型在.PROTECT 语句和.UNPROTECT 语句之间时,将抑制这些组件和模型的列表输出,就象选项LIST。一些节点包含在 .PROTECT 语句和.UNPROTECT 语句中时, 它们将不记录在.OPTIONS NODE 语句所提及的节点列表中,也不记录在.OP 语句的工作点打印输出中。.无保护语句:.UNPROTECT使用无保护语句.UNPROTECT 从.PROTECT 语句状态恢复到常用输出功能。一些组件和模型在.PROTECT 语句和.UNPROTECT 语句之间时,将抑制这些组件和模型的列表输出,就象选项 LIST。一些节点包含在.PROTECT 语句和.UNPROTECT 语句中时,它们将不记录在.OPTIONS NODE 语句所提及的节点列表中,也不记录在.OP 语句的工作点打印输出中。8 宽度语句和结束语句:.宽度语句:.WIDTH IN=colin OUT=colout colin 为输入宽度,定义了输入源程序每行的宽度,即字符数; colout 为输出打印宽度,定义了输出打印结果的每行字符数。宽度语句定义了输入宽度和输出打印宽度, 用户要注意输入的每行字符 包括空格都不要超出该宽度,输入宽度取值范围为10120,默认值为 80;输出打印宽度取值范围为 20132,默认值为 80。.结束语句: .END输入源程序的最后一行必须为结束语句 .END 语句。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号