Spice语法及调用

常用的SPICE仿真软件为方便用户使用都提供了较好的用户界面,在用仿真库中的元器件连成原理图后就可以进行仿真(当然要设置必要的仿真参数),但实际上只是用原理图自动产生了SPICE的格式语句,还是要通过读取语句来进行仿真,这是历史的遗留问题。
在当时的技术条件下,不能用图形方式输入电路结构,只能通过文本文件来描述,也就是所谓网表。SPICE软件的设计者规范了要进行仿真的电路对应的SPICE网表文件格式,还定义了许多仿真描述语句和分析控制语句等,使仿真软件能通过读取这些特殊信息来进行相关计算和运行,最后获得要求的结果。
因为技术的进步,虽然现在已经不需要手工书写并输入网表了,但了解一些基本语句还是很有用的,不仅可以理解仿真时要设置的那些参数的含义,而且在出错时还易于通过网表来排错。

SPICE网表文件是文本文件,默认的输入文件名为:.cir
因为目前各个版本的SPICE软件都已图形化,并增加了很多功能,所以产生的语句顺序和格式有了一些变化,但主要是以
开头的注释语句的不同变化,便于阅读和模块化,而基本的语句变化不大,包括以下几种:

  1. 标题语句:网表文件第一行为标题语句,由任意字符串和字母组成,软件并不处理,而是直接在输出文件中作为第一行打印出来
  2. 注释语句:由*开头的字符串,为文件的说明部分,为方便阅读而在自动产生的SPICE网表文件中大量存在
  3. 电路描述语句:定义电路拓扑结构和元器件参数的语句,由元器件描述语句、模型描述语句、电源语句等组成
  4. 电路特性分析和控制语句:以.开头的语句,描述要分析的电路特性及控制命令
  5. 结束语句:即.END ,标志电路描述语句的结束,在文件最后一行
    (最后将会给出SPICE网表文件的例子)

一、电路描述语句:是SPICE网表文件中最多也最复杂的,有以下一些规定:

  1. 名称:为字符串,只有前8个字符有效,其中第一个字符必须为A–Z的字符,且有固定含义,对应不同类型的元件
    Spice语法及调用
  2. 分隔符:有空格、逗号、等号、左括号、右括号等
  3. 续行号:“+”,一行最多只能有80字符,如一行无法表达完全,可在第二行起始加+号,表示是前一行的继续
  4. 单位:使用国际标准单位制,语句中缺省
  5. 规定支路电流的正方向和支路电压的正方向一致
  6. 节点编号:可以是任意的数字或字符串,节点0规定为地,不允许有悬浮的节点,即每个节点对0节点都必须有直流的通路。当实际电路不满足这个要求时,可在悬浮节点与地之间接一个大电阻(如1G).
    8)不能分析的问题:电压源回路、电感回路、电压源和电感组成的回路、隔断的电流源和(或)电容

以下分别介绍一些常见的电路描述语句:

  1. 无源元件描述语句:由元件名、元件连接的节点号、元件的参数值组成

1.1 电阻描述语句:RXXXXXXX N+ N- <(MODEL)NAME> VALUE <TC=TC1 >
其中:RXXXXXXX 元件名称
N+ N- 电阻两端的节点号,当电阻上加正电压时,电流从N+流向N-
(MODEL)NAME 可选项,指出电阻将用上后面由.MODEL语句定义的模型
VALUE 电阻值,单位Ohm
TC=TC1 可选的温度系数,TC1 TC2分别是一阶、二阶温度系数
1.1.1 电阻的温度公式:VALUE(T)=RR0[1+TC1(T-T0)+TC2*(T-T0)*(T-T0)]
其中:R0为电阻描述语句中的阻值,T0为常温300K
1.1.2 电阻模型语句:.MODEL MNAME RES R=PVAL1 <TC1=PVAL2> <TC2=PVAL3> <TCE=PVAL4>
其中:RES为电阻模型关键字,R定义电阻倍乘系数,TCE定义指数温度系数
1.1.3 例句:R4 0 3 RMOD 100
.MODEL RMOD RES(R=2 TC1=0.1 TC2=0.01)

1.2 电容电感描述语句:CXXXXXXX N+ N- <(MODEL)NAME> VALUE <IC=INCOND>
LXXXXXXX N+ N- <(MODEL)NAME> VALUE <IC=INCOND>
其中:VALUE为电容电感的值,不能为零
IC规定初始条件,仅在瞬态分析语句中设关键字UIC时赋值才有意义
1.2.1 电容电感模型语句:.MODEL MNAME CAP(C=PVAL1 VC1=PVAL2 VC2=PVAL3 TC1=PVAL4 TC2=PVAL5)
.MODEL MNAME IND(L=PVAL1 IL1=PVAL2 IL2=PVAL3 TC1=PVAL4 TC2=PVAL5)
其中:C、L定义电容电感的倍乘系数
VC1、VC2分别是电容的一阶、二阶电压系数
IL1、IL2分别是电感的一阶、二阶电流系数
TC1、TC2分别是电容、电感的温度系数
1.2.2 电容电感的求值公式:C(V)=C0C(1+VC1V+VC2VV)
L(I)=L0L(1+IL1I+IL2II)
其中:C0、L0分别是元件描述语句中的值
1.2.3 电容电感的温度公式与电阻的温度公式类似

1.3 互感描述语句:KXXXXXXX LYYYYYYY LZZZZZZZ … VALUE <(MODEL)NAME> <(SIZE)VALUE>
其中:KXXXXXXX、LYYYYYYY、LZZZZZZZ是两个耦合电感的名称,也可以将多个耦合电感按顺序写下去
VALUE为耦合系数的值,且0<VALUE<1,耦合规则通常在每个电感的第一个节点上加’.’, 作为同名端
(MODEL)NAME为模型名,指出将用上后面由.MODEL语句定义的模型
(SIZE)VALUE用来定义磁芯的截面积的大小,缺省值为1
1.3.1 磁芯的模型语句:.MODEL MNAME CORE AREA=PVAL1 PATH=PVAL2 GAP=PVAL3 PACK=PVAL4 MS=…

Spice语法及调用

2.3 MOS场效应晶体管描述语句:MXXXXXXX ND NG NS NB MNAME <L=VAL> <W=VAL> <AD=VAL> <AS=VAL> <PD=VAL> <PS=VAL>
+<NRD=VAL> <NRS=VAL> <IC=VDS,VGS,VBS>
其中:ND NG NS NB分别是MOS场效应晶体管的漏极、栅极、源极和衬底所在的节点
MNAME为MOS场效应晶体管的模型名,为必选项
L W分别是MOS场效应晶体管沟道的长、宽
AD AS为漏极和源极的扩散区的面积
PD PS为漏极和源极的周长
NRD NRS为漏极和源极扩散区等效电阻的方块数
OFF为直流分析时初始条件
IC为瞬态分析时初始条件
2.3.1 MOS场效应晶体管模型语句:.MODEL MNAME NMOS(OR PMOS) (PNAME=PVAL1 PNAME=PVAL2 …)
MOS场效应晶体管模型有两种类型,NMOS PMOS分别为其模型关键字,后面为参数序列,一般模型参数有40–60个,大多为工艺参数
MOS场效应晶体管模型有四个级别,用语句LEVEL来指定,缺省时LEVEL=1
LEVEL=1 Shichman-Hadges模型
LEVEL=2 基于几何图形的一种二维分析模型
LEVEL=3 半经验短沟道模型
LEVEL=4 亚微米BSIM模型
2.3.2 因MOS场效应晶体管模型的参数较多(40–60个)而且较复杂,很多与制造工艺有关,涉及太多微电子的知识,就不再列出了
系统级使用时一般使用相关制造厂商或第三方提供的模型参数

2.4 结型场效应晶体管描述语句:JXXXXXXX ND NG NS MNAME

<IC=VDS,VGS>
其中:ND NG NS分别是结型场效应晶体管的漏极、栅极、源极所在的节点
MNAME为结型场效应晶体管的模型名,为必选项
AREA为面积因子
OFF为直流分析时初始条件
IC=VDS,VGS为瞬态分析时初始条件
2.4.1 结型场效应晶体管模型语句:.MODEL MNAME NJF(OR PJF) (PNAME=PVAL1 PNAME=PVAL2 …)
结型场效应晶体管模型有两种类型,NJF PJF分别为其模型关键字,后面为参数序列,一般模型参数有20多个,
结型场效应晶体管模型的参数也不再列出了,一般使用相关制造厂商或第三方提供的模型参数

2.5 GaAs场效应晶体管描述语句:BXXXXXXX ND NG NS MNAME

<IC=VDS,VGS,VBS>
其中:ND NG NS分别是GaAs场效应晶体管漏极、栅极、源极所在的节点
MNAME为结型场效应晶体管的模型名,为必选项
AREA为面积因子
OFF为直流分析时初始条件
IC=VDS,VGS,VBS为瞬态分析时初始条件
2.5.1 GaAs场效应晶体管模型语句:.MODEL MNAME GASFET (PNAME=PVAL1 PNAME=PVAL2 …)
GASFET为GaAs场效应晶体管模型的关键字,后面为参数序列,一般模型参数约30个
GaAs场效应晶体管模型有三个级别,用语句LEVEL来指定,缺省时LEVEL=1
LEVEL=1 Curtice模型
LEVEL=2 Statz或Raytheon模型
LEVEL=3 Triquint模型
GaAs场效应晶体管模型的参数也不再列出了,一般使用相关制造厂商或第三方提供的模型参数

2.6 数字电路器件描述语句:
UXXXXXXX [()]
+

+<I/OMODEL NAME> [MNTYMXDLY=]
+[I/O-LEVEL=]

2.6.1 子电路描述语句:以.SUBCKT作为开始,以.END作为结束的一组语句,作为以X开始的元件
2.6.1.1 子电路定义开始语句:.SUBCKT N1 <N2 N3 …>
其中:SUBNAME是子电路名称
N1 N2 N3等是子电路外部节点号
2.6.1.2 子电路结束语句:.ENDS
表示结束SUBNAME子电路或结束所有子电路定义

2.7 元器件库调用语句:.LIB
其中:filename为库文件名,必须带扩展名.lib,缺省名为nom.lib,列出所有库文件

  1. 电源描述语句:

3.1 独立电源描述语句:
独立电压源描述语句:VXXXXXXX N+ N- <(DC)DC/TRAN VALUE> <AC (ACMAG (ACPHASE))>
独立电流源描述语句:IXXXXXXX N+ N- <(DC)DC/TRAN VALUE> <AC (ACMAG (ACPHASE))>
参数含义:N+ N-为电源的正负节点,电流源的电流正方向为使电流从N+节点流出并流入N-节点
DC/TRAN VALUE指电源的直流或随时间变化的瞬时值,缺省为0
独立电源按直流、交流、瞬态源等可细分为如下几种:
3.1.1 直流电源:
直流电压源:VXXXXXXX N+ N- [DC] VALUE
直流电流源:IXXXXXXX N+ N- [DC] VALUE
3.1.2 交流电源:
交流电压源:VXXXXXXX N+ N- AC <ACMEG >
交流电流源:IXXXXXXX N+ N- AC <ACMEG >
其中:ACMEG为正弦波幅值,缺省值为1
ACPHASE为正弦波的初始相位,缺省为0
3.1.3 瞬态电源:
脉冲电压源:VXXXXXXX N+ N- PULSE (V1 V2 TR TF PW PER)
脉冲电流源:IXXXXXXX N+ N- PULSE (I1 I2 TR TF PW PER)
其中:V1 I1为起始值
V2 I2为脉动值
TD为延迟时间,缺省值为0
TR为上升时间,缺省值为TSTEP
TF为下降时间,缺省值为TSTEP
PW为脉冲宽度,缺省值为TSTOP
PER为周期,缺省值为TSTOP
(TSTEP TSTOP为瞬态分析时的步长和中止时间)

Spice语法及调用
Spice语法及调用
原作者文章地址:http://dwenzhao.blog.sohu.com/104439874.html

来源:卡卡莫莱维

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年2月2日
下一篇 2020年2月2日

相关推荐