gm/ID设计方法学习与仿真

2024-03-27 22:40
文章标签 设计 学习 方法 仿真 id gm

本文主要是介绍gm/ID设计方法学习与仿真,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

加入实习公司后第一个项目就是做一个高带宽运放,算是让我们来练下手、熟悉下模拟设计的开发流程。虽然本科学过模拟相关课程,但基本忘完,课题还是器件,而且这个项目周期只有一个多月,实在是亚历山大。最后搭了个经典的全差分高带宽折叠共源共栅辅助运放,需求是1Ghz,前仿只达到500M。。。太差太差。

后来才知道现在设计运放几乎都采用gm/ID方法,而且甚至拉扎维书上就有很成熟的仿真流程,为避免变成spice monkey,现在理论结合实际查漏补缺一下。主要根据上海交通大学的课程、台湾教授课程以及斯坦福EE240课程《A basic introduction to the gm/Id based design》三个方面记录学习。pdf放在附件里了,供参考学习。

这里转载一下参考的知乎博主CheliosRyo的整理https://link.zhihu.com/?target=https%3A//www.bilibili.com/video/BV1PZ4y1g7cZ%3Fspm_id_from%3D333.1007.top_right_bar_window_custom_collection.content.click

一、上交gm/ID课程

上海交通大学的gm/ID课件介绍了gm/ID的来源,并侧重分析强反型(SI)与弱反型(WI)两种情况下的参数关系变化,最后通过一个OTA运放介绍参数的选定。全文基于gm/ID和ID/W/L(下面用I0或方块电流简记)的关系曲线选定W/L,与一般的gm/id方法有些许差异,细细品来,就是跳过了通过晶体管本征增益和本征频率确定gm的过程。

1.为什么需要gm/id

主流设计方法往往侧重于强反型区(过驱>0.2V),低功耗设计则侧重于弱反型区(<0),但现在缺乏对中反型区的简单和准确的手算模型。

1.对于弱反型,有最低的功耗但速度慢

2.中反型区:功耗速度恰当

3.强反型区:速度较快但功耗和摆幅较差

2.gm/ID的来源

直流或者低频下,电流流向输出电阻ro或者输出电导gd,传输函数为:

高频下,电流几乎全流向电容C,传输函数为:

考虑沟道调制效应,随着夹断点向源极靠近,沟道电阻降低,更多的电子漂移到夹断点再被漏极抽走,因此Id会增大。输出电导gd=Id/Va(输出曲线斜率),Va即我们所谓的厄尔利电压,等于单位厄尔利电压Ve×L(从饱和区电流公式关于VDS求导即可换算得到),Ve由工艺决定。

                                                                       V_A=\frac{1}{\lambda }

 在角频率处,课件这里取交流增益约等于直流增益,推导得到主极点和增益带宽积以及两者关系。

下面课件给出gm/ID关于方块电流微分的推导:

接着根据饱和区公式,推导得到最核心的一张图,即log(W/L)~log(ID)关系图:

gm/ID关于过驱动电压关系
W/L和ID对数关系式
W/L和ID对数关系图

简单分析图像可以看出,当ID足够大,进入强反型区,W/L和ID(对数关系,下面都省略)几乎呈线性关系,斜率根据公式为-1。随着ID减小,逐渐进入弱反型区,且ID存在一个最小值渐近线。

这里关键的一点是对弱反型区的分析。在弱反型区,gm/ID公式修改如下:

可以很明显发现,gm/ID为常数,在Vg不变的情况下,ID不变。因此进一步课件给出更符合图表和各种区域的关系式:

文章指出,对一种晶体管,gm/id和方块电流的关系是独特的(这似乎从饱和区公式可以显而易见得到)。

3.OTA实例

最后,文章给出一个五管OTA接共源极的两级运放的例子,并结合W/L关于ID曲线分析管子参数。

例子给出总电流2uA,负载电容10pF以及几个关键管子的跨导,手算宽长比得到最大增益、GBW和SW并与SI、WI情况下做对比。实际就是一个两级运放。由第一级五管ota(差分输出)加上右侧共源极(由cascode提高增益),左侧为偏置电路(注,第一级运放输出电阻即为二极管连接的M4,故即为第二级运放的输入跨导,两者相消了)

输出电阻即为cascode的并联,利用厄尔利电压的公式可以很容易得到增益公式:

课件跳过推导,直接给出了几组跨导的选择,并根据下图得到方块电流:

从图像上很容易找到对应点,再求出宽长比,即可确定管子参数。

最后仿真结果和参数如下:

但课件并未告知采取的是什么pdk以及偏置电压怎么取,故贴主采用smic55nm工艺并随便取了偏置电压进行了实验,取偏置VBn=600m,VBn2=600m,VBp=2,得到结果大概70deg,280khz,55dB(差这么多,😓),根据提供的数据代入公式计算应该是100dB,根据实际仿真手算得差不多50dB。

经过分析发现,可能是工艺差别问题,lz用的是smic55下nlvt12ll和plvt12ll晶体管,厄尔利电压分别为4/3,7/3,因此输出电阻差别很大,尤其是r10仿真为50k,而课件给的是30M.

最后做了一个gm/id关于IA/(W/L)的仿真曲线,趋势基本一样,这里一定要注意横轴取log,不然看不出来.

二、一般的gm/id仿真

1.现代集成电路制造中使用的制程十分先进,短沟道效应等非理想效应使得先进工艺下MOSFET器件的I-V特性无法用Square-law很好的拟合。自己用短沟道pdk仿真一下就会发现误差非常大。

2.Square-law仅仅反应了器件沟道强反型时的理想电子漂移电流模型,对于弱反型等情况无法表示,正如上交课件所介绍的。

以上两点,简而言之,无法用足够简单又足够准确的模型对实际中先进工艺下的MOSFET进行建模。

3.foundry给出的工艺库中几乎无法查找到C_{ox}\mu等参数,lz用华力的pdk时就没有找到这些参数。。。不得不手算解方程。

无法通过手算分析电路,电路设计人员容易陷入盲目,猜谜似的调节管子的尺寸,调着调着不知怎地“恰好”满足了设计的需求,但往往给出的并不是最优解,而且也缺少标准化的设计方法。B. Mumman教授将这种设计方法称为"Spice monkey design methodology"。lz在一开始设计的时候由于基础比较差,而且项目很急,因此陷入了这个状况,现在回想起来实在细思极恐,毛骨悚然,嗐,差点退化!而gm/id方法基于的是管子本身的性质,因此比传统的平方律方法要准确的多。换句话讲,gm/id方法就是利用管子被做出来后(或者依据pdk被设计后)固有的参数,与我们所需要的电流、跨导、栅长宽构成联系,通过图表的方式呈现出来供我们参考。相比依据推算的理想公式,自然要准确的多。但换句话说,这种方式更加需要经验。

这里先给出关系mos管特性的几个参数关系:

\frac{g_m}{I_d}=\frac{2}{V_{OD}}                 

 f_T=\frac{gm}{2\pi C_{gs}}           

  \frac{g_m}{C_{gs}}\approx \frac{3\mu V_{OD}C_{ox}}{2L^{2}}             

 C_{gs}\approx \frac{2WLC_{ox}}{3}(不考虑覆盖电容)

r_0=\frac{1}{\lambda I_D}\propto L^{2}

式中fT为mos管截止频率,可以推导得到与其本征增益gm*ro相乘得到增益带宽积正比于1/L,即只与管子长度有关。

2.仿真步骤

这里采用华力55nm工艺,制程属于是绰绰有余.mos选用n25od33_lp p25od33_lp(因为本来项目用的就是这个管,为了便于修改还是用它了),最小L为500nm

先扫下dc,观察下晶体管参数。这里vg、vd都给变量,初始值1.2v。

先扫描截止频率和gm/id与过驱动电压的关系。os选参数发现这个pdk不能取os,因此只能从result browser里把参数送回计算器,这种方式在dc里的变量就无效了,只能通过parameter tool设置横轴,很不方便查看不同l下的情况。所以改用台积电65nm了。。。。

管子型号

tsmc65的管子真多啊。网上查了下各种型号的区别,下面记录下各种参数的意思:

nch模型为标准的BSIM模型,缺少对很多效应的描述。模型攻城狮会单独设计子电路把nch包括进去。网上也有说这种类型的mos的阈值电压与W,L有关,不过在pdk里的技术文件似乎没找到明确定义。带_mac后缀的是更先进工艺的管子,版图会考虑更多参数,因此选用这种会好点。

dnw表示深阱工艺,主要用在BCD工艺,防止衬底带来的较大噪声以及高电压下的击穿。

hvt、lvt、mlvt:表示阈值电压的高低,越高功耗越低

na:native device 表示原生器件,没有经过调制,阈值基本为0,泄露电流较大

od、ud:overdrive underdrive。表示源漏电压范围,借用网上的资料
            {

25ud18是让device稍微变快一点,25od33是让device punch trhough电压更高
            25ud18 和 25od33都是在2.5V device的基础上 改变 length minimum value 的约束,但是从实际器件来说并没有差别
                                        举个简单例子,tsmc40LP 工艺中,
                                        nch25ud18  ---->  minimum length 250n
                                        nch25  ---->  minimum length 270n
                                        nch25od33  ---->  minimum length 450n

}

此外,没表明电压的就是1.2v管,别的根据名字来。

对于nch和nmos_rf的区别,nch是更通用的管子,而rf是用于射频的工艺,有固定布局的pcell,表征和隔离更良好,面积更大。为了更小的面积,许多人更偏向用nch管

综合考虑,lz还是选用nch_mac管子

mos扫描

下面的gmid都是指gm/id

接着就是dc仿真,然后计算器里os取参数。取参数的时候一定要注意两个容易搞混的参数。一个是betaeff和beff,前者表示考虑沟道调制等二级效应后的修正迁移率×栅氧电容,后者表示理想值。还有一个是rout和ron,前者表示小信号输出阻抗,即输出特性曲线微分,倒数即gds,后者为直流参数,直接电压÷电流。此外,这个pdk的特征频率为fug,lz找了半天= =

首先扫了下vgs关于这些参数的关系,符合预期

然后扫描gm/id和fT关于过驱动电压的关系,确定下过驱动电压的合适范围。

感觉150mv到390mv都是还可以的范围,对应gmid范围为5.3-10

 仿真gm/id*fT关于gm/id的关系确定gm/id范围,最优区大概6-11.考虑过驱动电压的范围,后续gm/id取6-10,对应过驱动电压160mv-270mv,一般地,取200mv左右。

下面扫描gmid-gmro和gmid-fT,结果如上。l扫描范围是100n到2u,在这个制程下有点大了,结果也不太准确。重新在100n-300n扫描,结果如下:

最终决定取L=180nm。

最后一张图是gmid-id/w,用来确定w的取值。在确定了L的长度(为了后端的匹配,除了电流镜外nmos基本统一取180nm)后,根据管子在电路中不同的作用确定gmid的范围,然后找到对应w(电电流镜的宽长比另说)。

L=180nm对应深蓝色这条线。假设gmid=6.9,则id/w为50,取电流50u,得到w=1u,很合理的范围。

可以发现,确定w和确定id是互相进行的。实际上,输入对管的id往往在设计前根据功耗以及SR确定范围,而跨导则根据带宽要求确定。对于别的支路,根据电流镜的匹配确定电流,然后根据功能以及前面的扫描范围确定gm/id,再去找w。也就是说,这其实是一个很灵活的过程,手算或者说gmid只是给你一个大概的范围,并不能给出精确值,往往是根据经验确定一个范围效率会很高。但切忌经验主义错误,因此gmid的手算仿真过程也是需要的。

3.gm/id和L的选取

对于运放的例子,网上很多,就不赘述了,这里根据老师的讲解对gm/id和L的选取做个总结:

如果需求高带宽,则L会取得稍微小点,因为这样寄生电阻和寄生电容会小,根据前面fT的公式也可以知道。如果需要高增益,则L会取大,这样ro会变大。

而对于gm/id,则需要考虑更多,主要是摆幅、噪声功耗和增益的问题。

最简单的,从增益公式直观来看,gm变大都是有利的,所以输入对管的gm往往会力求足够大。同时gm/id=2/Vov,gmid会影响输出摆幅以及输入摆幅的范围。希望输出电压摆幅大则Vov需要小,因此gmid要大,而且也可以降低功耗,因为在源漏电压满足较小的过驱动电压时意味着管子工作在亚阈值或者弱反型区,电流较小。根据gmid-ft图像可以知道,小的gmid可以带来较大的带宽。

另一方面,电流噪声和电压噪声分别正比、反比于gm。因此如果一个管子起着电流镜的作用,则gmid需要小,如果起着增益等作用,则可以大点。

最后借用ee240课程做一个步骤总结:

采用这个方法我们需要获得特征频率ft~gm/Id, 本证增益gmro~gm/Id及电流密度Id/W~gm/Id三组曲线,通常的设计步骤是:
1、 通过电路的增益需求,在gmro~gm/Id的曲线上选择合适的沟道长度L
2、 根据噪声,失调,速度等spec以ft~gm/Id曲线为管子分配合适的gm/Id
3、 根据零极点分布,确定各个管子的gm(主要是增益级的输入管)
4、 由gm/Id计算Id
5、 根据Id以Id/W~gm/Id曲线为依据计算W

最最后,课程中还总结了gmid方法的魔力所在:

考虑晶体管并联(这里lz认为是考虑到设计电路时我们一般都是去改变w,例如电流镜),每个管子跟a一样,电流电压也一样,那么总和的ID、gm、Cgs都会变为2倍,因此gm/id和gm/Cgs(即fT)不变,c即是并联的结果(相当于W相加)。作者指出,gm、id和Cgs是与W线性变化的,因此比例总能保持不变。本征增益同理,跨导增加两倍,但因为是串联,所以阻抗变为1/2.这也就解释了为什么要绘制id/w~gm/id图像,正是因为这两组比例是等效变化的。

最后作者指出,虽然并联也不是理想的两倍w,但这个误差是完全在我们手算范围内的,剩下的工作交给spice就好了!

这篇关于gm/ID设计方法学习与仿真的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/853634

相关文章

51单片机学习记录———定时器

文章目录 前言一、定时器介绍二、STC89C52定时器资源三、定时器框图四、定时器模式五、定时器相关寄存器六、定时器练习 前言 一个学习嵌入式的小白~ 有问题评论区或私信指出~ 提示:以下是本篇文章正文内容,下面案例可供参考 一、定时器介绍 定时器介绍:51单片机的定时器属于单片机的内部资源,其电路的连接和运转均在单片机内部完成。 定时器作用: 1.用于计数系统,可

问题:第一次世界大战的起止时间是 #其他#学习方法#微信

问题:第一次世界大战的起止时间是 A.1913 ~1918 年 B.1913 ~1918 年 C.1914 ~1918 年 D.1914 ~1919 年 参考答案如图所示

[word] word设置上标快捷键 #学习方法#其他#媒体

word设置上标快捷键 办公中,少不了使用word,这个是大家必备的软件,今天给大家分享word设置上标快捷键,希望在办公中能帮到您! 1、添加上标 在录入一些公式,或者是化学产品时,需要添加上标内容,按下快捷键Ctrl+shift++就能将需要的内容设置为上标符号。 word设置上标快捷键的方法就是以上内容了,需要的小伙伴都可以试一试呢!

AssetBundle学习笔记

AssetBundle是unity自定义的资源格式,通过调用引擎的资源打包接口对资源进行打包成.assetbundle格式的资源包。本文介绍了AssetBundle的生成,使用,加载,卸载以及Unity资源更新的一个基本步骤。 目录 1.定义: 2.AssetBundle的生成: 1)设置AssetBundle包的属性——通过编辑器界面 补充:分组策略 2)调用引擎接口API

Javascript高级程序设计(第四版)--学习记录之变量、内存

原始值与引用值 原始值:简单的数据即基础数据类型,按值访问。 引用值:由多个值构成的对象即复杂数据类型,按引用访问。 动态属性 对于引用值而言,可以随时添加、修改和删除其属性和方法。 let person = new Object();person.name = 'Jason';person.age = 42;console.log(person.name,person.age);//'J

大学湖北中医药大学法医学试题及答案,分享几个实用搜题和学习工具 #微信#学习方法#职场发展

今天分享拥有拍照搜题、文字搜题、语音搜题、多重搜题等搜题模式,可以快速查找问题解析,加深对题目答案的理解。 1.快练题 这是一个网站 找题的网站海量题库,在线搜题,快速刷题~为您提供百万优质题库,直接搜索题库名称,支持多种刷题模式:顺序练习、语音听题、本地搜题、顺序阅读、模拟考试、组卷考试、赶快下载吧! 2.彩虹搜题 这是个老公众号了 支持手写输入,截图搜题,详细步骤,解题必备

电脑不小心删除的文件怎么恢复?4个必备恢复方法!

“刚刚在对电脑里的某些垃圾文件进行清理时,我一不小心误删了比较重要的数据。这些误删的数据还有机会恢复吗?希望大家帮帮我,非常感谢!” 在这个数字化飞速发展的时代,电脑早已成为我们日常生活和工作中不可或缺的一部分。然而,就像生活中的小插曲一样,有时我们可能会在不经意间犯下一些小错误,比如不小心删除了重要的文件。 当那份文件消失在眼前,仿佛被时间吞噬,我们不禁会心生焦虑。但别担心,就像每个问题

《offer来了》第二章学习笔记

1.集合 Java四种集合:List、Queue、Set和Map 1.1.List:可重复 有序的Collection ArrayList: 基于数组实现,增删慢,查询快,线程不安全 Vector: 基于数组实现,增删慢,查询快,线程安全 LinkedList: 基于双向链实现,增删快,查询慢,线程不安全 1.2.Queue:队列 ArrayBlockingQueue:

在线装修管理系统的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,装修队管理,用户管理,装修管理,基础数据管理,论坛管理 前台账户功能包括:系统首页,个人中心,公告信息,论坛,装修,装修队 开发系统:Windows 架构模式:B/S JDK版本:Java JDK1.8 开发工具:IDEA(推荐) 数据库版本: mysql5.7 数据库可视化工具: navicat 服务器:SpringBoot自带 ap

硬件基础知识——自学习梳理

计算机存储分为闪存和永久性存储。 硬盘(永久存储)主要分为机械磁盘和固态硬盘。 机械磁盘主要靠磁颗粒的正负极方向来存储0或1,且机械磁盘没有使用寿命。 固态硬盘就有使用寿命了,大概支持30w次的读写操作。 闪存使用的是电容进行存储,断电数据就没了。 器件之间传输bit数据在总线上是一个一个传输的,因为通过电压传输(电流不稳定),但是电压属于电势能,所以可以叠加互相干扰,这也就是硬盘,U盘