当前位置: 首页 > news >正文

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

前言:为什么需要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。

后话:

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

参考文章链接

链接一:模拟CMOS集成电路设计中的gm/id设计方法及用Cadence Virtuoso IC617仿真有关参数曲线_virtuoso 算斜率-CSDN博客

链接二:

gm/ID设计方法学习与仿真_gmid-CSDN博客

相关文章:

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

前言&#xff1a;为什么需要gm/id &#xff08;一&#xff09;主流设计方法往往侧重于强反型区&#xff08;过驱>0.2V&#xff09;&#xff0c;低功耗设计则侧重于弱反型区&#xff08;<0&#xff09;&#xff0c;但现在缺乏对中反型区的简单和准确的手算模型。 1.对于…...

高度细化的SAGA模式实现:基于Spring Boot与RabbitMQ的跨服务事务

场景与技术栈 场景&#xff1a;电商系统中的订单创建流程&#xff0c;涉及订单服务&#xff08;Order Service&#xff09;、库存服务&#xff08;Inventory Service&#xff09;、支付服务&#xff08;Payment Service&#xff09;。 技术栈&#xff1a; Java 11 Spring Bo…...

Vue工程化开发

Vue工程化开发 一、工程化开发和脚手架 1.开发Vue的两种方式 核心包传统开发模式&#xff1a;基于html / css / js 文件&#xff0c;直接引入核心包&#xff0c;开发 Vue。工程化开发模式&#xff1a;基于构建工具&#xff08;例如&#xff1a;webpack&#xff09;的环境中开…...

Ray_Tracing_The_Next_Week下

5image Texture Mapping 图像纹理映射 我们之前虽然在交点信息新增了uv属性&#xff0c;但其实并没有使用&#xff0c;而是通过p交点笛卡尔坐标确定瓷砖纹理或者大理石噪声纹理的值 现在通过uv坐标读取图片&#xff0c;通过std_image库stbi_load&#xff08;path&#xff09;…...

ES索引生命周期管理

基于如何 定时删除ES索引过期数据 而引发的一系列关于ES索引生命周期管理ILM(Index Lifecycle Management)的学习 快速上手 &#xff1a;定时删除ES索引中的过期数据 1. ILM解决什么问题&#xff1f; ES从6.7版本引入ILM&#xff0c;通过ILM可以解决哪些问题呢? 自动新建…...

Oracle数据库体系结构基础

关于Oracle体系结构 基于Oracle11g体系结构 目标&#xff1a; 了解Oracle体系结构掌握逻辑存储结构掌握物理存储结构熟悉Oracle服务器结构熟悉常用的数据字典 Oracle数据库管理中的重要的三个概念 实例&#xff08;instance):实例是指一组Oracle后台进程以及在服务器中分配…...

QT学习笔记4.5(文件、参数文件)

QT学习笔记4.5&#xff08;文件、参数文件&#xff09; 1.保存配置参数 1.使用QSettings保存到注册表&#xff0c;ini文件 2.文件存储&#xff1a;使用 QFile 和其他类将参数保存到文本文件、二进制文件、XMLWENJIAN、JSON 文件等。 文本文件&#xff1a;以简单的键值对格式…...

服务器虚拟化的详细学习要点

服务器虚拟化的详细学习要点可以归纳为以下几个方面: 1. 基本概念与原理 定义与原理:了解服务器虚拟化是一种将物理服务器资源转化为虚拟服务器资源的技术,允许在一台物理服务器上运行多个虚拟服务器。 虚拟化层次:理解虚拟化的不同层次,如裸机虚拟化(Type 1)和托管虚…...

创建一个Java Web API项目

创建一个Java Web API涉及多个步骤和技术栈&#xff0c;包括项目设置、依赖管理、数据访问层实现、业务逻辑实现、控制层开发以及测试和部署。在这篇详解中&#xff0c;我将带领你通过一个完整的Java Web API实现流程&#xff0c;采用Spring Boot和MyBatis-Plus作为主要技术工具…...

对称加密算法的使用Java和C#

1. JAVA中的使用 1.1.原生使用 Main函数代码 import symmetric_encryption.AESExample; import symmetric_encryption.BlowfishExample; import symmetric_encryption.DESExample; import symmetric_encryption.TripleDESExample; public class App { public static…...

10款好用的开源 HarmonyOS 工具库

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

ubuntu22.04中备份Iptables的设置

在 Ubuntu 22.04 中备份 iptables 的设置&#xff0c;您可以采用以下几种方法&#xff1a; 使用 iptables-save 命令&#xff1a; 您可以使用 iptables-save 命令将当前的 iptables 规则保存到文件中。例如&#xff0c;要将规则保存到 /etc/iptables/rules.v4 文件中&#xff0…...

(PyTorch) 深度学习框架-介绍篇

前言 在当今科技飞速发展的时代&#xff0c;人工智能尤其是深度学习领域正以惊人的速度改变着我们的世界。从图像识别、语音处理到自然语言处理&#xff0c;深度学习技术在各个领域都取得了显著的成就&#xff0c;为解决复杂的现实问题提供了强大的工具和方法。 PyTorch 是一个…...

若依从redis中获取用户列表

因为若依放入用户的时候&#xff0c;会在减值中添加随机串&#xff0c;所以用户的key会在redis中变成&#xff1a; login_tokens:6af07052-b76d-44dd-a296-1335af03b2a6 这样的样子。 如果用 Set<Object> items redisService.redisTemplate.keys("login_tokens&…...

文件上传之%00截断(00截断)以及pikachu靶场

pikachu的文件上传和upload-lab的文件上传 目录 mime type类型 getimagesize 第12关%00截断&#xff0c; 第13关0x00截断 差不多了&#xff0c;今天先学文件上传白名单&#xff0c;在网上看了资料&#xff0c;差不多看懂了&#xff0c;但是还有几个地方需要实验一下&#…...

Chainlit集成LlamaIndex并使用通义千问实现和数据库交互的网页对话应用(text2sql)

前言 我在之前的几篇文章中写了如何使用Chainlit集成Langchain并使用通义千问实现和数据库交互的网页对话应用&#xff0c;但是发现Langchain的几种和数据库交互的组件都不够让我满意&#xff0c;虽然已经满足了大部分场景的需求&#xff0c;但是问题还是很多&#xff0c;比如…...

计组复习笔记

计组笔记 汇编部分 通用寄存器&#xff08;General Registers&#xff09;: AX (Accumulator): 用于累加运算&#xff0c;也是乘法和除法的默认寄存器。BX (Base Register): 可以用作一个基址寄存器&#xff0c;通常用于存放数据的基地址。CX (Counter Register): 通常用于循环…...

62. 环境贴图2

环境贴图作用测试 实际生活中光源照射到一个物体上&#xff0c;这个物体反射出去的光线也会影响其他的物体&#xff0c;环境贴图就是用一种简单方式&#xff0c;近似模拟一个物体周边环境对物体表面的影响。 测试&#xff1a;对于PBR材质&#xff0c;如果threejs三维场景不添…...

MATLAB中数据导入与导出的全面指南

在MATLAB中&#xff0c;数据的导入与导出是数据处理工作流中的两个基本步骤。导入是将外部数据加载到MATLAB工作区的过程&#xff0c;而导出则是将工作区中的数据保存到外部文件中。这两个步骤对于数据分析、可视化和结果共享至关重要。本文将详细介绍如何在MATLAB中进行数据的…...

Jenkins从入门到精通,构建高效自动化流程

目录 一、Jenkins简介1、Jenkins的历史与发展&#xff08;1&#xff09;Jenkins的起源&#xff08;2&#xff09;Jenkins的发展&#xff08;3&#xff09;Jenkins的社区与生态系统&#xff08;4&#xff09;Jenkins在我国的发展 2、Jenkins的核心功能3、Jenkins的应用场景 二、…...

制造协同:QNAP 软硬件架构化解汽车冲压车间大文件传输难题

制造协同&#xff1a;QNAP 软硬件架构化解汽车冲压车间大文件传输难题声明&#xff1a;本文围绕大型汽车零部件制造企业冲压车间的工程变更&#xff08;ECO&#xff09;数据流转场景构建虚拟技术方案&#xff0c;旨在探讨分布式网络与底层存储的实时同步逻辑&#xff0c;非特定…...

Linux 新手必会 30 个高频基础命令(零基础可直接上手)

前言对于Linux新手来说&#xff0c;无需死记硬背所有命令&#xff0c;重点掌握这30个高频基础命令&#xff0c;就能完成日常90%的操作&#xff08;目录切换、文件管理、系统查看等&#xff09;。本文按“使用场景分类”&#xff0c;每个命令标注【用法示例新手提示】&#xff0…...

手把手教你用CANoe分析CAN FD报文:从帧格式到CRC校验实战

CAN FD报文解析实战&#xff1a;从帧结构到CRC校验的工程化操作指南 在汽车电子和工业控制领域&#xff0c;CAN总线技术已经演进到更高效的CAN FD标准。对于已经掌握CAN基础知识的工程师而言&#xff0c;如何将理论转化为实际工程能力&#xff0c;特别是在使用行业标准工具CAN…...

【企业级实战】如何设计一套真正具备“100%物理交割能力”的白盒自研Web后端中台架构?(附核心拦截器代码)

在 2026 年企业级信息化项目交付中&#xff0c;“源码确权”与“独立脱机自运行”已经成为信创等保和数据合规的刚性技术指标。很多团队在交付网站或企业级 Web 门户时&#xff0c;由于依赖了带有云端鉴权验证的黑盒第三方插件&#xff0c;或者后台架构存在远程遥控隐患&#x…...

ESP32 ADC采样避坑大全:从WiFi冲突到内存爆炸,我的五个实战教训(附代码)

ESP32 ADC采样避坑实战指南&#xff1a;从硬件冲突到代码优化的深度解析 在物联网设备开发中&#xff0c;ADC&#xff08;模数转换器&#xff09;作为连接物理世界与数字世界的桥梁&#xff0c;其性能直接影响着数据采集的准确性。ESP32作为一款高性价比的Wi-Fi/蓝牙双模芯片&a…...

CTFSHOW-WEB入门(1)信息收集

web1f12得到flagweb2虽然f12不能打开&#xff0c;但是curlU就直接开了得到flag也可以在url前面加个view-source&#xff0c;效果一样也可以通过浏览器打开开发者工具web3没思路的时候抓个包看看&#xff0c;可能会有意外收获得到flagweb4总有人把后台地址写入robots&#xff0c…...

解放你的B站缓存视频:3步让m4s文件变身为通用MP4格式

解放你的B站缓存视频&#xff1a;3步让m4s文件变身为通用MP4格式 【免费下载链接】m4s-converter 一个跨平台小工具&#xff0c;将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾经在B站缓存了精彩的教…...

【NotebookLM因子分析实战指南】:3步解锁AI驱动的维度降维与业务洞察力

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;NotebookLM因子分析辅助的底层逻辑与价值定位 NotebookLM 是 Google 推出的面向研究者的 AI 助手&#xff0c;其核心能力并非泛化式问答&#xff0c;而是基于用户上传文档进行“可信引用驱动”的深度推…...

技术文档检索总失败?Perplexity的chunking策略、embedding模型选型与rerank阈值调优(附实测Benchmark数据)

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;技术文档检索总失败&#xff1f;Perplexity的chunking策略、embedding模型选型与rerank阈值调优&#xff08;附实测Benchmark数据&#xff09; 技术文档检索失败常源于文本切分不合理、语义表征能力不足或重排…...

别让拼写检查器坑了你的代码!Visual Studio中自定义排除字典(exclusion.dic)的完整用法

深度定制Visual Studio拼写检查&#xff1a;打造团队专属的exclusion.dic解决方案 当你在Visual Studio中看到熟悉的红色波浪线时&#xff0c;第一反应可能是代码出现了语法错误。但仔细一看&#xff0c;却发现是拼写检查器在提醒你"Hint"不是一个有效的英文单词。这…...