目录
1. 电路设计与电路模拟
1.1 电路设计的定义
电路设计是根据给定的功能和特性指标要求,通过各种方法,确定采用的线路拓扑结构以及各个元器件参数的过程。
1.2 电路设计基本流程
Yes
No
No
设计指标要求
选择电路方案
确定参数
选择分析方法
人工计算/解析法
实验方法
通用电路模拟软件
结果比较
性能满足要求
确定设计方案
修改电路方案
修改电路参数
1.3 电路模拟的概念与优点
- 概念: 根据电路的拓扑结构和元件参数,将电路问题转换成适当的数学方程并求解,根据计算结果检验电路设计的正确性。
- 主要手段: 设计人员初步确定电路结构和参数后,利用电路模拟软件进行模拟分析、判断、修改和优化。
- 优点 :
- 不需要实际的物理元件。
- 可以进行各种模拟,甚至是破坏性模拟。
2. SPICE简介
- 全称: Simulation Program with Integrated Circuit Emphasis(重点用于集成电路的模拟程序)。
- 性质: 功能强大的通用模拟电路仿真器。
- 版本演进 : SPICE → SPICE2 → SPICE3。普遍认为 SPICE2G5 是最为成功和有效的版本。
- 常见商业软件 :
Hspice (Synopsys) 工业标准,精度高、功能强,但无图形前端,需手动编写网表,主要用于集成电路设计。
Pspice (Cadence) 个人用户的最佳选择,具有友好的图形化前端输入环境,性价比高。
3. 通用电路模拟程序的基本组成
通用电路模拟程序通常由以下五个核心部分构成:
3.1 输入处理
- 功能: 接受用户的输入文件(网表),获取模拟所需的数据。
- 内容 :
- 电路的拓扑结构
- 元件参数
- 分析类型(如DC, AC, TRAN)
- 输出内容要求
3.2 器件模型的建立与处理
- 功能: 用数学模型代替具体的物理器件。
- 要求: 模型需能正确反映器件的物理和电学特性,并便于计算机数值计算。
- 建模方法 :
- 基于物理机理: 从器件的物理方程出发构建模型。
- 黑箱法: 仅从器件的端口电学特性出发建立模型,不涉及内部物理机理。
- 模型选择: SPICE中提供多种模型供用户选择,例如双极晶体管有EM1、EM2、EM3和GP模型。
3.3 电路方程的建立
- 功能: 根据输入信息自动建立描述电路行为的数学方程。
- 常用方法 : 节点电压法(Nodal Analysis)是最早且最广泛使用的方法。
3.4 求解电路方程
根据分析类型的不同,电路方程的形式和求解方法也不同:
- 线性代数方程组 (直流分析) 采用高斯消元法 或LU分解法。
- 非线性代数方程组 (直流工作点分析) 采用牛顿-拉夫森法(Newton-Raphson)迭代求解。
- 非线性常微分方程组 (瞬态分析) 采用变步长隐式积分法求解。
3.5 输出处理
- 功能: 将仿真结果以用户可读的形式呈现。
- 内容: 与分析类型相对应,如节点电压、支路电流等。
- 方式: 图形(波形图)和表格(数据列表)。
4. SPICE进行电路模拟的基本流程
输入文件形式:
- PSpice: 支持文本形式和原理图形式。
- Hspice: 仅支持文本形式(网表)。
5. SPICE的主要功能
5.1 直流分析(DC Analysis)
- 目的: 计算电路在直流电源作用下的工作状态。
- 子类型 :
- **直流工作点分析 **(
.OP) 计算电路静态工作点,是其他分析的基础。 - **直流扫描分析 **(
.DC) 扫描直流电源、温度或元件参数,观察其对电路性能的影响。 - 转移函数分析: 计算小信号下的电压增益、输入/输出电阻等。
- **直流工作点分析 **(
5.2 瞬态分析(Transient Analysis)
- 目的 : 计算电路中电压和电流随时间的变化(时域分析)。
- 重要性: 在输入为时变信号(如脉冲、正弦波)时尤为重要,可观察各点的波形和相位关系。
- 控制语句 :
.TRAN TSTEP TSTOP <TSTART> <TMAX>
5.3 交流分析(AC Analysis)
- 目的 : 进行线性小信号交流分析(频域分析)。
- 原理: 在直流工作点附近将非线性元件线性化,然后施加扫频信号。
- 输出: 幅频特性、相频特性、输入/输出电阻等。
- 相关分析 :
- 噪声分析: 计算电阻热噪声、半导体散粒噪声和闪烁噪声等对电路的影响。
5.4 灵敏度分析(Sensitivity Analysis)
- 目的 : 分析在工作点附近,各元器件参数值变化时对电路性能影响的敏感程度。
- 作用: 预先知道哪些元件对电路性能影响最大,指导设计和选型。
5.5 统计分析(Statistical Analysis)
- 目的: 考虑元器件参数存在制造容差的情况,评估电路性能的统计分布。
- 子类型 :
- **蒙特卡罗分析 **(Monte Carlo): 使用统计模拟方法,估算电路性能的中心值、方差、合格率等。
- **最坏情况分析 **(Worst Case): 估算当所有元件参数在其容差边界取值时,电路性能可能出现的最大偏差。
6. SPICE网表(Netlist)编写详解
网表是描述电路元件、连接关系和仿真指令的纯文本文件。
6.1 基本规则
- 第一行 必须是标题行(会被打印但不参与仿真)。
- 最后一行 必须是**
.END**。 - 语句次序随意,但续行(以
+开头)除外。 - 注释行以
*开头或在行末以$开头。 - 节点编号一般为正整数(可不连续),接地点必须为
0。 - 元件名称首字母必须符合规定(见下表)。
- 文件名、语句长度不能超过256字符。
- 不区分大小写。
6.2 元件命名规则
| 首字母 | 电路元器件 | 首字母 | 电路元器件 |
|---|---|---|---|
| B | 砷化镓场效应管 | L | 电感 |
| C | 电容 | M | MOS场效应晶体管 |
| D | 二极管 | Q | 双极型晶体管 |
| E | 电压控制电压源 | R | 电阻 |
| F | 电流控制电流源 | S | 电压控制开关 |
| G | 电压控制电流源 | T | 传输线 |
| H | 电流控制电压源 | V | 独立电压源 |
| I | 独立电流源 | W | 电流控制开关 |
| J | 结型场效应晶体管 | X | 子电路 |
| K | 互感(耦合系数) |
6.3 元件参数值与单位
- 比例因子后缀 (必须使用)
F=1E-15,P=1E-12,N=1E-9,U=1E-6,M=1E-3,K=1E3,MEG=1E6,G=1E9,T=1E12。 - 单位后缀 (可省略,会被忽略)
V(伏),A(安),HZ(赫),OHM(欧),H(亨),F(法),DEG(度)。 - 示例 :
4K表示4000欧姆;100PF表示100皮法。
6.4 主要语句类型
(1) 元件描述语句
- 电阻 :
RXXXX N+ N- VALUE - 电容/电感 :
CXXXX N+ N- VALUE,LXXXX N+ N- VALUE - 二极管 :
DXXXX N+ N- MNAME - 双极型晶体管 :
QXXXX NC NB NE NS MNAME - MOSFET :
MXXXX ND NG NS NB MNAME L=... W=... - 独立电压源 (瞬态脉冲)
VXXXX N+ N- PULSE(V1 V2 TD TR TF PW PER) - 独立电压源 (瞬态正弦)
VXXXX N+ N- SIN(V0 VA FREQ TD ALPHA PHASE)
(2) 模型,子电路,文件
-
模型 :
.MODEL ModelName TypeName (P1=V1, P2=V2, ...)- MOS模型LEVEL :
LEVEL=1(数字,快),LEVEL=2/3(模拟,准),LEVEL=13/39/49(模拟,精)。
- MOS模型LEVEL :
-
子电路:
spice.SUBCKT SubName Node1 Node2 ... ... (子电路内部描述) .ENDS SubName -
调用 :
X1 in out SubName ... -
文件包含 :
.INCLUDE filename
(3) 电路特性分析语句
- 直流工作点 :
.OP - 直流扫描 :
.DC SRC_NAME Vstart Vstop Vincr - 瞬态分析 :
.TRAN Tstep Tstop <Tstart> <Tmax> - 交流分析 : (在电压/电流源上定义
AC参数后,仿真器会自动进行)
(4) 控制语句
- 初始条件 :
.IC V(node)=val - 输出控制 :
.PRINT TRAN V(3) I(R1)或.PLOT DC V(3)
6.5 网表示例
共发射极放大电路:
spice
* Common-Emitter Amplifier Example
VCC 6 0 DC 6
V2 5 0 SIN(0 1m 1k)
R1 5 1 470k
R2 1 0 47k
R3 6 2 2.2k
R4 2 4 10k
C1 1 3 100n
C2 2 7 100n
Q1 3 2 4 Q2N3904
.MODEL Q2N3904 NPN (IS=6.734F BF=416.4 ...)
.TRAN 1u 5m
.END