在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 761|回复: 10

[求助] 模拟电路的非理想建模

[复制链接]
发表于 2024-11-18 15:45:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
众所周知,模拟电路中存在着很多的非理想因素,比如运放会有失调,电流镜会有噪声和失配,当然这些还不涉及到时间维度的概念,比如系统有限的带宽等。在面对大规模的数模混合系统时,如果采用cadence这种电路EDA工具仿真,仿真速度会非常慢。所以我的想法是用matlab/python搭建这个芯片系统的行为级模型,从而为电路设计或者相关的算法设计提供参考。但是基于matlab/python的建模需要手动的去敲电路的行为级模型,而由于模拟电路的非线性,很难完整准确的把这个行为级模型描述清楚。所以我的问题是,对于模拟电路中的非理想因素(以运放的失调和电流镜的失配为例),如何在Python/Matlab中进行建模?目前参考到了一些方法:1. 查找表 2. 多项式拟合 3. 概率分布 。即通过在cadence中提取电路的非理想特性的参数(比如失调的monto-carlo的μ和σ)并利用这些参数做一个近似的建模。但是感觉还是有些简陋,也没有一个系统的分析和具体的方法。请大家积极讨论,有无相关的论文或者参考资料,或者实际工程中是怎么实现的,不胜感激!
 楼主| 发表于 2024-11-18 16:41:23 | 显示全部楼层
或者说:我想对一个模拟电路开发一个算法(比如校准),这个模拟电路应该如何准确的在matlab/python中建模呢?(如果还要考虑良率的话,各种PVT也需要考虑进去)
发表于 2024-11-20 17:05:46 | 显示全部楼层
单PVT模型的计算公式就非常繁多了,理想模型还好说,非理想的不太现实吧
 楼主| 发表于 2024-11-20 17:15:01 | 显示全部楼层


Shiroihane 发表于 2024-11-20 17:05
单PVT模型的计算公式就非常繁多了,理想模型还好说,非理想的不太现实吧


确实非理想不太好建模,所以想借助“黑盒子”的方法通过提取一些后仿参数来建模,但是不知道需要提取哪些参数比较合适
发表于 2024-11-21 15:43:18 | 显示全部楼层
“对于模拟电路中的非理想因素(以运放的失调和电流镜的失配为例)”  运放的宏模型已经覆盖这些问题
 楼主| 发表于 2024-11-22 10:02:32 | 显示全部楼层


iWeiguo 发表于 2024-11-21 15:43
“对于模拟电路中的非理想因素(以运放的失调和电流镜的失配为例)”  运放的宏模型已经覆盖这些问题 ...


您说的宏模型是在哪里呢
发表于 2024-11-22 10:59:42 | 显示全部楼层
这很常见啊。可以说matlab模型的一半作用就是评估非理想的影响
 楼主| 发表于 2024-11-22 17:13:20 | 显示全部楼层


YyuanRTs 发表于 2024-11-22 10:59
这很常见啊。可以说matlab模型的一半作用就是评估非理想的影响


请问在哪里可以参考这些matlab代码呢 有相关的文章或者开源吗
发表于 2024-11-22 21:12:04 | 显示全部楼层


iWeiguo 发表于 2024-11-21 15:43
“对于模拟电路中的非理想因素(以运放的失调和电流镜的失配为例)”  运放的宏模型已经覆盖这些问题 ...


最近刚看的INA AD8222
仅供参考。



* AD8222 SPICE Macro-model
* Description: Amplifier

* BEGIN Notes:
*
* Not Modeled:
*   Temperature effects
*   PSRR
*
* Parameters modeled include:
*   Gain error, Vos, Ibias
*   Bandwidth
*   Voltage and current noise with 1/f noise
*   CMRR vs frequency
*   Supply current incl preamp and output load currents
*   Output clamp vs load
*   Input common-mode range vs output swing limitations
*   Slew Rate
*   Pulse response vs cap load
*
* END Notes
*
* Node assignments
*                 inverting input
*                 |   RG
*                 |   |    RG
*                 |   |    |  non_inverting input
*                 |   |    |    |    negative supply
*                 |   |    |    |    |    ref
*                 |   |    |    |    |    |   output
*                 |   |    |    |    |    |    |     positive supply
*                 |   |    |    |    |    |    |     |
.SUBCKT AD8222  IN-  RG-  RG+  IN+  -Vs   REF  VOUT  +Vs         
** INPUT STAGE ***
FIBIAS1 IN- 0 POLY(1) V21 1.4e-9 4e-5
VOSI_Neg 3 IN- 25E-6
H3 4 3 V24 3
G4 0 5 4 0 2e-3
R10 5 0 500
D7 5 9 D
D8 10 5 D
V7 10 VNEGx 1.8
V8 VPOSx 9 1.1
E8 22 0 5 0 1
FIBIAS2 IN+ 0 POLY(1) V23 0.8e-9 4e-5
VOSI_Pos IN+ 6 24E-6
H5 7 6 V26 3
G5 0 8 7 0 2e-3
R11 8 0 500
D9 8 11 D
D10 12 8 D
V9 12 VNEGx 1.8
V10 VPOSx 11 1.1
E9 15 0 8 0 1
G1 0 IN+ 13 14 .0025e-9
R13 IN+ 13 10e9
R14 13 IN- 10e9
R15 +Vs 14 10e9
R16 14 -Vs 10e9
G2 0 IN- 13 14 .0025e-9
*
*** PREAMPLIFIER STAGE ***
Q1 Pos_Fdbk 15 RG+ 0 NPN
C4 RG+ 0 .135e-12
R6 RG+ 17 24735
VCS2 noninverting_out 17 0
I1 VBIAS Pos_Fdbk 20E-6
R23 Pos_Fdbk VBIAS 1e9
G7 0 18 VBIAS Pos_Fdbk 1
R8 18 0 10E9
C2 noninverting_out Pos_Fdbk 9.2e-12
R25 19 18 100
D5 19 20 D
D6 21 19 D
V5 21 VNEGx 0.3
V6 VPOSx 20 2.1
Q2 Inv_Fdbk 22 RG- 0 NPN
C3 RG- 0 .200e-12
R5 RG- 24 24735
VCS1 Inverting_Out 24 0
I2 VBIAS Inv_Fdbk 20E-6
R18 VBIAS Inv_Fdbk 1e9
G6 0 25 VBIAS Inv_Fdbk 1
R7 25 0 10E9
C1 Inverting_Out Inv_Fdbk 9.235e-12
R24 26 25 100
D3 26 27 D
D4 28 26 D
V3 28 VNEGx 0.3
V4 VPOSx 27 2.1
V1 VBIAS VPOSx 20
D40 Inv_Fdbk VBIAS D
D41 Pos_Fdbk VBIAS D
*
*** SUBTRACTOR STAGE ***
E4 Inverting_Out 0 26 0 1
E5 noninverting_out 0 19 0 1
R1 31 sub_neg 10E3
R2 sub_neg 24 10E3
R3 sub_pos 17 10001
R4 REF sub_pos 10E3
VCS3 sub_out 31 0
G8 0 sub_out sub_pos sub_neg 1
R9 sub_out 0 10E9
D13 REF 38 D
D14 39 REF D
V13 39 VNEGx .3
V14 VPOSx 38 .3
D15 sub_pos 36 D
D16 37 sub_pos D
V15 37 VNEGx 0.9
V16 VPOSx 36 0.9
R22 sub_out_cl sub_out 100
D1 sub_out_cl 33 D
V2 32 33 1.15
D2 34 sub_out_cl D
V17 34 35 1.05
H6 VPOSx 32 POLY(1) VOSO 0 0 8000
H7 35 VNEGx POLY(1) VOSO 0 0 8000
H4 VX sub_out_cl V25 64
*
*** SLEW RATE AND OUTPUT STAGE ***
G11 0 VZ VX VY 1e-3
R26 VZ 0 100E6
D21 40 VZ DSLEWP
D22 40 0 DSLEWN
G12 0 VY VZ 0 1E-4
C7 VY 0 1E-9
R30 VY 0 10e9
G9 0 41 VY 42 1
R12 41 0 1e10
C5 41 0 1.4e-7
G10 0 42 41 0 .002
R17 42 0 500
C6 42 0 700e-12
R27 43 42 0.1
D11 43 45 D
D12 46 43 D
V11 46 47 1.05
V12 44 45 1.15
H1 VPOSx 44 POLY(1) VOSO 0 0 8000
H2 47 VNEGx POLY(1) VOSO 0 0 8000
VOSO VOUT 43 300E-6
*
*** NOISE ***
V24 60 0 0
R19 60 0 .0166
D17 61 60 DN
V18 61 0 0.2
V26 62 0 0
R21 62 0 .0166
D18 63 62 DN
V19 63 0 0.2
V25 64 0 0
R20 64 0 .0166
D19 65 64 DN
V20 65 0 0.2
V21 70 0 0
R28 70 0 .0166
D38 71 70 DIN
V22 71 0 0.2
V23 72 0 0
R29 72 0 .0166
D39 73 72 DIN
V27 73 0 0.2
*
*** SUPPLY CURRENT AND BIASING ***
ISUP +Vs -Vs 800E-6
GSUP +Vs -Vs +Vs -Vs 1e-6
FSUP1 56 0 VOSO -1
D20 +Vs 90 D
D23 52 -Vs D
D24 56 90 DZ
D25 52 56 DZ
FSUP2 57 0 VCS1 1
D26 +Vs 91 D
D27 53 -Vs D
D28 57 91 DZ
D29 53 57 DZ
FSUP3 58 0 VCS2 1
D30 +Vs 92 D
D31 54 -Vs D
D32 58 92 DZ
D33 54 58 DZ
FSUP4 59 0 VCS3 1
D34 +Vs 93 D
D35 55 -Vs D
D36 59 93 DZ
D37 55 59 DZ
E10 VPOSx 0 +Vs 0 1
E11 VNEGx 0 -Vs 0 1
*
*
.MODEL NPN NPN
.MODEL D D(IS=1e-15 N=0.1)
.MODEL DN D(IS=1e-15 KF=3e-6)
.MODEL DIN D(IS=1e-15 KF=5e1 AF=1.5)
.MODEL DZ D(IS=1e-15 BV=50 RS=1)
.MODEL DSLEWP D(IS=1e-15 BV=19.5 RS=0.1)
.MODEL DSLEWN D(IS=1e-15 BV=19.5 RS=0.1)
*
.ENDS AD8222
*$


Vos 的温度特性没有建模;


发表于 2024-11-22 21:16:09 | 显示全部楼层
本帖最后由 iWeiguo 于 2024-11-22 21:19 编辑


xduic 发表于 2024-11-22 10:02
您说的宏模型是在哪里呢


输入级:

input.jpg
FIBAS1: IB & RTI current Noise;
VOSI_NEG: RTI Vos;
H3:RTI Voltage Noise;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-1-3 06:32 , Processed in 0.023629 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表