【模拟IC】使用Cadence的运算放大器参数(GBW Noise CMRR PSRR ICMR SR THD)测试仿真实例

前言

本文介绍了使用Cadence Vrituoso对初步设计完成的运算放大器进行一些重要参数测试的方法,同时也作为自用备忘录。
网上常见的运放参数仿真例子中经常缺少噪声分析和STB稳定性仿真,因此做教程一篇进行分享。

测试的参数包括了直流增益(DC Gain),相位裕度(Phase Margin),增益带宽积(GBW),摆率(Slew Rate),输入共模范围(ICMR),共模抑制比(CMRR),电源抑制比(PSRR),输入噪声(Input Reference Noise),总谐波失真(THD),瞬态仿真,功耗。

建立运放的Cellview

一般来说,在运放的设计过程中会直接在Schematic中进行仿真,以调好工作点和mos的Region。但对于参数测试来说,最方便的是把运放包装在Cell里面再进行测试。建立Cellview的方法是在原理图中Create→Cellview→From Cellview。此处不多赘述。
本示例中采用3.3V供电的轨对轨输入,ClassAB输出的单端二级运算放大器。
注意,在原理图中已经挂了负载电容,因此在接下来的图中并不会看到。
元件图

瞬态仿真

在ADE中添加tran,时间设置为1mS。在OP输入端接入DC Voltage=1.65V,Amplitude=500mV,Frequency=1KHz的Vsin,反馈接入20MΩ电阻,负输入端接入10MΩ电阻与1.65V直流电。观察输出端瞬态仿真结果可见运放对输入信号放大了3倍。
瞬态仿真
瞬态仿真结果:
瞬态仿真结果

摆率 Slew Rate

将运放接为单位反馈形式,输入端放置一个Vpwl,提供一个从0到3V的快速上升(如1nS),保持一定时间后从3V到0V快速下降的信号。观察Tran仿真结果。
摆率
Vpwl参数示例:
Vpwl参数示例
根据仿真结果,可以计算Vout上升时间,从而求得摆率,或使用自带Calculator的函数生成。在此提供可直接复制的表达式:
slewRate(v(“/Vout3” ?result “tran-tran”) 0 nil 3 nil 10 90 nil “time”)

功耗

功耗可以通过直接读每个支路的静态工作电流相加,或是更准确地通过Tran仿真求出,计算一段时间的VDD电压源端点电流平均值即可。表达式见下图。
表达式

输入共模范围 ICMR

输入共模范围可通过单位反馈接法的运放输入可变的Vdc得到,接法如下。
ICMR
仿真设置如下:
仿真设置

观察输出结果,从图中可见,ICMR基本是从0到3.3,因为采用了轨对轨结构。
在这里插入图片描述

稳定性仿真 相位裕度 DC增益 GBW

由于ClassAB输出级的特性,通过AC仿真去计算GBW和PM并不方便,因此采用stb仿真,放入一个iProbe,将输出端与负输入端相连,选择stb仿真。
stb
stb仿真设置如下:
在这里插入图片描述
仿真结果可通过Results → Direct Plot → Main Form → stb → Stability Summary观察。

在这里插入图片描述
伯德图和增益可以从LoopGain → Magnitude and Phase → db20 → Plot 生成并观察。选择Add To Outputs可以直接生成图片。
增益和相位图:
在这里插入图片描述

共模抑制比 CMRR

共模抑制比接法如下所示,提供DC = Vcm,AC Magnitude = 1(选择1V可以直接读出结果),进行AC仿真。
在这里插入图片描述
AC仿真设置:
在这里插入图片描述
读出dB20的输出端即可,表达式为:- dB20(VF(“Vout4”))
CMRR结果

PSRR

正负PSRR的测试电路如下所示,正输入端输入Vcm直流电,测+PSRR就将VDD输入的3.3V电压增加一个1V的AC Magnitude。-PSRR就将GND接入一个0V的DC和1V的AC Magnitude。同样进行AC仿真。
在这里插入图片描述
从结果中可读出PSRR值。表达式- dB20(VF(“Vout5”)) 和 - dB20(VF(“Vout6”))
在这里插入图片描述

噪声

输入噪声是经常关注的问题,网上常见教程中让使用port元件,但使用普通Vdc也可以进行仿真,电路如下所示,输入为标准Vdc+Vac,单位反馈接法。
Noise
Noise仿真设置如下:
在这里插入图片描述
仿真结束后从Results → Direct Plot → Main Form → noise可输出图像
在这里插入图片描述

从Results Print Noise → Summary中可以求一定范围内的噪声的积分,并观察每个元件贡献噪声的大小和比例。
在这里插入图片描述

总谐波失真(THD)

对总谐波失真进行仿真,对于做Buffer的运放来说较为重要,反映了其传输信号的精度。
运放接成单位反馈的形式,输入端提供1KHz正弦波,输入正弦波的频率也影响了THD性能,频率根据运放工作条件来设定。
在这里插入图片描述
trans仿真设置如下,注意将仿真步长调低(图中调到100n),不然THD会非常不准确。仿真最好选择conservative。
在这里插入图片描述
THD可直接通过calculater中thd生成,可参考下图的参数设置。此处sample可选择2的幂指数,如4096,2048等。注意采样的周期数要和sample数互质,以保证相干采样(通俗来说,要是采样点数和周期数成倍数关系的话,采样的点会重复,导致结果出错)。图中采样2048个点,周期数为13(1KHz的正弦波仿真13mS),为相干采样。
在这里插入图片描述
进行仿真,可直接得到一个数值如下所示,为163.2m,转换成dB的形式是将其除以100再乘上20log10,即为55.7dB。
在这里插入图片描述

### 如何在Cadence中查看运算放大器性能或参数 #### 创建Cellview并设置仿真环境 为了便于管理和重复利用,建议先将运算放大器封装成一个单元(Cell),通过`Create → Cellview → From Cellview`的方式创建对应的视图[^1]。 #### 进行瞬态分析 对于瞬态响应特性的观察,可以在已有的原理图基础上添加必要的激励源和测量探针。由于原理图中已经连接了负载电容,在瞬态仿真配置时无需再次引入外部元件。具体步骤包括定义输入信号波形、设定仿真时间跨度以及选取关注节点作为输出监视点。 #### 参数提取与评估指标计算 针对特定性能参数如增益带宽积(GBW)、噪声特性(Noise)、共模抑制比(CMRR)、电源抑制比(PSRR)、最大输出摆幅(ICMR)、压摆率(Slew Rate,SR)及总谐波失真度(Total Harmonic Distortion,THD)等,可以通过以下方式获取: - **增益带宽积(GBW)** 和其他频率域内的特征可通过交流小信号分析获得; - **噪声特性** 可借助专用的噪声分析工具完成统计; - **CMRR/PSRR** 需要在不同条件下改变共模电压或电源电压来进行对比测试; - **ICMR/SR/THD** 则更多依赖于大信号条件下的瞬态行为观测,并配合后期数据处理得出最终数值。 ```python # Python伪代码示例:假设有一个函数可以执行上述提到的各种类型的仿真 def run_simulation(sim_type='ac', parameters=None): """ 执行指定类型的仿真 :param sim_type: 仿真类型 ('ac'|'noise'|'transient') :param parameters: 字典形式传递给仿真的额外参数 :return: 返回仿真结果对象 """ pass # 增益带宽积(GBW) 测试 gbw_result = run_simulation('ac') # 噪声特性测试 noise_result = run_simulation('noise') # CMRR/PSRR 测试 cmrr_psrr_results = [] for condition in ['common_mode_voltage_change', 'power_supply_voltage_change']: result = run_simulation('dc', {condition}) cmrr_psrr_results.append(result) # ICMR/SR/THD 大信号条件测试 large_signal_test_results = run_simulation('transient', {'input_amplitude': large_value}) ```
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值