Hspice应用讲解 下载本文

内容发布更新时间 : 2024/5/4 13:41:15星期一 下面是文章的全部内容请认真阅读。

中设置,默认值为27℃。

2. 输出语句:输出语句供用户选择输出内容和格式,有以下四种语句。 ⑴.打印语句:.PRINT type var1 [var2 ? var32]

type为指定的分析输出类型,它可以是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来表示实部, 虚部,模,相位和模的分贝数,但要加上括号。 ⑵.绘图语句:.PLOT type var1 [(plo1 phi1)] [var2 [(plo2 phi2)] ? var32]

type为指定的分析输出类型,它可以是DC,AC,TRAN,NOISE和DISTO五项 中的任一项,分别表示上述五种分析的输出,其余分析类型不需写输出语句而自 动输出资料;

var1?为要打印的输出变量,它可以是电压,电流或进行DC,AC,TRAN,NOISE 或DISTO分析的输出变量模板的要素,每条语句中的输出变量的数目最多可为 32个,但输出语句条数不限;

(plo1 phi1)?是用来定义绘图的纵坐标,plo表坐标上限,phi表坐标下限, 均可正可负,每个括号不仅对前一个输出变量起作用,而且对前面所有输出变量 起作用,直到另一个括号出现为止,如未规定坐标范围,程序将根据资料范围自 动选择纵坐标,同一幅图中不同曲线可以有不同的坐标尺度;

AC分析的输出变量可以是电压或电流的实部,虚部,模,相位和模的分贝数, 分别用字母R,I,M,P和DB来表明,如不指明则认为是模;

NOISE分析的输出变量只能是ONOISE和INOISE,分别表示输出噪声和等效输 入噪声,DISTO分析的输出变量可以是HD2,HD3,SIM2,DIM2或DIM3,NOISE 和DISTO分析的输出变量也都可以跟一个字母R,I,M,P或DB来表示实部, 虚部,模,相位和模的分贝数,但要加上括号; ⑶.存储语句:.PROBE type var1 [var2 ? var32]

type为指定的分析输出类型,它可以是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=val]

MEASURE为测量法输出语句关键词,可缩写为MEAS;

DC/AC/TRAN表示要进行测量法分析的类型,如果省略,最后分析模式将要求假

定一个;

result为在HSPICE输出中给出的测量值名。测量法项目是独立的变量,其开始触

发和结束的目标为:对于瞬态分析是时间;对于AC分析是频率;对于DC分析是DC扫描变量。如果目标范围在触发前是激活的,则结果值是无效的;

TRIG?,TARG?分别确定起始触发时间和目标规格,它们的语法分别如下: I.TRIG(Trigger):TRIG trig-val VAL= trig-var [TD=time-delay] [CROSS=c]

+[RISE=r] [FALL=f]

或TRIG AT= val II.TARG(Target):TARG targ-val VAL= targ-var [TD=time-delay]

+[CROSS=c/LAST] [RISE=r/LAST] [FALL=f/LAST]

TRIG指明起始触发信号的规格;

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=(GOAL-result)/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=val] [GOAL=val] +[MINVAL=val] [WEIGHT=val]

DC/AC/TRAN表示要进行测量法分析的类型,如果省略,最后分析模式将要求假定一个;

result为在HSPICE输出中给出的测量值名, 其值是一个指定的逻辑变量(out-var)和func值;

func从下列格式中确定一个常用的测量语句:

AVG average:计算在out-var范围之下时用内部周期去除的平均值; MAX maximum:在out-var之外汇报指定步长的最大值; MIN minimum:在out-var之外汇报指定步长的最小值;

PP peak-to-peak:在out-var之外汇报指定步长的最大值减去最小值; RMS root mean squared:计算平方根在out-var2范围之下时的曲线用内部

周期去除;

INTEG integral:在out-var之外汇报指定步长的积分; out-var为一些在仿真测量中的逻辑(“func”)输出变量名;

FROM指定用于“func”计算的初始值,对于瞬态分析,其值为时间单位; TO指定用于“func”计算的终止值;

GOAL指明了在最佳条件下要求测量的值,其误差由下式计算:

ERRfun=(GOAL-result)/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/LAST] [GOAL=val] [MINVAL=val] [WEIGHT=val]

或.MEASURE [DC/AC/TRAN] result WHEN out-var1= out-var2 [TD= val]

+[RISE=r/LAST] [FALL=f/LAST] [CROSS=c/LAST] [GOAL=val] +[MINVAL=val] [WEIGHT=val]

或.MEASURE [DC/AC/TRAN] result FIND out-var1 WHEN out-var2=val

+[TD=val] [RISE=r/LAST] [FALL=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/LAST] [FALL=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=val]

DC/AC/TRAN表示要进行测量法分析的类型,如果省略,最后分析模式将要求

假定一个;

result为在HSPICE输出中给出的测量值名;

FIND选择FIND功能;

WHEN选择WHEN功能;

out-var(1,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=(GOAL-result)/GOAL;

MINVAL如果GOAL的绝对值比MINVAL还小,则在ERRfun算式中以MINVAL取代GOAL值作为分母,默认值=1.0E-12;

WEIGHT为计算误差时要乘的加权值,默认值=1.0;

FIND和WHEN功能允许测量在出现一些指定的结果时的某些独立变量(时间,频率,参数),某些相关变量(电压或电流),或某些相关变量的导函数。这些测量语句在同一增益的频率或相位的测量中是有益的,也用于在两个信号彼此交叉时或一个信号越过一个常数值时测量时间,频率,或某些参数值,并从指定的延迟时间TD后开始测量。它可以通过设定RISE,FALL或CROSS到一个值(或参数)或到最后结果LAST来找到一个指定的结果。

④.估算方程的测量:

.MEASURE [DC/AC/TRAN] result PARAM=‘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/LAST] [FALL=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/LAST] [FALL=f/LAST] [CROSS=c/LAST] [TD=tdval] [GOAL=goval] +[MINVAL=minval] [WEIGHT=weighval]

DC/AC/TRAN表示要进行测量法分析的类型,如果省略,最后分析模式将要求

假定一个;

result为在HSPICE输出中给出的测量值名;

DERIVATIVE选择导函数功能,常简写为DERIV; out-var用于建立导函数的变量;

AT=val用于建立导函数out-var的值;

GOAL指明了在最佳条件下要求测量的值,其误差由下式计算:

ERRfun=(GOAL-result)/GOAL;

MINVAL如果GOAL的绝对值比MINVAL还小,则在ERRfun算式中以MINVAL取代GOAL值作为分母,默认值=1.0E-12;

WEIGHT为计算误差时在结果和GOAL之间要乘的加权值,默认值=1.0; WHEN选择WHEN功能;

Var(2,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=weighval]

DC/AC/TRAN表示要进行测量法分析的类型,如果省略,最后分析模式将要求

假定一个;

result为在HSPICE输出中给出的测量值名;