《集成电路设计》复习资料3(电路模拟与SPICE)

目录

  1. 电路设计与电路模拟
  2. SPICE简介
  3. 通用电路模拟程序的基本组成
  4. SPICE进行电路模拟的基本流程
  5. SPICE的主要功能
  6. SPICE网表(Netlist)编写详解

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(模拟,精)。
  • 子电路:

    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
相关推荐
m0_531237171 小时前
C语言-函数递归
算法
mjhcsp2 小时前
C++Z 函数超详细解析
c++·算法·z 函数
开发者导航2 小时前
【开发者导航】多功能生成模型开发工具:Diffusers 详细介绍
人工智能·python·学习·macos·信息可视化
我命由我123452 小时前
Visual Studio 文件的编码格式不一致问题:错误 C2001 常量中有换行符
c语言·开发语言·c++·ide·学习·学习方法·visual studio
近津薪荼2 小时前
dfs专题9——找出所有子集的异或总和再求和
算法·深度优先
52Hz1182 小时前
力扣131.分割回文串、35.搜索插入位置、74.搜索二维矩阵、34.在排序数组中查找...
python·算法·leetcode
Tisfy2 小时前
LeetCode 761.特殊的二进制字符串:分治(左右括号对移动)
算法·leetcode·字符串·递归·分治
小O的算法实验室2 小时前
2025年AEI SCI1区TOP,面向城市区域监视的任务驱动多无人机路径规划三阶段优化策略,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
运维管理2 小时前
H3C交换机Hybrid端口配置与VLAN理解-学习
运维·网络·学习