gm/ID设计方法学习笔记(一)

news2024/11/22 16:25:45

前言:为什么需要gm/id

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

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

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

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

(二)现代集成电路制造中使用的制程十分先进,短沟道效应等非理想效应使得先进工艺下MOSFET器件的I-V特性无法用Square-law很好的拟合。

(三)Square-law仅仅反应了器件沟道强反型时的理想电子漂移电流模型,对于弱反型等情况无法表示。

(四)foundry给出的工艺库中几乎无法查找到所需参数。无法通过手算分析电路,设计人员容易陷入盲目调节管子的尺寸,调着调着不知怎地“恰好”满足了设计的需求,但往往给出的并不是最优解,而且也缺少标准化的设计方法。gm/id方法就是利用管子被做出来后(或者依据pdk被设计后)固有的参数,与我们所需要的电流、跨导、栅长宽构成联系,通过图表的方式呈现出来供我们参考。相比依据推算的理想公式,自然要准确的多。
                        

一、基础公式理解

\beta =uC_{ox}\frac{W}{L},过驱动电压V_{OD}=V_{GS}-V_{th}

由:    g_{m}=\beta V_{OD}I_{D}=\frac{1}{2}\beta V_{OD}^{2}(饱和区电流公式,并且忽略了沟道长度调制效应)

可得: \frac{g_{m}}{I_{D}}=\frac{2}{V_{OD}}

           I_{D}=\frac{1}{2}g_{m}V_{OD}

理解:

(1)\frac{g_{m}}{I_{D}} 可以理解为单位电流下的g_{m},这里可以定义为“g_{m}效率”。即在分配相同的电流I_{D}时,当管子的“g_{m}效率” \frac{g_{m}}{I_{D}} 越大 ,所得到的g_{m}越大。

(2)从 I_{D}=\frac{1}{2}g_{m}V_{OD} 可以分析出,对于不同g_{m}值的管子,达到相同的I_{D}所需要的过驱动电压V_{OD}不一样。而g_{m}固定,电流I_{D}仅由过驱动电压V_{OD}有关,过驱动电压越大,电流越大。

二、gm/ID的取值讨论

通过对一个管子的 \frac{g_{m}}{I_{D}} 的合理取值,来达到增益与带宽的折中(增益带宽积GBW确定),同时兼顾噪声的影响。

对于一个固定工艺和固定参数的管子:

1.增益gain

gm/ID值越大,增益越大;

栅长L值越大,增益越大。

2.带宽f_{T}

gm/ID值越小,带宽越大;

栅长L值越小,带宽越大。

3.噪声V_{n}

此处只考虑管子自身最大的噪声源——热噪声,与频率有关的闪烁噪声暂不考虑。

\overline{V_{n,in}^{2}}=\frac{4kT\gamma }{g_{m}}

\overline{V_{n,out}^{2}}=4kT\gamma g_{m}r_{o}^{2}

  • MOS作为放大器,噪声在输入端,设计时要使得g_{m}稍大(gm/ID稍大)
  • MOS作为电流镜,噪声在输出端,设计时要使得g_{m}稍小(gm/ID稍小)

三、依据gm/ID设计管子尺寸(W、L)

电流密度 \frac{I_{D}}{W}单位尺寸W下的电流。

在不同的gm/ID取值下,有着不同的电流密度 \frac{I_{D}}{W} 。同时管子的栅长L对电流密度 \frac{I_{D}}{W}也有一定影响。

设计管子尺寸思路:

(1)选定合适的gm/ID的数值;

(2)选定L的数值;

(3)即可得到唯一确定的ID/W的数值;

(4)计算得到W的数值。

四、设计流程

1.计算gm的数值(一般为输入管)

从给定的增益带宽积GBW和所需要的负载电容C_{L}入手

C_{L}需要考虑电路本身的寄生参数,所以计算时取1.2倍的C_{L}。)

GBW=A_{v}f_{T}=\frac{g_{m}}{2\pi C_{L}}

2.带宽和增益折中后,选定gm/ID和L,得到ID

若所在支路电流是确定的,可以直接跳到步骤3。

3.在曲线里得到ID/W的数值

4.得到W

5.仿真验证,可跳到步骤2重新微调

五、曲线仿真

本文使用的工艺库为smic13mmrf_1233

对变量赋初值。其中,W对仿真结果稍微有点影响,后期根据实际得出的W,微调后重新仿真。

设置dc仿真,变量为vgs:

打开Calculator,找到waveVsWave绘制波形:

选择 waveVsWave后,点击Calculator中上方的os按钮,之后点击原理图中的晶体管,在小窗口选择gmoverid

将Calculator中缓冲区Buffer里显示的公式复制粘贴到波形绘制区的x轴位置:

        再将“self_gain”添加进Y轴。此处不需要再次点击晶体管了,只需要在小窗口中的list里直接选择即可:

部分工艺库没有self_gain,就手动输入下面公式:

OS("/M0","gm")/OS("/M0","gds")

        点击Apply,再点小齿轮将生成的公式送回到仿真环境中。 

还需要id的数值,添加进去之后,手动输入除以变量W,就是前面提到的电流密度。 

        另外,我们也可以扫描出过驱动电压Vov和沟道长度调制系数 λ,可以直接使用以下代码。在一些文献中也提到用VGS参数。

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

         设置参数扫描,将栅长L从500n扫描至2000n 。

        右键单击id/w-gmoverid图像的Y轴,将其改成对数显示。 

        修改之后如下所示,更加直观。

快捷键V可添加一个Marker。

后话:

声明:本文仅供个人学习交流,无任何商业行为。

参考文章链接

链接一:https://blog.csdn.net/weixin_44115643/article/details/119419501

链接二:https://blog.csdn.net/m0_46349108/article/details/134080846

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2188694.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++系列-二叉搜索树

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 二叉搜索树 二叉搜索树又称二叉排序树&#xff0c;它或者是一颗空树&#xff0c;或者是具有以下性质的树 若它的左子树不为空&#xff0c;则左子树上的所有节点的值都小于根节点…

大数据实时数仓Hologres(四):基于Flink+Hologres搭建实时数仓

文章目录 基于FlinkHologres搭建实时数仓 一、使用示例 二、方案架构 1、架构优势 2、Hologres核心优势 三、实践场景 四、项目准备 1、创建阿里云账号AccessKey 2、准备MySQL数据源 五、构建实时数仓​编辑 1、管理元数据 2、构建ODS层 2.1、创建CDAS同步作业OD…

鸿蒙网络管理模块03——多播DNS管理

如果你也对鸿蒙开发感兴趣&#xff0c;加入“Harmony自习室”吧&#xff01;扫描下方名片&#xff0c;关注公众号&#xff0c;公众号更新更快&#xff0c;同时也有更多学习资料和技术讨论群。 1、概述 多播DNS也简称MDNS(Multicast DNS)&#xff0c;他主要提供局域网内的本地服…

NVIDIA Ampere 架构

全球超强弹性数据中心的核心。 文章目录 前言一、突破性创新1. 第三代 Tensor 核心2. 多实例 GPU (MIG)3. 第三代 NVLink4. 结构化稀疏5. 第二代 RT 核心6. 更聪明、快速的内存二、为规模化部署而优化1. 为各种服务器优化性能2. 统一计算和网络加速3. 密度优化的设计4. 安全部署…

leetcode练习 路径总和II

给你二叉树的根节点 root 和一个整数目标和 targetSum &#xff0c;找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 示例 1&#xff1a; 输入&#xff1a;root [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum 22 输出&a…

ElasticSearch备考 -- 查询模版

一、题目 ### 基础版 Create a search template for the above query, so that the template (i) is named "with_response_and_tag", (ii) has a parameter "with_min_response" to represent the lower bound of the response field, (iii) has a parame…

二叉树进阶学习——从前序和中序遍历序列构造二叉树

1.题目解析 题目来源&#xff1a;105.从前序与中序遍历序列构造二叉树——力扣 测试用例 2.算法原理 首先要了解一个概念 前序遍历&#xff1a;按照 根节点->左子树->右子树的顺序遍历二叉树 中序遍历&#xff1a;按照 左子树->根节点->右子树的顺序遍历二叉树 题目…

10款好用的开源 HarmonyOS 工具库

大家好&#xff0c;我是 V 哥&#xff0c;今天给大家分享10款好用的 HarmonyOS的工具库&#xff0c;在开发鸿蒙应用时可以用下&#xff0c;好用的工具可以简化代码&#xff0c;让你写出优雅的应用来。废话不多说&#xff0c;马上开整。 1. efTool efTool是一个功能丰富且易用…

java入门基础(一篇搞懂)

​ 如果您觉得这篇文章对您有帮助的话 欢迎您分享给更多人哦 感谢大家的点赞收藏评论&#xff0c;感谢您的支持&#xff01;&#xff01;&#xff01; 首先给大家推荐比特博哥&#xff0c;java入门安装的JDk和IDEA社区版的安装视频 JDK安装与环境变量的配置 IDEA社区的安装与使…

多线程-初阶(1)

本节⽬标 • 认识多线程 • 掌握多线程程序的编写 • 掌握多线程的状态 • 掌握什么是线程不安全及解决思路 • 掌握 synchronized、volatile 关键字 1. 认识线程&#xff08;Thread&#xff09; 1.1 概念 1) 线程是什么 ⼀个线程就是⼀个 "执⾏流". 每个线…

数据在内存中的存储【上】

一.整型在内存中的存储 在讲解操作符的时候&#xff0c;我们就讲过了下面的内容&#xff1a; 整数的2进制表示方法有三种&#xff0c;即 原码、反码和补码 有符号的整数&#xff0c;三种表示方法均有符号位和数值位两部分&#xff0c;符号位都是用0表示"正"&#xff…

Java之队列

1. 概念 队列&#xff1a;只允许在一端进行插入数据操作&#xff0c;在另一端进行删除数据操作的特殊线性 特点&#xff1a; 队列具有先进先出FIFO(First In First Out) 入队列&#xff1a;进行插入操作的一端称为队尾&#xff08;Tail/Rear&#xff09; 出队列&#xff1a;进…

Pikachu-Sql-Inject - 基于时间的盲注

基于时间的盲注&#xff1a; 就是前端的基于time 的盲注&#xff0c;什么错误信息都看不到&#xff0c;但是还可以通过特定的输入&#xff0c;判断后台的执行时间&#xff0c;从而确定注入。 mysql 里函数sleep() 是延时的意思&#xff0c;sleep(10)就是数据库延时10 秒返回内…

【C++】异常处理

目录 一、C语言中传统的异常处理方式&#xff1a; 二、C中的异常处理方式&#xff1a; 三、异常的使用 1、关于抛出与捕获&#xff1a; 2、关于异常的抛出和匹配&#xff1a; 3、异常的重新抛出&#xff1a; 4、异常安全&#xff1a; 5、异常规范&#xff1a; 四、异常…

idea 同一个项目不同模块如何设置不同的jdk版本

在IntelliJ IDEA中&#xff0c;可以为同一个项目中的不同模块设置不同的JDK版本。这样做可以让你在同一个项目中同时使用多个Java版本&#xff0c;这对于需要兼容多个Java版本的开发非常有用。以下是设置步骤&#xff1a; 打开项目设置&#xff1a; 在IDEA中&#xff0c;打开你…

Git 下载及安装超详教程(2024)

操作环境&#xff1a;Win 10、全程联网 一、什么是Git&#xff1f; Git 是一个开源的分布式版本控制系统&#xff0c;由 Linus Torvalds 创立&#xff0c;用于有效、高速地处理从小到大的项目版本管理。Git 是目前世界上最流行的版本控制系统&#xff0c;被广泛用于软件开发中…

论文翻译 | Generated Knowledge Prompting for Commonsense Reasoning

摘要 整合外部知识是否有利于常识推理&#xff0c;同时保持预训练序列模型的灵活性&#xff0c;这仍然是一个悬而未决的问题。为了研究这个问题&#xff0c;我们开发了生成知识提示&#xff0c;它包括从语言模型生成知识&#xff0c;然后在回答问题时提供知识作为附加输入。我们…

TCP ---滑动窗口以及拥塞窗口

序言 在上一篇文章中我们介绍了 TCP 中的协议段格式&#xff0c;以及保证其可靠传输的重传机制&#xff0c;着重介绍了三次握手建立连接&#xff0c;四次挥手断开连接的过程(&#x1f449;点击查看)。  这只是 TCP 保证通信可信策略的一部分&#xff0c;现在让我们继续深入吧&…

盲拍合约:让竞拍更公平与神秘的创新解决方案

目录 前言 一、盲拍合约是什么&#xff1f; 二、盲拍合约工作原理 1、合约创建与初始化 2、用户出价&#xff08;Bid&#xff09; 3、出价结束 4、披露出价&#xff08;Reveal&#xff09; 5、处理最高出价 6、结束拍卖 7、退款与提款 三、解析盲拍合约代码…