【HSPICE仿真】输入网表文件(6)用户自定义分析输出(.measure)

.measure语句的基本用法

  • 1. 语句顺序
  • 2. 测量参数类型
  • 3. Rise, Fall, Delay, and Power Measurements
  • 4. FIND 和 WHEN 函数
  • 5. Equation Evaluation/Arithmetic Expression
  • 6. AVG, EM_AVG, INTEG, MIN, MAX, PP, and RMS
    • 基本语法
    • 示例
  • 7. 输出文件格式
    • MEASFORM
    • MEASOUT
    • MEASFILE
    • MEASFAIL

.measure 处理对仿真输出的数据进行处理,对于成功完成的HSPICE仿真,可以使用.measure进行用户自定义分析,即输出一些自定义的电路电学特性。

可以输出的电学特性包括以下内容:

【HSPICE仿真】输入网表文件(6)用户自定义分析输出(.measure)_第1张图片

此外,.measure语句在电路的优化、模型参数拟合等方面也有特别的应用。

1. 语句顺序

measure语句会匹配该语句之前的最后一个分析命令,如下所示:

【HSPICE仿真】输入网表文件(6)用户自定义分析输出(.measure)_第2张图片
在上述实例中,meas会匹配第二个tran语句,并且只生成一个输出文件。

如果measure语句执行失败,HSPICE会在.mt#文件中写入0.0e0,在输出列表文件中写入 FAILED。可以使用.option measfail 来对失败提示语句做一些控制。

2. 测量参数类型

.measure 不能调用子电路中的参数。.measure 中的参数不能和标准参数重名。如果.measure 中定义的参数与.param 中的重名会报错。另外不同类型的参数重名不会引起错误。

(sa手册 P253 ,后面看完补充一下。)

3. Rise, Fall, Delay, and Power Measurements

measure语句的上升、下降和延迟测试模式可以独立变量(时间、温度或其他任意参数)在指定的起点和终点之间的差值,例如上升时间、下降时间,转换速率(slew rate)等。

基本语法

在这里插入图片描述

部分参数信息:

【HSPICE仿真】输入网表文件(6)用户自定义分析输出(.measure)_第3张图片
【HSPICE仿真】输入网表文件(6)用户自定义分析输出(.measure)_第4张图片
在瞬态分析中,你指定了起点和终点之后,就会测量者两个点之间的时间间隔。

对于延时、上升时间、下降时间的测量,还可以使用如下语法:

在这里插入图片描述
varname是用户自定义的变量名称,用于保存测量结果(TRIGTARG所描述事件之间的时间间隔。)

TRIG_SPECTARG_SPEC 的语法如下:

【HSPICE仿真】输入网表文件(6)用户自定义分析输出(.measure)_第5张图片

TRIG是测量起始点的关键字,TARG是测量终止点的关键字。

varVAL=val指的是,当参数var(电压、电流等)达到val的时候,开始或结束测量。

RISE=r,FALL=f指的是第r个上升沿,第f个下降沿的时候开始或结束测量。

这个几个语句和起来就是,仿真开始后,当varr次发生上升变化(或第f次发生下降变化)时,在其值达到val的时候,开始测量(或结束测量)。

cross=c就是当varc次达到val这个值的时候,开始或结束测量,这个就是就部分上升变化和下降变化了。

这里就涉及到从何时开始统计发生变化的次数TD=time_delay的作用就是来定义次数统计的开始时间。默认情况下,从仿真的0时刻开始统计,如果指定了该该参数,就是从仿真开始的time_delay是开始定义。比如,如果是想要在仿真开始后的10ns才开始统计var的达到某一个val出现的次数,那么就可以将TD设为10ns。

AT=time则是直接测量开始的时间,比如,在瞬态分析中,就是指定了测量开始时间,而不是次数统计的开始时间,在DC分析中,可以指定某个参数达到某个值的时候就开始测量。

示例1:

.MEASURE TRAN tdlay TRIG V(1) VAL=2.5 TD=10n RISE=2 
+ TARG V(2) VAL=2.5 FALL=2

上例用节点 1 和 2 的电压对瞬态分析的结果进行测量。
测量起始值是这样设置的,TD=10n 指延迟 10ns 开始计数,当到 V(1)到第二个上升变化,且电压值达到 2.5V 的时候开始测量。
测量目标值是这样设置的,当 V(2)到达第二个下降沿,且电压值达到 2.5V 的时候测量结束。输出结果是 tdlay=value。

示例2:

.MEASURE TRAN riset TRIG I(Q1) VAL=0.5m RISE=3 
+ TARG I(Q1) VAL=4.5m RISE=3 

示例3:
【HSPICE仿真】输入网表文件(6)用户自定义分析输出(.measure)_第6张图片

4. FIND 和 WHEN 函数

FINDWHEN 函数允许当某些事件发生的时候,测量任何独立变量(时间、频率、参数),非独立变量(电压、电流等)或者是非独立变量的微分值。对于测量单位增益带宽、相位等是有用的。

5. Equation Evaluation/Arithmetic Expression

对其它measure命令的测量结果做进一步的计算,方程的变量是measure声明所得的结果,一定不能是节点电压或者支路电流。

算术表达式的输入也需要是之前measure语句计算所得的结果。

6. AVG, EM_AVG, INTEG, MIN, MAX, PP, and RMS

这几种测量模式给出的是输出变量(电压、电流或功耗)的统计函数,而不是分析值。

AVG是平均值,计算的是输出变量下的面积除以指定的周期
RMS均方根值,计算的是输出变量下的面积的平方根除以指定的周期
MINMAX报告的分别是指定的时间间隔内输出函数的最小值和最大值
PP(peak to peak) 报告的是指定时间范围内,最大值和最小值的差值。
EM_AVG计算的是平均电迁移电流。

在DC数据扫描中,AVG,RMS,INTEG(积分)是无意义的,如果使用了,工具会给出 warning

基本语法

【HSPICE仿真】输入网表文件(6)用户自定义分析输出(.measure)_第7张图片

参数说明:

【HSPICE仿真】输入网表文件(6)用户自定义分析输出(.measure)_第8张图片

【HSPICE仿真】输入网表文件(6)用户自定义分析输出(.measure)_第9张图片
在这里插入图片描述
FROMTO就是设定func计算的起点和终点,在瞬态分析中就是时间。

在这里插入图片描述

没有说明的那几个参数是和优化相关的。

示例

【HSPICE仿真】输入网表文件(6)用户自定义分析输出(.measure)_第10张图片
【HSPICE仿真】输入网表文件(6)用户自定义分析输出(.measure)_第11张图片

7. 输出文件格式

通过一些.option选项,可以控制输出数据的格式。

MEASFORM

可以将相关数据输出为Excel工具可以打开的格式…
(之前没看到这里的时候,都是手动复制粘贴的,累死…)

【HSPICE仿真】输入网表文件(6)用户自定义分析输出(.measure)_第12张图片
这里,1 ,2,3,4都对应一些格式,具体可以参考命令手册。

【HSPICE仿真】输入网表文件(6)用户自定义分析输出(.measure)_第13张图片

MEASOUT

【HSPICE仿真】输入网表文件(6)用户自定义分析输出(.measure)_第14张图片

就是说,可以绘制测量值和扫描值之间的曲线图。

这个数据存放在mt#文件中,使用WaveView打开该文件就可以看到响应的曲线图。

该选项默认是打开的。

MEASFILE

有多个.alter语句存在的时候,输出是放在一个文件里面,还是多个文件里面。

【HSPICE仿真】输入网表文件(6)用户自定义分析输出(.measure)_第15张图片

MEASFAIL

【HSPICE仿真】输入网表文件(6)用户自定义分析输出(.measure)_第16张图片

【HSPICE仿真】输入网表文件(6)用户自定义分析输出(.measure)_第17张图片

你可能感兴趣的:(HSPICE,HSPICE)