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

SPICE网表文件是文本文件,默认的输入文件名为:*.cir
因为目前各个版本的SPICE软件都已图形化,并增加了很多功能,所以产生的语句顺序和格式有了一些变化,但主要是以*开头的注释语句的不同变化,便于阅读和模块化,而基本的语句变化不大,包括以下几种:
1) 标题语句:网表文件第一行为标题语句,由任意字符串和字母组成,软件并不处理,而是直接在输出文件中作为第一行打印出来
2) 注释语句:由*开头的字符串,为文件的说明部分,为方便阅读而在自动产生的SPICE网表文件中大量存在
3) 电路描述语句:定义电路拓扑结构和元器件参数的语句,由元器件描述语句、模型描述语句、电源语句等组成
4) 电路特性分析和控制语句:以.开头的语句,描述要分析的电路特性及控制命令
5) 结束语句:即.END ,标志电路描述语句的结束,在文件最后一行
(最后将会给出SPICE网表文件的例子)

一、电路描述语句:是SPICE网表文件中最多也最复杂的,有以下一些规定:
1) 名称:为字符串,只有前8个字符有效,其中第一个字符必须为A--Z的字符,且有固定含义,对应不同类型的元件

2) 数字:有几种形式,整数、浮点数、整数或浮点数加上整数指数、浮点数或整数后面加上比例因子
         常用的比例因子:有T、G、MEG、K、M、U、N、P、F、MIL等,不分大小写

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

以下分别介绍一些常见的电路描述语句:
1. 无源元件描述语句:由元件名、元件连接的节点号、元件的参数值组成

1.1 电阻描述语句:RXXXXXXX N+ N- <(MODEL)NAME> VALUE <TC=TC1 <TC2>>
        其中:RXXXXXXX        元件名称               
              N+ N-           电阻两端的节点号,当电阻上加正电压时,电流从N+流向N-
              (MODEL)NAME     可选项,指出电阻将用上后面由.MODEL语句定义的模型
              VALUE           电阻值,单位Ohm
              TC=TC1 <TC2>    可选的温度系数,TC1 TC2分别是一阶、二阶温度系数
1.1.1 电阻的温度公式:VALUE(T)=R*R0[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)=C0*C(1+VC1*V+VC2*V*V)
                          L(I)=L0*L(1+IL1*I+IL2*I*I)
           其中: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=...

1.4 无损传输线描述语句:TXXXXXXX N1 N2 N3 N4 Z0-VALUE <TD=VALUE> <F=FREQ <NL=NRMLEN>>
                        +<IC=V1,I1,V2,I2>
              其中:无损传输线是二端口器件,N1、N2是端口1的正负节点,N3、N4是端口2的正负节点
                    Z0是特性阻抗
                    TD是传输延迟,频率F及在频率F时相对于传输波长的归一化电学长度NL可用来确定延迟,两种表示方式要选一种
                    IC确定每个端口的电压和电流,只在瞬态分析中用到(加UIC时)

1.5 电压控制开关描述语句:SXXXXXXX N+ N- NC+ NC- <(MODEL)NAME>
            其中:N+ N-分别是开关的正负节点
                  NC+ NC-分别是控制端的正负节点
                  (MODEL)NAME为模型名,指出将用上后面由.MODEL语句定义的模型
1.5.1 电压控制开关模型语句:.MODEL NAME VSWITCH RON=PVAL1 ROFF=PVAL2 VON=PVAL3 VOFF=PVAL4
            其中:VSWITCH为压控开关模型的关键字
                  RON定义开关的导通电阻,缺省为1欧姆
                  ROFF定义开关的关断电阻,缺省为1兆欧姆
                  VON定义开关导通的阈值电压
                  VOFF定义开关关断的阈值电压
1.6 电流控制开关的描述语句:WXXXXXXX N+ N- VNAME <(MODEL)NAME>
            其中:N+ N-分别是开关的正负节点
                  VNAME是控制电流流过的电压源的名称 
                  (MODEL)NAME为模型名,指出将用上后面由.MODEL语句定义的模型
1.6.1 电流控制开关模型语句:.MODEL ISMOD ISWITCH RON=PVAL1 ROFF=PVAL2 ION=PVAL3 IOFF=PVAL4
              其中:ISWITCH为流控开关模型的关键字
                    ION为导通的阈值电流
                    IOFF为关断的阈值电流

2. 有源元件描述语句:

2.1 二极管描述语句:DXXXXXXX N+ N- MNAME <AREA> <OFF> <IC=VD>
          其中:N+ N-为二极管的正负节点
                MNAME为二极管的模型名,为必选项
                AREA为面积因子
                OFF为直流分析时的初始条件
                IC=VD为瞬态分析时的初始条件
2.1.1 二极管的模型语句:.MODEL MNAME D(PNAME1=PVAL1 PNAME2=PVAL2 ...)
              其中:D为二极管模型的关键字,后面为二极管参数序列,一般二极管模型参数有15--25个
2.1.2 半导体二极管的参数表(带*的受面积参数影响):

2.2 双极型晶体管描述语句:QXXXXXXX NC NB NE <NS> MNAME <AREA> <OFF> <IC=VBE,VCE>
                其中:NC NB NE NS分别是双极型晶体管的集电极、基极、发射极以及衬底所在节点,NS缺省表示衬底接地
                      MNAME为双极型晶体管的模型名,为必选项
                      AREA为面积因子
                      OFF为直流分析时初始条件
                      IC=VBE,VCE为瞬态分析时初始条件
2.2.1 双极型晶体管模型语句:.MODEL MNAME NPN(OR PNP) (PNAME=PVAL1 PNAME=PVAL2 ...)
      双极型晶体管模型有两种类型,NPN PNP分别为其模型关键字,后面为参数序列,一般双极型晶体管模型参数有40多个
2.2.2 双极型晶体管模型的参数表(带*的受面积参数影响):

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> <OFF> <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 <AREA> <OFF> <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 <AREA> <OFF> <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 <NAME> <PRIMITIVE TYPE> [(<PARAMETER VALUE>*)]
        +<DIGITAL POWER NODE> <DIGITAL GROUND NODE> <NODE>*<TIMING MODELNAME>
        +<I/OMODEL NAME> [MNTYMXDLY=<DELAY SELECT VALUE>]
        +[I/O-LEVEL=<INTERFACE SUBKET SELECT VALUE>]
            
        UXXXXXXX <STIM (WIDTH)VALUE,(FORMAT)VALUE> <NODE>*<(I/O)MODEL NAME>
        +<TIMESTEP=(STEPSIZE)VALUE> <WAVEFORM DESCRIPTION>
    前一种表示数字电路,名称后是类型、参数值、节点、定时模型名、输入输出模型名
    后一种表示激励波形发生器,将规定的激励加到指定的节点上
2.6.1 子电路描述语句:以.SUBCKT作为开始,以.END作为结束的一组语句,作为以X开始的元件
2.6.1.1 子电路定义开始语句:.SUBCKT <SUBNAME> N1 <N2 N3 ...>
              其中:SUBNAME是子电路名称
                    N1 N2 N3等是子电路外部节点号
2.6.1.2 子电路结束语句:.ENDS <SUBNAME>  
        表示结束SUBNAME子电路或结束所有子电路定义

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

3. 电源描述语句:

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 <ACPHASE>>
          交流电流源:IXXXXXXX N+ N- AC <ACMEG <ACPHASE>>
              其中: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为瞬态分析时的步长和中止时间)


3.1.4 瞬态正弦电源:
          瞬态正弦电压源:VXXXXXXX N+ N- SIN (V0 VA F TD THETA)
          瞬态正弦电流源:IXXXXXXX N+ N- SIN (I0 IA F TD THETA)
              其中:V0 I0为偏置值
                    VA IA为振幅
                    F为频率,缺省值为1/TSTOP
                    TD为延迟时间,缺省为0
                    THETA为阻尼时间,缺省为0
          正弦曲线表达式:V(T)=V0+VA*SIN(2*PI*(F*(T-TD)+PHASE/360))*EXP(-(T-TD)*THETA)
                          I(T)=I0+IA*SIN(2*PI*(F*(T-TD)+PHASE/360))*EXP(-(T-TD)*THETA)
3.1.5 瞬态指数电源:
          瞬态指数电压源:VXXXXXXX N+ N- EXP(V1 V2 TD1 TAU1 TD2 TAU2)
          瞬态指数电流源:IXXXXXXX N+ N- EXP(I1 I2 TD1 TAU1 TD2 TAU2)
              其中:V1 I1为初始值
                    V2 I2为终止值
                    TD1为上升延迟时间,缺省为0
                    TAU1为上升时间常数,缺省为TSTEP
                    TD2为下降延迟时间,缺省为TD1+TSTEP
                    TAU2为下降时间常数,缺省为TSTEP
3.1.6 分段线性电源:
              分段线性电压源:VXXXXXXX N+ N- PWL (T1 V1 <T2 V2 T3 V3 T4 V4 ...>)
              分段线性电流源:IXXXXXXX N+ N- PWL (T1 I1 <T2 I2 T3 I3 T4 I4 ...>)
3.1.7 瞬态单调调频电源:
          瞬态单调调频电压源:VXXXXXXX N+ N- SEFM (V0 VA FC MDI FS)
          瞬态单调调频电流源:IXXXXXXX N+ N- SEFM (I0 IA FC MDI FS)
                  其中:V0 I0为偏置
                        VA IA为幅度
                        FC为载波频率,缺省值为1/TSTOP
                        MDI为调制系数
                        FS为信号频率,缺省值为1/TSTOP
          调频曲线表达式:V(T)=V0+VA*SIN[(2*PI*FC*T)+MDI*SIN(2*PI*FS*T)]

3.2 线性受控源描述语句:
3.2.1 压控电压源:EXXXXXXX N+ N- NC+ NC- VALUE
          其中:NC+ NC-为控制电压支路的正负节点
3.2.2 压控电流源:GXXXXXXX N+ N- NC+ NC- VALUE
3.2.3 流控电流源:HXXXXXXX N+ N- VNAME VALUE
          其中:VNAME为控制电流流过的电压源的名称
3.2.4 流控电流源:FXXXXXXX N+ N- VNAME VALUE
          
二、分析语句:
1. 直流分析:
1.1 直流工作点分析:.OP
1.2 直流扫描分析:.DC <TYPE> VAR START STOP INC <VAR2 START2 STOP2>
          其中:TYPE为扫描类型,线性为LIN、数量级为DEC、倍频程为OCT、列表为LIST
                VAR为扫描变量
                START STOP为扫描变化范围
                INC是扫描步长或者点数,必须为正数
                VAR2是第二个扫描变量(外循环),可选项
1.3 直流小信号传输函数分析:.TF OUTVAR INSRC
          其中:OUTVAR为输出变量
                INSRC为小信号输入源名称
1.4 直流小信号灵敏度分析:.SENS
1.5 节点电压设置:.NODESET

2. 交流小信号分析:.AC TYPE Nx FSTART FSTOP
2.1 主要的3种形式:线性   .AC LIN NP FSTART FSTOP
                     数量级 .AC DEC ND FSTART FSTOP
                     倍频程 .AC OCT NO FSTART FSTOP
        其中:NP为步长
              ND为变化点数
              NO为变化点数
2.2 噪声分析:.NOISE OUTV INSRC NUMS
        其中:OUTV为某节点上总的噪声输出电压
              INSRC为作噪声输入基准的独立电压源或独立电流源名
              NUMS为频率间隔点数,在每个频率处打印出电路中每个噪声源的贡献

3. 瞬态分析:
3.1 时域波形分析:.TRAN TSTART TSTOP DISPSTART STEPMAX
          其中:TSTART为起点时间
                TSTOP为终点时间
                DISPSTART为显示起点
                STEPMAX为瞬态分析最大步长,可缺省而由系统选
3.2 傅立叶分析:.FOUR FREQ OV1 <OV2 OV3 ...>
            其中:FREQ为基频
                  OV1 OV2 OV3为要求的输出变量
3.3 瞬态初始条件设置:.IC

4. 综合分析:
4.1 最坏情况分析:.WCASE (ANALYSIS) (OUTVAR) <FUNCTION> <OPTION>
              其中:ANALYSIS为DC/AC/TRAN中的一种
                    OUTVAR为输出变量,电压、电流等
                    FUNCTION为求值函数,有多种选择
                    OPTION为输出形式,LIST列每次运行模型参考值,OUTPUT输出文件或图形
4.2 蒙特卡罗分析:.MC (RUNSVAL) (ANALYSIS) <OUTPUTVAR> <FUNCTION> <OPTION>
              其中:RUNSVAL为运行次数
                    OUTPUTVAR为输出变量,电压、电流等
4.3 参数扫描分析:.STEP
          有3种类型:线性扫描         .STEP (LIN) VAR START STOP INC
                     数量级倍频程扫描 .STEP <DEC> <OCT> VAR START STOP ND
                     列表扫描         .STEP VAR LIST VAL1 <VAL2 ...>
          其中:INC为步长
                ND为变化点数
4.4 温度分析:.TEMP

三、控制语句:
1. 常用的控制语句如下:
1) 别名设置语句:.ALIASES和.ENDALIAS,中间为设置内容
2) 文本输出文件中打印:.PRINT
3) 文本输出文件中绘图:.PLOT
4) 绘图软件包调用:.PROBE
5) 参数及表达式设置:.PARAM (NAME1=VALUE1) <NAME2=VALUE2> ...
          其中的VALUE也可用表达式EXPR
6) 选择项设置:.OPTION
7) 函数定义:.FUNC
2. PSPICE中的PROBE控制语句:当输入文件中加入了.PROBE控制语句后,扫描计算结果存入*.dat文件中,可直观观察扫描结果
PROBE自动将横坐标设为扫描变量,纵坐标需手动添加
PROBE提供Cursor工具,方便使用鼠标的左右键控制两个光标,沿选定曲线进行测量,还有小窗口显示光标对应的值还有两光标间的差值

四、PSPICE中的变量扫描:对一些仿真参数,PSPICE可设置为变量,通过设置其变化范围,仿真出不同的结果,以便进行对照以选择最佳值
如:可把双极型晶体管的偏置电阻设为变量,仿真出不同偏置电阻值时的放大系数及集电极电流等参数,最终可选择最佳的偏置电阻值
可进行变量扫描的参数如下:
1) 独立源类:任何独立电压源和独立电流源都可以作为扫描变量
2) 模型参数类:任何一个.MODEL中描述的模型参数都可作为扫描变量,如温度系数、场效应管的沟道长度和宽度等
3) 温度变量:以TEMP作为扫描变量,可以观察在不同温度下的电路特性
4) 总体参数:对元器件值扫描,必须通过模型的设置来实现
熟练使用参数的变量扫描,可大大提高仿真效率

五、SPICE软件的适用范围及缺点:
1) SPICE是进行元器件级的仿真,对含元器件少的功能较单一的电路进行仿真较合适和准确,比如放大器、调制器等,但对结构复杂且器件较多的电路进行分析则比较费时,结果也可能偏离较大。
2) Spice采用变步长算法,对于周期性开关状态变化的电力电子电路而言,将造成把大量的时间耗费在寻求合适的步长上面,从而导致计算时间的延长。 
3) SPICE的器件模型都是针对小功率电子器件的,而对于电力电子电路中所用的大功率器件存在的高电压、大注入现象不尽适用,有时甚至可能导致错误的结果。
4) SPICE的另一问题是仿真的收敛性问题,在对复杂电路进行仿真时,有时数据的准确性较低,甚至常出现不能收敛而导致仿真失败。SPICE软件更适合模拟电路仿真,可以做一些简单的数字电路仿真,但用于数模混合电路时很容易出问题。
5) SPICE模型的分析精度主要取决于模型参数的来源(即数据的精确性),以及模型方程式的适用范围,而模型方程式与各种不同的数字仿真器相结合时也可能会影响分析的精度。
6) SPICE对元器件模型的依赖性很大,但这些参数通常都属于设计者和制造商的知识产权和机密,常因缺乏模型导致仿真无法实现。目前美国、欧洲的半导体厂商的分立元件的SPICE模型较多,特别是著名厂商网站上都可下载,但日本生产的元件就很少有模型,而IC的模型更是少得多,通常还要购买。
7) SPICE最早主要是为集成电路设计开发的,半导体模型参数设计太多工艺参数和材料特性,而不是用户手册上的使用参数,使用非常不便,在遇到模型库中未有的元件时,就难以仿真。虽然一些公司的SPICE软件也有新建元器件模型的界面,如PSPICE,但因参数涉及很多微电子专业的术语,使用者不容易理解和转换。
8) 因各方面原因,仿真结果与实际调试出的电路的测试结果都有一些误差,而且常常在50%以上。
9) SPICE在应用于一些脉冲电路时,如方波发生器、多谐振荡器、单稳触发器、迟滞比较器等,也常常无法得到正确结果。
10) 许多谐振器和振荡器电路都难以仿真。
11) RF电路仿真能力较差,阻抗匹配和阻抗园图等都难以使用,各种端口参数也难以实现。
12) 在磁性元件的模型方面Spice也有待加强。

六、SPICE网表文件的实例:
1. 是软件AIM-Spice附带的实例,而直观的原理图却没有提供,可自己试着画出来
(AIM-Spice是一个文本输入的Spice软件,功能单一且原始,但可免费下载,便于学习Spice。)

difpair ckt - simple differential pair
vin 1 0 sin(0 0.1 5meg) ac 1
vcc 8 0 12
vee 9 0 -12
q1 4 2 6 qnl
q2 5 3 6 qnl
rs1 1 2 1k
rs2 3 0 1k
rc1 4 8 10k
rc2 5 8 10k
q3 6 7 9 qnl
q4 7 7 9 qnl
rbias 7 8 20k
.model qnl npn(bf=80 rb=100 ccs=2pf tf=0.3ns tr=6ns cje=3pf cjc=2pf
+   va=50)

2. 用ORCAD10中附带的PSPICE模块自动产生的网表文件的实例(删去了空行):
**** 11/15/08 16:12:15 ******* PSpice 10.0.0 (Jan 2003) ******* ID# 1111111111 
 ** Profile: "SCHEMATIC1-bias"  [ D:\My Documents\orcad\transistor-pspicefiles\schematic1\bias.sim ] 
 ****     CIRCUIT DESCRIPTION
******************************************************************************
** Creating circuit file "bias.cir" 
** WARNING: THIS AUTOMATICALLY GENERATED FILE MAY BE OVERWRITTEN BY SUBSEQUENT SIMULATIONS
*Libraries: 
* Profile Libraries :
* Local Libraries :
* From [PSPICE NETLIST] section of e:\OrCAD\OrCAD_10.0\tools\PSpice\PSpice.ini file:
.lib "nom.lib" 
*Analysis directives: 
.TRAN  0 20ms 10ms 
.PROBE V(alias(*)) I(alias(*)) W(alias(*)) D(alias(*)) NOISE(alias(*)) 
.INC "..\SCHEMATIC1.net" 
**** INCLUDING SCHEMATIC1.net ****
* source TRANSISTOR
Q_Q1         N00286 N00312 N00298 Q2N3904
R_R1         N00312 N00256  470k  
R_R2         N00286 N00256  2.2k  
R_R3         0 N00298  47  
R_R5         0 N00374  10k  
C_C1         N00423 N00312  100n  
C_C2         N00286 N00374  100n  
V_V1         N00256 0 6Vdc
V_V2         N00423 0 DC 0 AC 1
+SIN 0 1m 1k 0 0 0
**** RESUMING bias.cir ****
.END

其电路原理图及交流小信号分析和瞬态分析波形如下:

 
(原文地址:http://www.cnblogs.com/jianyungsun/p/3373726.html)

[转]SPICE仿真软件基础(整理)的更多相关文章

  1. 机器学习 —— 基础整理(六)线性判别函数:感知器、松弛算法、Ho-Kashyap算法

    这篇总结继续复习分类问题.本文简单整理了以下内容: (一)线性判别函数与广义线性判别函数 (二)感知器 (三)松弛算法 (四)Ho-Kashyap算法 闲话:本篇是本系列[机器学习基础整理]在time ...

  2. MySQL基础整理(一)之SQL基础(未完成)

    大家好,我是浅墨竹染,以下是MySQL基础整理(一)之SQL基础 1.SQL简介 SQL(Structure Query Language)是一种结构化查询语言,是使用关系模型的数据库应用语言. 2. ...

  3. nutch的一些基础整理

    nutch的一些基础整理 原创 2015年03月22日 18:18:01 标签: nutch / 240 编辑 删除 一.关于配置文件: nutch-default.xml:爬虫的默认配置.在${nu ...

  4. [转帖]nginx基础整理

    nginx基础整理 https://www.cnblogs.com/guigujun/p/6588545.html 目录结构如下: Nginx基础知识 Nginx HTTP服务器的特色及优点 Ngin ...

  5. JAVA基础整理-集合篇(一)

    集合作为JAVA的基础知识,本来感觉自己理解的很清楚了,但是在最近的一次面试中还是答得不尽如人意!再次做一下整理,以便加深理解以及随时查阅. 首先,java.util包中三个重要的接口及特点:List ...

  6. 关于JAVA面向对象基础整理以及个人的理解(适合初学者阅读)

    JAVA的基础语法等都跟C有很大的相似之处,所以这里就不多啰嗦了.直接从数组开始. 数组: 1.声明 int [] a; 在声明的过程中,并没有分配空间给数组.我们可以在声明的同时,用new来分配相应 ...

  7. C#基础整理

    元旦整理书架发现一本小册子——<C#精髓>中国出版社2001年出版的,粗略翻了下关于C#的知识点挺全的虽然内容谈得很浅也有很多过时的内容(话说这本书是我在旧书店花5块钱淘的)我保留原有章节 ...

  8. HTML5游戏开发技术基础整理

    随着HTML5标准终于敲定.HTML5将有望成为游戏开发领域的的热门平台. HTML5游戏能够执行于包含iPhone系列和iPad系列在内的计算机.智能手机以及平板电脑上,是眼下跨平台应用开发的最佳实 ...

  9. js数组基础整理

    首页: 主要整理了一下数组中常用的一些基础知识,代码都是自己手敲,有不对的地方希望能指出,目前只有4篇,后续会不断的增加这一板块. 由于少于100字不能发所以把一些最基本的创建数组也写上. // 创建 ...

随机推荐

  1. Java开发中经典的小实例-(冒泡法)

    public class Test25 {    public static void main(String[] args) {        // 冒泡法        int[] array = ...

  2. [SAP ABAP开发技术总结]选择屏幕——各种屏幕元素演示

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  3. 省市级联.net

    初学javascript,编译省市级联,使用json在一般处理程序中编译,利用ajax传递数据到web前台 <html xmlns="http://www.w3.org/1999/xh ...

  4. C++ STL之vector用法总结

    介绍 vector是表示可变大小数组的序列容器. 就像数组一样,vector也采用的连续存储空间来存储元素.也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效.但是又不像数组,它的大 ...

  5. Openstack+Kubernetes+Docker微服务实践之路--Docker和Registry2

    渐入佳境,我们开始比较具体的工作,由于Docker是一个基础组件,所以本文的主题是Docker和Registry2. 底层系统基于Centos7,先在一台云主机上安装Docker,Docker的安装非 ...

  6. [Amazon] Amazon IAP for Unity

    1> 下载amazon IAP3.0 for unity plugin 2> 根据 https://developer.amazon.com/public/apis/earn/in-app ...

  7. java贪吃蛇

    这个贪吃蛇有很多功能没有实现,比如说穿墙(本来可以实现,但是穿墙后,就会出现坐标混乱,吃不到食物了),还有碰到自己的身体死亡的情况也没有实现,现在我知道如何判断是否碰到身体,但是,我不知道,如何处理碰 ...

  8. springmvc 解决跨域CORS

    import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import ja ...

  9. appium 常用API

    ''.appium api第二弹 锋利的python,这是初稿,2015/1/5 如有错误的地方,请同学们进行留言,我会及时予以修改,尽量整合一份ok的api 作者:Mads Spiral QQ:79 ...

  10. javascript正则表达式

    引用:http://www.jb51.net/article/72192.htm