戴夫来自 DesignSpark
How do you feel about this tutorial? Help us to provide better content for you.
戴夫来自 DesignSpark
Thank you! Your feedback has been received.
戴夫来自 DesignSpark
There was a problem submitting your feedback, please try again later.
戴夫来自 DesignSpark
What do you think of this tutorial?
本教程需要:
DesignSpark Circuit SimulatorDesignSpark Circuit Simulator 允许您指定可用作元件属性值的全局参数(变量)。本教程将说明为什么这很有用,以及如何这样做。
参数算术函数和运算符
DesignSpark Circuit Simulator 支持大量算术函数和运算,可计算复杂的元件参数值。这些函数和运算可用于在原理图中定义全局参数,或在 SPICE 模型内部使用。
内置功能
SQRT (val) | val 的平方根 |
LOG(val) | val 的纳皮尔对数 |
LOG10(val) | val 的十进制对数 |
DB(val) | val 的 DB 中的值 (20xLog10(val)) |
EXP(val) | val 的指数 |
COS(val) | val 的余弦值,其中 val 的单位为弧度 |
SIN(val) | val 的正弦值,其中 val 的单位为弧度 |
TAN(val) | val 的正切值,其中 val 的单位为弧度 |
ACOS(val) | val 的反余弦值,其中 val 的单位为弧度 |
ASIN(val) | val 的反正弦值,其中 val 的单位为弧度 |
ATAN(val) | val 的反正切值,其中 val 的单位为弧度 |
COSH(val) | val 的双曲余弦值 |
SINH(val) | val 的双曲正弦值 |
TANH(val) | val 的双曲正切值 |
SGN(val) | 如果 val>0,返回 +1,如果 val=0,返回 0,如果 val<0,返回 -1 |
SIGN(val) | 如果 val 为正值或空,返回 +1,否则返回 -1 |
SIGN(val1, val2) | 返回 ABS(val1)*SGN(val2) |
PWR(val1, val2) | 对 val1 的绝对值取 val2 值的幂,采用 val1 的符号 |
POW(val1, val2) | 对 val1 的值取 val2 整数部分的幂 |
ABS(val) | val 的绝对值 |
INT(val) | val 的整数值(相当于 TRUNC) |
TRUNC(val) | val 的截断值(实际值的整数部分) |
ROUND(val) | 将 val 的值四舍五入到最接近的整数 |
MIN(val1, ... valn) DMIN(val1,...valn) | 返回 val1 到 valn 的最小值。可指定的数值数量没有限制 |
MAX(val1, ...valn) DMAX(val1,...valn) | 返回 val1 到 valn 的最大值。可指定的数值数量没有限制 |
DERIV(val) | 返回 val 的导数 |
REAL() | 返回复数的实部 |
IMAG() | 返回复数的虚部 |
MAGNITUDE() | 返回复数的大小 |
CONJ() | 返回复数的共轭 |
COMPLEX(a, b) | 返回以“a”为实部、“b”为虚部的复数 |
DDT(val) | 返回 val 的导数 |
IDT(val) | 返回 val 的积分 |
LIMIT(a,b,c) | 如果 a<b 则返回 b,如果 a>c 则返回 c,否则返回 a |
BITOF(a,b) | 如果参数整数值的位 b 为“1”,则返回“1”。如果参数 a 的整数值的 b 位为“0”,则返回“0” |
PWL(xvalue, interp, x1, y1, ...xn, yn) | 返回输入值 xvalue 处的等效输出值,interp=0|1 指定是用 y 值进行线性插值(1)还是不进行线性插值(0)。xn 和 yn 用于计算等效输出值 |
算术运算符
^ (or**) | 加幂 |
* | 乘 |
/ | 除 |
+ | 加 |
- | 减 |
布尔运算符
运算符 | 意义 |
!= | 不等于 |
== | 等于 |
< | 小于 |
<= | 小于或等于 |
> | 大于 |
>= | 大于或等于 |
|| | OR 或运算符 |
&& | AND 与运算符 |
按位运算符
运算符 | 意义 |
& | 按位与运算符 |
| | 按位或运算符 |
<< | 按位左移运算符 |
>> | 按位右移运算符 |
表达式的条件求值
函数 | 意义 |
VALIF(condition, expression 1, expression2) | 如果条件为真,返回表达式 1,否则返回表达式 2 |
EVAL(condition?expression1:expression2) | 如果条件为真,返回表达式 1,否则返回表达式 2 |
如何设置全局参数
按下面的步骤设置全局参数:
- 点击原理图工具栏上的设计设置图标。
- 点击Global Parameters全局参数。
- 在表格对话框的相应字段中输入参数名称和值。
参数名称不能包含"Error"字符串。
全局参数值和表达式
如图所示,全局参数可以是简单的数字或数学表达式。在其他全局参数表达式中也可以引用全局参数名称。
关闭全局参数对话框时,将运行检查以确定所有表达式是否有效。如果遇到任何问题,将显示错误消息。
如果您遇到任何问题
如果在使用全局参数对话框时遇到任何问题,可以按以下方法手动添加数据:
- 关闭已打开的全局参数对话框。
- 点击Simulation Settings模拟设置>Advanced Options高级选项
- 直接在手动选项文本框中输入全局参数。
格式如下:
.param name1 = value1 ! optional comment1
.param name2 = value2 ! optional comment2
例如:
.param res1 = pow(a, 3) ! 求 a 的三次方