您可以使用SPICE转换助手将SPICE组件转换为Simscape™等效组件。这种转换通常是自动的。但是,由于SPICE是一种丰富的语言,因此不可能总是在没有一些手动干预的情况下执行完全的转换。
要将Spice Subcircuits转换为等效的Simscape组件,请按照下列步骤操作。
使用subcircuit2ssc
函数从SPICE netlist文件生成Simscape语言组件文件。您可以使用可选的subcircuit1,…,subcircuitN
输入参数,用于指定要转换的子电路。
对生成的Simscape组件文件进行任何必要的手动转换。要确定所需的手动转换,请检查生成的Simscape组件文件的开头的注释。您可以使用可选的un金宝appsupportedCommands
生成的输出参数塑造
数组,列出每个子电路不支持的SPICE金宝app命令。
使用以下命令构建库ssc_build
或使用型号添加单个组件Simscape组件块。
有许多不同的SPICE模拟器,它们在语法和语法解释方面都有所不同。转换助手使用与Cadence相同的语法®PSPICE,存在这种差异,符合PSPICE。
Spice转换助理支持这些命令:金宝app
.func.
- 可重复使用的功能
.Param.
——可定义的参数
。模型
- 可重用组件参数集
.subckt.
——分支电路
. lib
- 指令包含来自外部网表的模型
。inc.
-指令包括外部网络列表的内容
转换助理实施.func.
使用Simscape功能的SPICE命令。这些函数被放置在名为+
,在那里subcircuit_name
_simscape_functionssubcircuit_name
正在被转换的子电路的名称。
指定。模型
电阻器、电容器和电感器的语法
.MODELres(r= ) .MODEL cap(c= ) .MODEL ind(l= )
r
,c
, 和l
值是组件声明中指定值的缩放因子。这种行为符合PSpice,但并不是所有模拟器都一致。
类指定的初始条件不会自动转换。我知道了
陈述。但是,您可以使用语法指定电容器和电感器的初始条件IC = <值>
。此外,您可以手动转换任何。我知道了
来自生成的Simscape组件文件的语句。
因为转换助手的目的是帮助将SPICE子电路转换为Simscape块,所以模拟命令,例如.TRAN
,将被忽略。
转换助理支持这些数字Spice后缀:金宝app
后缀 | 的名字 | 规模 |
---|---|---|
T |
塔拉 | 1 e12汽油 |
G |
千兆 | 1 e9 |
梅格 |
兆 | 1 e6 |
K |
公斤 | 1 e3 |
米 |
米里 | 1 e - 3 |
密尔 |
- | 25.4 e-6 |
U |
微 | 1 e-6 |
N |
纳米 | 1 e-9 |
P |
皮科 | 1 e-12 |
F |
毫微微 | 1 e15汽油 |
转换助手支持SPICE和MATLAB中使用的这些基金宝app本数学函数。
的名字 | 香料函数 | Matlab功能 |
---|---|---|
绝对值 | 腹肌 |
腹肌 |
最小的元素 | 最小值 |
最小值 |
最大的元素 | 最大限度 |
最大限度 |
符号函数 | 胡志明市 |
符号 |
的名字 | 香料函数 | Matlab功能 |
---|---|---|
正弦 | 罪 |
罪 |
逆正弦 | asin |
asin |
双曲正弦 | sinh |
sinh |
余辉 | COS. |
COS. |
逆余弦 | ACOS. |
ACOS. |
双曲线余弦 | c |
c |
切线 | 晒黑 |
晒黑 |
逆线 | : |
: |
四象限逆切 | atan2. |
atan2. |
双曲正切 | 塔尼 |
塔尼 |
的名字 | 香料函数 | Matlab功能 |
---|---|---|
权力 | ** 或者压水式反应堆 |
^ 或者权力 |
指数 | 经验值 |
经验值 |
自然对数 | LN. 或者日志 |
日志 |
八进制数数对数 | log10 |
log10 |
平方根 | SQRT. |
SQRT. |
转换助理翻译日志()
自然对数,而不是以10为底的对数。并非所有SPICE模拟器在这方面都是一致的,因此要确保这种解释与您的SPICE模型一致。
转换助手可以识别这些SPICE符号:
+
在一行的开始表示从上一行继续行
*
在一行的开头表示整行是注释
;
在一行中表示内联评论的开头
本节中的Spice命令表示说明:
<参数>
指命令行中所需的项目
<参数> *
指命令行中出现一次或多次的必需项
(论点)
指命令行中的可选项
[争论]*
参考命令行中的可选项目,其出现零或多次
此列表显示了受支持的SPICE组件的完整集合,以及它们受支持的S金宝appPICE netlist表示法。您只能指定。模型
与SPICE默认值不同的参数。
独立电压源
v<+节点> < - node> [dc] v <+ node> < - node> exp( )v <+节点> < - 节点>脉冲( )v <+ node> < - node> pwl(<< tj> > *)v <+节点> < - node> sffm( )v <+ node> <- 节点> SIN( ) 独立电流源
我<名称> < +节点> < - >节点(DC)价值> <我<名称> < +节点> < - >节点exp (< i1 > < i2 > < td1 > < tc1 > < td2 > < tc2 >)我<名称> < +节点> < - >节点脉冲(< i1 > < i2 > < td > < tr > < tf > < pw > < / >)我<名称> < +节点> < - >节点pwl (< < tj > < ij > > *)我<名称> < +节点> < - >节点sffm (< ioff > < iampl > < fc > < mod > <调频>)我<名称> < +节点> < - >节点罪(< ioff > < iampl > <频率> < td > < df >)电流控制电压源
H <名称> < +节点> < -节点> <电压源名称> <增加> H <名称> < +节点> < - >节点值={<表达式>}H <名称> < +节点> < - >节点聚(< >价值)<电压源名称> * <系数> * H <名称> < +节点> < - >节点表{<表达式>}= < <输入值>,<输出值> > * H <名称> < +节点> < -节点> <电压源名称>表= < <输入值>,<输出值> > *电压控制电压源
E<+节点> < - node> <+控制节点> < - 控制节点> <增益> e <+ node> < - node>值= {<表达式>} e <+节点> < - 节点>多( )<< +控制节点> < - 控制节点>> * <系数> * e <+ node> < - node>表{<表达式>} = <<我nput value>, 电流控制电流源
F <名称> < +节点> < -节点> <电压源名称> <增加> F <名称> < +节点> < - >节点值={<表达式>}F <名称> < +节点> < - >节点聚(< >价值)<电压源名称> * <系数> * F <名称> < +节点> < - >节点表{<表达式>}= < <输入值>,<输出值> > * F <名称> < +节点> < -节点> <电压源名称>表= < <输入值>,<输出值> > *压控电流源
g<+ node> < - node> <+控制节点> < - 控制节点> g <+节点> < - 节点>值= {<表达式>} g <+节点> < - 节点>多( )<< +控制节点> < - 控制节点>> * <系数> * g <+ node> < - node>表{<表达式>} = <<<我nput value>, >* G <+ node> <- node> <+ control node> <- control node> TABLE=< , >* 行为源(<表达式>不需要出现在大括号{}中)
b<+节点> < - node> v = <表达式> b <+ node> < - node> i = <表达式> 无源设备
电阻器
R<+ node> <- node> [model name] .MODEL res(R = ) 电容器
C<+ node> < - node> [型号名称] [ic = ] .model 帽(c = ) 电感器
L<+ node> <- node> [model name] [IC= ] .MODEL ind(L = ) 电感耦合
k<电感名称> * 开关
压控开关
S<+ node> <- node> <+ control node> <- control node> <- control node> .MODEL sw(ron= , roff= , vt= , vh= ) 电流控制开关
W<+ node> <- node> .MODEL csw(ron= , roff= , it= , ih= ) 半导体器件
二极管
D <名称> < +节点> < -节点> <模型名称>(地区)得<模型名称> D (rs = = <价值>,<价值>,n = > <价值,cjo = > <价值,vj = > <值,+ m = > <价值,fc = > <价值,tt = > <价值,revbrk = > <价值,bv = > <价值,ibv = > <值,+ xti = > <价值,如= < >价值)双极结晶体管(BJT)
NPN型
Q<收集节点> <基本节点> <发射器节点> [基板节点] <型号名称> <区域> .model <型号名> npn(bf = ,br = ,cjc = <值>,cje = ,cjs = ,+ eg = ,fc = ,ikf = ,ikr = ,irb = ,是= <值>,ISC = ,+ ISE = ,ITF = ,mjc = ,mje = ,mjs = ,nc = ,ne = ,+ nf = ,nr = ,rb = ,rbm = ,rc = ,re = ,tf = ,+ tr = ,vaf= , var= , vjc= , vje= , vjs= , vtf= , +xcjc= , xtb= , xtf= , xti= ) PNP型
Q <名称> <收集节点> <基本节点> <发射器节点> [基板节点] <型号名称> <区域> .MODEL <型号名称> PNP(BF =,BR = ,CJC = <值>,cje = ,cjs = ,+ eg = ,fc = ,ikf = ,ikr = ,irb = ,是= <值>,ISC = ,+ ISE = ,ITF = ,mjc = ,mje = ,mjs = ,nc = ,ne = ,+ nf = ,nr = ,rb = ,rbm = ,rc = ,re = ,tf = ,+ tr = ,vaf= , var= , vjc= , vje= , vjs= , vtf= , +xcjc= , xtb= , xtf= , xti= ) 结场效应晶体管(JFET)
n频道
njf(beta=<值>,cgd=<值>,cgs=<值>,fc=<值>,is=<值>,+lambda=<值>,m=<值>,n=<值>,rd=<值>,rs=<值>,vto=<值>,xti=<值>)p沟道
pjf(beta=<值>,cgd=<值>,cgs=<值>,fc=<值>,is=<值>,+lambda=<值>,m=<值>,n=<值>,rd=<值>,rs=<值>,vto=<值>,xti=<值>)金属氧化物半导体场效应晶体管
N-Channel(仅支持1级和3级)金宝app
m<漏极节点> <门节点> <源节点> <批量节点> <型号名称> + [l = ] [w = ] [ad = ] [AS = <值>] [pd = ] [ps = ] [nrd = ] + [nrs = ] [m = ] .model <型号名称> nmos(CBD = , cbs= , cgbo= , cgdo= , +cgso= , cj= , cjsw= , delta= , eta= , fc= , +gamma= , is= , js= , kappa= , kp= , lambda= , +ld= , level= , mj= , mjsw= , n= , neff= , nfs= , +nss= , nsub= , nrd= , nrs= , pb= , phi= , rd= , +rs= , rsh= , theta= , tox= , tpg= , ucrit= , +uexp= , uo= , vmax= , vto= , xj= ) p频道(支持仅限级别1和级别3)金宝app
M子系统
分支电路
X[node]* [PARAMS: = >*] 执行手工转换
在生成Simscape组件文件之后,检查每个文件头,查看与不支持的SPICE命令有关的消息。金宝app例如,转换助手不支持实现电阻的温度系数:金宝app
R1 p n 1k TC=0.01,-0.002生成的Simscape组件文件包含所有受支持的转换和此标题,该标题标识了用于手动转换的电阻的温度系数:金宝app
要完成转换,请修改Simscape组件文件以实现缺少的组件。有关执行手动转换和此特定场景的详细信息,请参见component test % test %由SPICE网表自动生成的组件(11-Dec-2018 09:34:57)。用户应该手动执行以下SPICE命令来实现一个完整的实现:% R1: tc 0.01 -0.002subcircuit2ssc
。寄生的价值观
对于电容和电感等无源设备,要在生成的Simscape组件文件中引入寄生值,请设置寄生指定值参数是的。的值电容器寄生串联电阻或者电感寄生并联电导参数。
限制
网表必须以PSPICE格式写入并进行句子正确。转换助理不会检查适当的PSPICE语法。
仅支持PSpice netlist语言的一个子集。金宝app但是,不支持的PSpi金宝appce命令被标识在相应的Simscape组件文件的顶部,以便于手动转换。
要将生成的Simscape组件构建到Simscape块中,参数值必须符合Simscape约束。例如,基电容的电容和基电感的电感必须是非零的。
转换助手不支持使用派生的SPICE函数,金宝app
DDT.
,在函数调用中。也可以看看
相关话题