GMID方法与经典7管二级运放 您所在的位置:网站首页 5534dd运放参数 GMID方法与经典7管二级运放

GMID方法与经典7管二级运放

2023-04-27 08:13| 来源: 网络整理| 查看: 265

本着前人栽树后人乘凉的原则,我来一手抛砖引玉。

最近在摸二级运放的设计八股文,最后发现gmid设计方法最好用。

第一个搜到的教程是站内某台湾老师的教程,虽然很详细,但发现设计与结果不符(这就是本文要强调的二级运放的电流匹配)。

所以我写了一手分享教程,希望大家少批评老师的错误教法,多批评批评我。

网盘里有pdf版

链接:https://pan.baidu.com/s/1yt20F5hh2d_LROeGWZIH4A 

提取码:6666

Gmid设计二级运放:

一、             背景

由于尺寸变小,次级效应的影响变大,平方律计算结果偏差变大,没有工艺参数的情况下也很困难。如果gm/id的值已经确定,也可以确定管子的其他参数,所以我们运用工艺库提供的仿真模型,创建一个gmoverid与id/W,self_gain,gds等参数关系的图表,用来参考设计。

贴心的是,vitruoso中的cmos,是有gmoverid这个参数的。

二、             创建一个工艺库的CMOS的gmoverid图表

画一个这样的电路:

NMOS的参数分别是w = Wn,l = Ln, m = muln;

PMOS的参数分别是w = Wp,l = Lp, m = mulp;

V3电压是Vd,V0和V2电压是Vg,V1的作用是保证管子在饱和区,所以V1只要大于Vth都很好,我是0.8V。

为什么要工作在饱和区?集成电路里面的CMOS,正常情况下,都处于饱和区,在其他区可以认为都是不正常工作,Virtuoso的CMOS有个参数叫region可以快速查看静态工作点CMOS处于哪个区。

保存并check之后,我们新建一个仿真:

随后在变量这一栏右键,让其自动抄写变量,为变量设置值,然后设置成下面的大小,因为我用的是5V的管,所以Vg和Vd的初值我设置为了2.5V。

随后设置仿真条件,dc仿真,Vg变化时的dc仿真,变化范围,刚刚我们已经给NMOS一个0.8V的电压了,所以他可以从0.8~5V变化,只要确保PMOS也在饱和区即可,也就是0~4.2V。

现在先跑一次仿真,让ADE拥有可选的参数。然后打开计算器,利用计算器下面的功能,把需要仿真的结果表示出来。

怎么用我就不教了,反正用到了红圈圈的功能。懒的话可以直接抄我的:

这个按钮可以新建一个表达式

name     details

Vgst_p    waveVsWave(?x OS("/M1"   "gmoverid") ?y (OS("/M1" "vgs") -   OS("/M1" "vth")))

gds_p    waveVsWave(?x OS("/M1"   "gmoverid") ?y OS("/M1" "gds"))

id/W_p    waveVsWave(?x OS("/M1"   "gmoverid") ?y (OS("/M1" "id") /   VAR("Wp")))

gain_p    waveVsWave(?x OS("/M1"   "gmoverid") ?y OS("/M1" "self_gain"))

Vgst_n    waveVsWave(?x OS("/M0"   "gmoverid") ?y (OS("/M0" "vgs") -   OS("/M0" "vth")))

gds_n    waveVsWave(?x OS("/M0"   "gmoverid") ?y OS("/M0" "gds"))

id/W_n    waveVsWave(?x OS("/M0"   "gmoverid") ?y (OS("/M0" "id") /   VAR("Wp")))

gain_n    waveVsWave(?x OS("/M0"   "gmoverid") ?y OS("/M0" "self_gain"))

记得勾上plot生成图表,再跑一次仿真,这时候你可以看到gmoverid图表了。

你可以根据设计需求,改变变量的初值,Ln,Wn,muln,Lp,Wp,mulp,这会让你对管子的特性有更多的了解,比如Ln = 0.5u:0.5u:5u    这句表达式的意思是Ln的取值从0.5u到5u每隔0.5u做一次仿真,他就会再一个图里画出多条gmoverid曲线。更直观看到管子的特性。

那么这里给出一些我的观察结论(暴论):

1,同一个gmoverid下,改W不会改变他的gm,gds,self_gain,只能改变电流,改L倒是可以。

2,L越大,可以选择的gmoverid范围也越大。

3,单级放大的极限可以在self_gain-gmoverid的图表看得出来,开环增益是Ao=gm*Ro=gm/gds,那么其实self_gain(自己的沟道做负载)=gm/gds可以看到我这里是整个NMOS单级放大的极限在40dB(不同情况不一样)

三、              根据图表设计一个二级运放

根据GBW得到我们需要设计的gm大小,取一个表中合适的位置的gm/id(表中不存在的gm/id就没办法继续后面的操作了),得到输出电流id;同时通过图标也得到W或者L,得到其中一个而另一个选取合适的值。

第二级的gm则要配合相位裕度(60°以上),次极点要求是GBW的两倍到三倍,所以

1.3是经验数值。

电流匹配,这是第二级能够处于饱和区的必要条件。第二级的放大管和第一级的两个负载的id/W是相等的,所以他们会有相同的gm/id。而主动负载只要工作在饱和区,并且具有较小的gds,改变他的尺寸不会对第一级放大系数有太大的影响,所以他的尺寸只是考虑到第二级的放大管,W6=W3*Id6/Id3。

选择规则:经验告诉我们米勒电容Cc>0.22CL;为了减小噪声,放大管gm要大,电流源gm要小;L越大,偏向大gm,可选择的gmid也会大,L越小,偏向速度,可选择的gmid也会小;gm/id越大,偏向小电流节能,gm/id越小,偏向大输出摆幅。想要大GBW,就得要大电流。

 

NMOS输入的二级运放示例(tsmc 0.18um):

1.        CL=3pF,Cc>0.66pF,GBW=100Mhz

2.        gm1=1.885 mA/V

3.        L=1u

4.        Gm/id放大管选16电流源选10,主动负载为了匹配也要16

5.        Id1=Id3=117.8uA,Id5=235.6uA

6.        查表,W1=117.8uA / 1.77835 A=66.2u;W5=235.6uA / 6.785353A =34.7 u

7.        gm6=7.3515 mA/V

8.        Id6=Id7=3.9Id1=459.47uA

9.        查表,W3=117.8uA /0.5220033A =226u;W6=W3*Id6/Id3=226u*4; W7=459.47uA / 6.785353A=67.8u=W5*2

W1=W2=66.2 u   

W3=W4=226u

W5=34.7u

W6=226u*4

W7=34.7u*2

然后我们进行dc仿真检查直流工作点:

 

管子旁边出现了vds,vth等参数,但我想看gmoverid和gm,gds。右键画布任意位置,修改注释的参数:

可以看到,所有管子的region=2,意思是处于饱和区,0是截止,1是线性区,3是亚阈值区……,然后gmoverid是和计算时八九不离十了。不过第一级的负载gds有点太大了,可以适当变小W,这意味着他的id/w,也就是对应的gmoverid也会变化,相当于第二级放大管的gmoverid也得变化了,因为必须电流匹配。

如果你扫描得到了gm/id与gds,gm的关系,对于单管的放大电路来说,Ao=gm/gds,你就大概可以知道,这个单管放大电路的开环放大系数是有极限的,大概在40dB左右。

四、             问题

Q1:为什么必须电流匹配

A1:二级运放他就是需要,没有为什么,不匹配,第二级的放大管就不能处于饱和区,放大系数变得特别小。我看了很多个(5个)gmid设计二级运放,包括B站那位台湾老师的教学,都忽略了匹配这个问题,如果不匹配,就是用不了,没有为什么。

 

Q2:怎么选L

A2:L越大,偏向大gm,可选择的gmid也会大,L越小,偏向速度,可选择的gmid也会小,自己在gmidtest里面试试,改L,看看gmoverid图表怎么变化。

 

Q3:推荐的电流值

A3:首先不是推荐的,是算的,在于你怎么选gmoverid,GBW越大,算出来的id肯定也会越大,但是id小就节能。

 

五、             参考

【1】   The gmid methodology, a design guideline for two stage miller OP_哔哩哔哩_bilibili

【2】    gm/Id 设计方法_gmid设计方法原理_maxwell2ic的博客-CSDN博客gm/Id



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有