Transcript
Page 1: 第九章  SPICE 电路的联合仿真

TRC report…..

Project Objective Participant Xie Hui Date Page

第九章 SPICE 电路的联合仿真

9.1 介绍 SPICE 是一个仿真不同元件组成的电子电路和定义子电路的程序。这些电路是在一个孤立的环境内进行仿真的,但是在实际的环境中,他们会与一起其他设备相互影响 , 比如天线和微带线。 SEMCSD-X 即能仿真电磁问题也能够使用实际信号去驱动电磁系统,比如:你能够任意观看电路中的电压和电流的波形,而且 SPICE 还计算了时间域和频率域的电压和电流。 在 SEMCAD-X 中, SPICE3f5 被使用,能够仿真分析由下面元件组成的不同电路:电压和电流源,电阻,电容,电感,互感器,传输线,开关,二极管,晶体管,结型场效应管, MOS 管,金属半导体肖特基结场效应管。 SPICE 建立了半导体(三极管)的模型,使用者只需要定义相关模型的参数就行啦。 SPICE 能够在电路中进行如下各种类型的分析: 1. 非线型 DC 分析; 2. 非线型瞬间分析; 3. 线型 AC 分析; 4. 温度分析;5. 噪声分析; 6. 灵敏度分析; 7. 傅立叶分析; 8.Mont Carlo 分析; 9. 失真分析。

Page 2: 第九章  SPICE 电路的联合仿真

TRC report…..

Project Objective Participant Xie Hui Date Page

9.2 SPICE 仿真的收敛 在 SPICE 的电路中,是通过迭代预算进行处理和仿真的,迭代被中止当出现下面的问题时: 1. 非线性分支电流收敛,当误差在 0.1 %以内或者小于 1PA 。 2. 节电电压收敛当误差在 0.1 %以内或者小于 1MV 。 虽然 SPICE 的运算法则是非常稳定的,但在有些情况下,它还是不能收敛。如果在 DC 仿真的过程中不能收敛,那可能是因为:电路连接,元件的值,模型的参数出现问题,或者电路中有反馈电路。

Page 3: 第九章  SPICE 电路的联合仿真

TRC report…..

Project Objective Participant Xie Hui Date Page

9.3 电路描述9.3.1 一般的结构和协定 电路是靠一系列的元件代码(定义电路的布局和元件的值)和控制代码(定义模型参数和运行控制)被描述为SPICE 的。输入的文件的第一行代码必需是题目,而最后一行必需是“ .end” 。 电路中的每一个元件都是被元件代码定义的,包括:元件的名字,元件的节点,决定元件电器性能的参数值。元件名的第一个字母代表了元件的类型,整个元件名是由一串字母或数字构成,比如: R1,RSE,RUOT,R3AC2ZY都是有效的电阻名。电路中的每一个节点都必需有一个 DC 路径到地。

9.3.2 题目代码,注释代码, .END 代码 题目代码:被放在输入文件的最前面,它的内容作为每部份输出的标题。 .END 代码:总是放在输入文件的最后,表示结束。 注释代码:任何一行代码前加上一个星就表示此代码为注释代码。

Page 4: 第九章  SPICE 电路的联合仿真

TRC report…..

Project Objective Participant Wu/xie/wang Date Page

9.3.3 设备模型

大多数简单的电路元件通常只需要很少的参数值,而 SPICE 中的一些设备就需要很多的参数值。 上面的代码中, MNAME 是指模型的名字, TYPE 是指模型的类型。模型的名字是自己指定的,不能重复,而模型的类型则有下面 15 种: R (电阻模型), C (电容模型), SW (电压开关模型),CSW (电流开关模型), URC (统一的分布式 RC 模型), LTRA (有损耗的传输线模型), D (二极管模型), NPN ( NPN 晶体管模型), PNP ( PNP 晶体管模型), NJF ( N沟道结型场效应管模型),PJF(P 沟道结型场效应管模型 ) , NMOS ( N沟道MOS 管) ,PMOS ( P沟道MOS 管), NMF ( N沟道金属半导体肖特基结场效应管), PMF ( P沟道金属半导体肖特基结场效应管)。 上面的代码中, PNAME1,2 为参数的名字, PVAL1,2 为参数的值。

Page 5: 第九章  SPICE 电路的联合仿真

TRC report…..

Project Objective Participant Xie Hui Date Page

9.3.4 子电路 在输入文件中,指定一组元件代码来定义子电路。在子电路被引用的地方,程序会自动的插入这组代码,对子电路的大小和复杂程度没有限定,子电路中还可以包含其他的子电路。子电路使用的例子如下:

子电路的定义是以代码 .SUBCKT 开始的, .SUBNAM是子电路的名字, N1,N2… 是外部的节点,不能为 0 。后面紧跟着的就是定义子电路的元件代码,电路定义的最后一行代码是 .END 。

任何子电路定义的最后一行代码必须是 .END 代码,括号里面的 SUBNAM 为哪个子电路的名字,那么这个子电路的定义就结束,若括号里没有子电路的名字,则整个子电路的定义都结束。主要是用于嵌套的子电路的定义。

在 SPICE 中定义的子电路以字母 X 开始,后面就是电路的节点。

Page 6: 第九章  SPICE 电路的联合仿真

TRC report…..

Project Objective Participant Xie Hui Date Page

9.3.5 关联文件: .INCLUDE 代码

通常,在不同的输入文件中,部份电路的描述会重复出现,尤其是一些常用的模型和子电路。在任意的 SPICE输入文件中,这个 .INCLUDE 代码可以被使用去复制一些其他的文件。