模拟IC设计分享:关于Folded-cascode中,input-cascod管子作用的直观分析
见以前有人询问此种结构中M4,M5(学名:input cascode)的作用,先单独开一贴分析一下。
结论先行:
1. 为了避免输入端的Cgd1和Cgd2,在输入端造成的大的miller电容,如果前级信号源有内阻,这个内阻配合这个输入端的miller电容造成大极点在输入端。
2. 折叠点(M6,M7的drain端)在低频下是一个高阻0.5ro,但是在零极点分析的时候被当做低阻1/gm。
用最直观的方法分析才是好的designer。
首先,我们从折叠点(M6,M7的drain端)开始,从M6,M7drain向上看,看到一个ro;向下看:
a.如果M8,M9drain端向下看的电阻很小的话,则M6,M7drain端向下看的电阻约为1/gm;
b. 但是, 很遗憾,M8,M9drain端向下看的电阻很大为gm*ro*ro,则从M6,M7drain端向下的电阻约为ro(有兴趣可以推导一下)。
故,M6,M7向上向下都看到一个ro,平均电阻ro/2;如果没有 input cascode(M4,M5)相当于,M1,M2的drain端接了一个大电阻(小信号);会产生严重的miller效应;降低电路速度,引入大极点。
加了M3 M4后,从M1 和M2的drain端往上看,看到一个约为1/gm的电阻,有效减少了,输入管的miller效应(假设从前一级的信号源(图中未画出)是有内阻的)。
简单说,input cascode的作用就是为了减少输入管drain端看到的等效电阻,从而避免输入端miller效应的大电容,配合前级信号源是有内阻,造成的极点。
参考文献 EE240 2009 2013 Folded-cascode 一章 (EE240 2009 Lecture 12 第50分钟处)
问题2:既然折叠点是高阻,为什么我们在做零极点分析时,却看不到这个高阻配合折叠点的寄生电容产生的极点的呢?
这是因为,在高频时,输出电容近似短路,于是这个点变成低阻点约为1/gm,故折叠点的极点为gm/Cp。详细分析,如下
补充说明:
极点的位置与频率无关,严格小信号分析,次极点的位置应该会和gm,Cp,CL,ro都有关,是一个与他们相关的复杂表达式。
它的大小应该是很靠近gm/Cp,远离1/(roCp),即使CL和Cp在一个数量级。实际情况往往CL很大,所以它会更加靠近gm/Cp.
在基本folded-cascode-OTA(无input-cascode结构,无信号源内阻)
主极点约在1/(gm*ro*ro*CL)处,应该都没有疑问吧。那上述结构中的次主极点在哪呢?
如果进行详细的小信号分析,是肯定可以得到一个非常复杂的次极点表达式的,它和gm,ro,cp,CL 都有关系,大约有四个。
(四个次主极点在M6,7,12,13的drain位置引入,他们地理位置相近,所以大小相近)
以折叠点为例,这个复杂的表达式所表示的次极点的大小大约是多少?
1. 假设它离主极点很近,也即,在主极点之后的相距不远的频率处,假设此时,CL的作用还不是很明显(极端时认为CL开路),这时该点的电阻约为ro,电容cp
我们预估这个复杂的次主极点位置大概在1/(ro*cp)处。
这样的假设是正确的吗?我们来看一下,若它在这个位置,则它是主极点大约gm*ro*(CL/Cp)倍的位置,即使输出端电容CL跟Cp一个量级(实际情况要大的多),那这个倍数也有将近gm*ro(=30-40)倍(以TSMC-0.18工艺L=180nm,NMOS为例)。这个倍数下,放大器的增益,早就降低好几十倍了,说明这个频率下1/(sCL)的值很小了为ro(与gmroro相比)。所以, 我们把输出端电容处理成开路的做法是错误的。
2. 假设这个极点离主极点很远,是一个高频极点,认为此时CL近似短路,此时从折叠点看到的电阻为(1/gm),电容Cp;
这个极点在gm/Cp附近;
它是主点的gmro*gmro*(CL/Cp)倍,假设CL跟Cp在一个数量级,则它主点的gmro*gmro=1600倍数,的确是高频。
在这个频点放大器增益约为1。也就是说,OTA的输出阻抗的大小为1/gm。
回过来看,我们的假设是在次极点时,CL近似短路,也即我们假设在这个频点的输出阻抗很小;在这个基础上,我们推到了折叠点的电阻约为1/gm而非ro。然后,我们导出极点位置,发现在这个极点位置下,OTA的输出阻抗确实很小为1/gm。
自圆其说,类似不动点中f(x)=x,在下一节中会有详细说明。
于是我们接受这个复杂的主极点的表达式的近似值会靠近gm/Cp。
我不知道我是否准确表述了上面的逻辑,看起来有点循环论证。但这种思路是能否定第一种情况的,即这个极点是不可能在1/(roCp)附近次极点的复杂表达式的值的位置应该是在1/(ro*Cp)与gm/Cp之间,非常靠近gm/Cp,而且是CL越大,次极点越靠近gm/Cp。
再次补充说明:
想到一种用函数不动点 f(x)=x 进行解释的原理:
问题:我们需要知道在次极点处的输出阻抗的幅值,输出阻抗的幅值=(gmroro并联上(1/sCL));由于次极点不知道,所以,这个幅值也不知道。
假设它是满足方程g(x)=0的根;这个方程肯定存在,但是可能非常复杂。为了求解方程,我们把g(x)=0换成 f(x)=x;
“f(输出阻抗)= 输出阻抗”
第一次我们假设x=gmroro,也即认为输出的电容CL,在次极点处完全不影响输出阻抗;在此基础上我们进行一系列推导,发现在这个假设下f(gmroro)=gmroro并联ro=ro,其中ro是此时容抗的幅值。
我们的假设离结果很远,于是我们进行第二次迭代(准确叫第二次猜测);
我们假设在次极点处,CL严重影响输出阻抗幅值。
极端:我们假设在次极点处,输出阻抗为0,也即CL完全短路;在这个基础上我们完成推导f(0)=(1/gm),这里的1/gm是表示的输出阻抗;这个结果已经比上次假设很接近了,所以我们认为此时假设较为合理。
在这样的假设下,我们得到折叠点的极点gm/Cp。
gmroro大于ro x大于f(x)
0 小于1/gm x小于f(x)
实际在次极点的输出阻抗可定在ro与1/gm之间;非常靠近1/gm;
折叠点的等效电阻也应在这两种假设之间(CL断路和短路);也即ro和1/gm之间;次极点在1/(roCp)与gm/Cp之间,非常靠近gm/Cp。
可用下面这个图来加深理解
另外我们在求解fT的时候,似乎也用到了类似的思想:
我感觉这样的方法,不想你说的这种情况,比较像不动点的情况。
我们推fT时,假设了在fT时,的输出电流全为gm*vi,实际应是(gm*vi-vi*(s*Cgd));
输入电流为s(Cgs+Cgd)*vi;
两者相等,则fT=gm/(Cgs+Cgd)/2pi;
然后我们会把这个fT的值回代回去,发现vi*(j*(fT/2pi)*Cgd)相比gm*vi的确可以忽略。
这也是一种不动思想的求解方程。