喜欢自学的禾粉,肯定偷学过Stanford大学或UC Berkeley大学的EE类课程的教学视频。其中,斯坦福大学Murmann教授的EE214的课程用了一个章节来详述了gm/id方法[1]。gmid方法作为模拟/射频电路设计的必备技能而被广泛应用。今天,小禾君就来详细地讲解一下gmid方法的本质。
大部分人理所当然的认为gmid方法的提出者来自Stanford和UC Berkeley这两所大学。事实上,gmid方法确实来自学术界,早在斯坦福大学和伯克利大学之前,业界已经因为鲁汶大学的Jespers于1996发表在JSSC一篇的文章炸了锅[2],众所周知,能发表在顶级期刊上的东西含金量肯定高。gmid的方法一经提出就受到了热捧。2010年左右gmid方法已经成为了业界通识,Springer还专门出了一本书籍来讲解gmid方法[3]。
2017年Jespers 和Murmann 两位大牛联袂,《Systematic Design of Analog CMOS Circuits: Using Pre-Computed Lookup Tables》一书将整个理论和流程整理得更顺畅了,尤其是本书配套了大量matlab代码,非常实用。
除了大牛笔耕不辍,很多民间高手也在钻研这种方法,先后包括chris、Eric Yeh、Master-micro、Hafeez KT都录了相关视频。chris算是国内民间的名人了,早年翻录了EE240视频,堪称初学者的福音,后来在网易云开课,讲解模拟电路设计相关的知识,值得注意的是他的gmid曲线的绘制采用的是Spectre配合Ocean脚本的方式来完成的。台湾半导体研究中心的Eric Yeh详细讲解了用ADE explorer绘制gmid曲线,以及设计五管运放和Fold-cascode运放的实际例子。Master-micro公司录制视频很大程度上是为了推广该公司的Toolbox软件(这其实是个插件),该视频中对于gmid方法的实质和理论依据概括还是很到位的。Hafeez KT的视频是很好,既有理论又有Spectre实操,就是三哥这口音有点炸裂。
半导体EDA发展初期,使用Hspice的level1模型就能完美预测MOS器件的特性。随着特征尺寸的减小,一些奇怪的效应陆续出现,导致原来的level1模型根本不够用了,以至于从level1,level2,level3.。。。。。到现在已经有超过50个复杂的仿真模型了,目前计算机普遍使用的是BSIM3V3(对应于Hspice中的level49)的模型,经过这么多年的努力,模型设计者也放弃了物理意义至上的原则,,淡化了器件的原理,逐渐转变为经验参数(多阶拟合的方式),模型中参数个数由14个增加到了上百个(BSIM第三版有约180个参数),可以说工程师把一切脏活累活全都甩给了计算机。
拿一个普通的65nm的管子来说,典型的Vds~Id曲线有着很大的区别,不仅数值差很多,而且曲线的形状也发生了巨大变化。手算和仿真甭提拟合上,计算的结果经常差个十万八千里也不足为奇。就这样,随着MOS管平方率模型走线结束end-of-life,终于模拟电路工程师发现“奶酪”不见了。一部分模拟仿真者干脆直接跳过手算,直接tuning电路,这就变成了大佬嗤之以鼻的“Spice Monkey”。为了不被嘲笑,有些模拟设计者学会了“劳动成果转化”。把仿真得到的关于gmid一系列曲线,强行占为己有,死活不承认自己是spice monkey,强词夺理说自己这是在——查表(Lookup table)。
对于放大管,哪两个参数最重要,答案无疑是:gm和Id这两个参数。gm决定了增益,id决定了功耗。
对于饱和区,我们依据平方率模型,gm的三种表达式:
我们看一下三极管的gm,这个后面我们会用到。
观察三极管的gm/Ic=1/26mv=38.5
你可能没想到,三极管的gm/Ic居然是个常数——38.5
注:Vgs-Vth=Vov,Vov称为过驱动电压。
对于饱和区MOS管:
gm/Id=2/Vov
有意思来了,随着Vov减小,gm/Id会越大,这个发现让我们不由得灵魂一颤,如果让Vov取值很小,那么跨导电流效率会非常高,意味着,用很小的电流就能获得足够大的gm!从公式看确实如此,但坏消息是,随着Vov的减小,器件逐渐进入亚阈值区。
亚阈值区电流公式:
此时跨导公式:
这下完了,由于
说明MOS管的gm/Id永远比三极管差(命运啊!),也就是永远无法超越38.5。MOS管和三极管区转换点是能够衔接的,也就是转换点同时满足饱和公式和三极管区公式。
我们实际仿真MOS一组gm/id随Vgs的变化,果真,诚不欺我,永远<38.5。
这里有个小插曲,看过sansen的《模拟电路设计精粹》一书会经常提到过驱动取值,很随性的就选择了Vov=4*vt=200mV,这个200mV怎么来的呢?先看一下,此时gm/id=2/Vov=10,是不是觉得很合理?这里只是直觉的判断,后面相信看过gm/id设计流程之后,对于为什么选择Vov=200mV,会有一个很深的认识。
gm/id本质上是查表法,既然是查表肯定要做图表,那么这里就要做出gm/id经典三张图:特征频率、本征增益、电流密度。当然还可以有其它辅助图表,电容比例图表,噪声图表等等。
观察MOS管的电流公式:
如果限定了电流,那么未知数还有四个。
Id=f(W,L,Vov,λ)
四个未知数,只要知道三个,所有的未知数就都确定了。经典的平方率手算求解过程:
①先确定Vov,这个直接让Vov=200mV,
②L和λ的选择是个折衷,如果有此时的ft和增益图,就能确定出需要选择的L,那么此时λ也就确定了,
③最后用电流直接求出参数W。
平方率手算设计电路的过程,就是求解W,L,Vov,λ四个参数的过程。
我们将平方率方法和基于gmid查表法的求解过程对比如下
查表法和基于平方率计算的方法基本如出一辙,只不过gmid并不是靠手算得到结果,而是用实际的管子扫描得到的曲线作为依据,这样最终结果准确性极高。
gmid查表法的精髓就是绘制三张图表,目前仿真器大概分为:Spice、Spectre、ADS和Matlab几类。其中Spice方法参考教程比较多,尤其是EE系列的课程。Matlab其实不属于仿真器,添加了仿真器接口驱动后,可以将Matlab作为一个GUI接口,完成数据操作,具体的仿真任务还是模拟仿真器来完成的。模拟电路设计,使用最多的还是Spectre。并且Spectre出图也有三种:ADE L、ADE XL or ADE explorer、Ocean脚本。使用ADEL+Ocean脚本可以参考Chris的视频教程,使用ADE Explorer可以参考Eric Yeh的视频。其实只要将公式输入正确,基本无需输入复杂的脚本,今天这里不用ocean,不用explorer,就以最简单的ADE L为例说一说如何出图。
①设置好dc仿真,保存静态点(无需扫描参数)。
②ADE L-> Output-> Setup添加如下公式:
上表中最终只需要plot这三个结果:ft_vs_gmid,gmro_vs_gmid,idw_vs_gmid即可,其它结果选择save。
③到此还没结束,要想得到曲线组,需要ADE L -> Tools-> Parameter sweep,扫描mos的Length参数和MOS的漏源电压,如下图所示:
这样经过以上三步,gmid的曲线,以及三张图表就生成好了。
说了这么多,可能还不太直观,大多禾粉只停留在绘制三张图表,具体怎么应用就显得有点手足无措。这里,小禾君以电阻为负载的CS放大器设计为例,说一说传统手算方法和gmid方法设计的差异。其实前面已经讲解了两种设计方法的区别,现在以一个实际例子复述一下。
两种设计方法,初始的步骤都是一样的,根据带宽计算Rd,再根据增益要求计算出gm。
随后,平方率方法根据公式,手算求得L、Vgs、W等参数。而查表法是根据三张图表以及此时的gm/id值,索引到L、Vgs、W。显然,后者的精度更高,所需迭代次数更少。
gmid方法看似玄学,但是通过上面实例发现,基本的手算求解步骤并没有发生变化,包括零极点、增益、带宽这些求解过程几乎是一成不变的。只是涉及到单管尺寸和偏置的时候,选择gmid查表法。
当然,还有五管运放,折叠共源共栅运放这些更复杂的例子,这可以参考之前提到的视频资料,这里并不想为了仅仅是在选管子的时候用一下gmid方法,而罗里吧嗦的说很多和gmid无关的设计流程。哈哈,小禾君,行走江湖这么多年,讲究的就是——点到即止。
注:晶体管的本征增益和寄生电容,对于增益和带宽是有影响的。即使使用gm/id方法,也是需要迭代验证的。
通过最终仿真,你会发现gmid方法的精准性已经完胜手算模型了,毕竟,查表法本身就是基于仿真的嘛。迭代一两次后设计出来的结果也很合理。对于gmid方法的研究并没有局限简单的管子尺寸选择。譬如之前提到的一些商用插件,做了GUI界面,大大方便仿真出图和最终查表。还有的电路爱好者,开发出来一套优化流程,根据matlab脚本,设定好需求后,配合gmid方法,很快就能求出最终所有电路器件的尺寸(当然这些都局限于固定的电路结构)。
很多时候,gmid方法已经被玩坏了,似乎沦为了一个噱头。只要是模拟设计都可以用gmid方法。
对于基于gmid方法的整套自动化优化流程,小禾君还是持谨慎态度的。所以这里也不打算浪费篇章来赘述所谓的全自动优化算法或者脚本。因为,这些方法只是适用于固定电路结构,优化的目标往往只有增益,带宽,电流等,并没有考虑噪声,上电时间这些更复杂的目标,最重要的是,这些优化算法编写代码和验证代码需要提前做很多准备工作。既然是计算机优化,为什么不干脆使用ADS的Optimum,让计算机“盲调”呢?反正运放基本就那几个管子,三两分钟就能优化出来的结果。
gmid方法满足了手算模型爱好者的倔强,使用这种方法的精度和最终仿真结果几乎完全一致,是所有模拟电路设计者的必备技能。
更多关于芯片和半导体的原创知识可以关注本公众号,每日更新!建议收藏点赞。
参考文献:
[1]https://www.academia.edu/41588402/Ee214b_gmid
[2]https://ieeexplore.ieee.org/document/535416/
[3]The gm/ID Methodology, a sizing tool for low-voltage analog CMOS Circuits
[4] https://www.bilibili.com/video/BV1KY411J7kX/