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

电子技术——晶体管尺寸

电子技术——晶体管尺寸

在本节我们介绍关于IC设计的一个重要的参数晶体管尺寸(例如长度和长宽比)。我们首先考虑MOS反相器。

反相器尺寸

为了说明 (W/L)(W/L)(W/L) 的尺寸大小以及 (W/L)p(W/L)_p(W/L)p(W/L)n(W/L)_n(W/L)n 的比例问题对于MOS的性能问题。

  1. 为了缩小尺寸,所有沟道的长度在工艺允许的情况下应该设计成一样以来缩小IC尺寸。
  2. 对于给定的反相器,如果我们希望严格减小最小面积,则 (W/L)n(W/L)_n(W/L)n 通常选择为 1 到 1.5 。对于 (W/L)p(W/L)_p(W/L)p 的选择相对于 (W/L)n(W/L)_n(W/L)n 会影响噪声容限和 tPLHt_{PLH}tPLH 。设计师应该优化 QPQ_PQPQNQ_NQN 的匹配问题,我们之前知道越好的匹配就会造成IC硅面积的浪费而且还会增加有效的容抗 CCC ,所以尽管 tPLH=tPHLt_{PLH} = t_{PHL}tPLH=tPHL 此时两个值均大于没有完美匹配的情况。因此选择 (W/L)p=(W/L)n(W/L)_p = (W/L)_n(W/L)p=(W/L)n 是一种选择,但是 (W/L)p=2(W/L)n(W/L)_p = 2(W/L)_n(W/L)p=2(W/L)n 通常是在权衡利弊的情况下的一种更优的选择。
  3. 解决完 (W/L)p(W/L)_p(W/L)p(W/L)n(W/L)_n(W/L)n 的比例匹配问题,我们需要选择 (W/L)n(W/L)_n(W/L)n 来减小 tPt_PtP 从而提高数字系统的响应时间。增加 (W/L)n(W/L)_n(W/L)n 就会增加MOS的面积,进而导致电容 CCC 的增加。为了更精确的说明,我们将 CCC 表示为 C=Cint+CextC = C_{int} + C_{ext}C=Cint+Cext 其中 CintC_{int}Cint 是MOS管的内部电容,而 CextC_{ext}Cext 是MOS的外部电容,包括线间电容和负载输入容抗。

增加MOS的长宽比 W/LW/LW/L 为最小尺寸反相器的 SSS 倍,会导致:

C=SCint0+CextC = SC_{int0} + C_{ext} C=SCint0+Cext

这里 Cint0C_{int0}Cint0 是最小尺寸反相器的内部电容。

现在,若我们使用RC方法计算 tPt_PtP ,等效的电阻为:

Req=12(RN+RP)R_{eq} = \frac{1}{2}(R_N + R_P) Req=21(RN+RP)

那么:

tP=0.69ReqCt_P = 0.69R_{eq}C tP=0.69ReqC

若我们定义最小尺寸反相器的等效电阻为 Req0R_{eq0}Req0 ,增加MOS的长宽比 W/LW/LW/L 为最小尺寸反相器的 SSS 倍会导致:

Req=Req0/SR_{eq} = R_{eq0} / S Req=Req0/S

带入所有的表达式可以得到:

tP=0.69(Req0S)(SCint0+Cext)=0.69(Req0Cint0+1SReq0Cext)t_P = 0.69(\frac{R_{eq0}}{S}) (SC_{int0} + C_{ext}) = 0.69(R_{eq0}C_{int0} + \frac{1}{S} R_{eq0}C_{ext}) tP=0.69(SReq0)(SCint0+Cext)=0.69(Req0Cint0+S1Req0Cext)

这说明放大比例 SSS 并不会影响内部电容对于 tPt_PtP 的影响,然而,会降低外部电容的分量值。我们可以使用上式来选择一个合适的 SSS 来将 tPt_PtP 保持在最小值,同时要注意增加 SSS 会增加MOS的硅面积。

CMOS逻辑门中的晶体管尺寸

当决定使用CMOS电路的时候,唯一的重要的事情就是决定所有器件的 W/LW/LW/L 比例。最好情况下,我们必须让CMOS逻辑门电路的电流驱动能力必须等于相同的反相器的电流驱动能力。对于基本反相器,我们记 (W/L)n=n(W/L)_n = n(W/L)n=n 并且 (W/L)p=p(W/L)_p = p(W/L)p=p ,这里 n=1≃1.5n = 1 \simeq 1.5n=11.5 ,对于匹配设计 p=(μn/μp)np = (\mu_n/\mu_p) np=(μn/μp)n 通常 p=2np = 2np=2n 对于最小尺寸设计 p=np = np=n 。因此,我们在设计PDN的时候,我们必须选择每一个MOS的长宽比让其PDN的泄放电流能力至少等于一个 W/L=nW/L = nW/L=n 的NMOS的泄放电流能力。同样的对于PUN来说,我们必须选择每一个MOS的长宽比让其PUN的提供电流能力至少等于一个 W/L=pW/L = pW/L=p 的PMOS的提供电流能力。这保证了逻辑门电路延迟的最坏情况——等同于基本反相器。

基于上述的讨论,我们必须强调“最坏情况”是什么。这意味着,我们在选择晶体管尺寸的时候,我们需要找到一种输入的组合方式使得最低输出电流等于基本反相器的电流。在我们讨论具体的例子之前,我们首先要解决如何决定多个MOS管组合逻辑门电路的电流的驱动能力,也就是找到等价单个MOS W/LW/LW/L 的值。首先我们考虑MOS串联和并联时候的情况。

基于 RonR_{on}RonW/LW/LW/L 反比的事实,若多个MOS管串联,每个MOS的宽长比分别为 (W/L)1,(W/L)2,…(W/L)_1,(W/L)_2,\ldots(W/L)1,(W/L)2, 等价的电阻为:

Rseries=RN1+RN2+…=const(W/L)1+const(W/L)2+…=const[1(W/L)1+1(W/L)2+…]=const(W/L)eqR_{series} = R_{N1} + R_{N2} + \ldots = \frac{const}{(W/L)_1} + \frac{const}{(W/L)_2} + \ldots = const[\frac{1}{(W/L)_1} + \frac{1}{(W/L)_2} + \ldots] = \frac{const}{(W/L)_{eq}} Rseries=RN1+RN2+=(W/L)1const+(W/L)2const+=const[(W/L)11+(W/L)21+]=(W/L)eqconst

那么等价的长宽比为:

(W/L)eq=11(W/L)1+1(W/L)2+…(W/L)_{eq} = \frac{1}{\frac{1}{(W/L)_1} + \frac{1}{(W/L)_2} + \ldots} (W/L)eq=(W/L)11+(W/L)21+1

同样的方法,能够导出并联时候的情况:

(W/L)eq=(W/L)1+(W/L)2+…(W/L)_{eq} = (W/L)_1 + (W/L)_2 + \ldots (W/L)eq=(W/L)1+(W/L)2+

现在,考虑下图的一个四变量输入的或非门:

或非门
其中对于PDN来说,最坏的情况(最小电流)是四个NMOS只有一个导通,因此,我们对于每一个NMOS都选择 W/L=nW/L = nW/L=n 即可。对于PUN来说最坏的情况(也是唯一的情况)是四个PMOS均导通,根据串联MOS公式,我们让每个PMOS的 W/L=4pW/L = 4pW/L=4p 即可。

另外一个例子是四变量输入的与非门,如图:

与非门
需要注意的是,通常 pppnnn 的2到3倍,因此或非门的体积要大于与非门的体积。基于此原因,设计师更愿意使用NAND来实现组合逻辑。

扇入扇出效应与传播延迟

每一个CMOS们电路的每一个输入变量都需要提供给两个晶体管,一个NMOS和一个PMOS。相比于另外一种只需要一种输入链接到一个晶体管的MOS逻辑门电路来说,例如伪NMOS逻辑门电路,额外的晶体管不仅增加了芯片的面积,而且还增加总有效阻抗从而增加了传播延迟。增加MOS的宽长比可以在一定程度上补偿这种传播延迟。特别的,通过增大元件的尺寸,我们可以保留电流驱动能力,然而却增加了总有效容抗。因此 tPt_PtP 仍然会受到扇入数的影响,扇入数指的实际的接入晶体管数量,例如NAND的扇入数是4。如果需要更多的输入变量,明智的电路设计者会通过巧妙的变换或者设计让输入变量的个数不超过4个。这通常意味着需要增加联级的数量,这同样会增加传播延迟。然而,相比之下,这种方法的传播延迟增加总比之前未优化的情况要小。

同样的,对于扇出数来说,其直接关系到负载的容抗,因此扇出数越大,则负载的容抗越大,传播延迟越大。

因此尽管CMOS有许多优点,当扇入和扇出数增加的时候,同样会受到电路复杂性的影响,导致芯片面积和传播延迟的增加。

驱动大电容

在一些特别的CMOS电路中,需要驱动较大的容性负载。例如,在IC中较长的走线,或是需要通过片外PCB走线的信号,此时的容抗要比普通情况下的容抗大上百倍。

我们需要一种在可以忍受的传播延迟下驱动大容抗的方法。下图展示了一个标准反相器驱动电容 CLC_LCL 的演示图:

电容驱动

上面的模型,我们简单的总结为从输入端看过去容值为 CCC 等效电容为 RRR 的CR模型,因为 CLC_LCL 为负载容抗,根据估算:

tP=τ=CLRt_P = \tau = C_LR tP=τ=CLR

延迟将会非常大。

一种解决方法是,放大反相器的体积,如图:

增大体积
这里的反相器是参考反相器的 mmm 倍,此时输出电阻将会是 R/mR/mR/m ,此时的传播延迟为:

τ=CL(R/m)\tau = C_L(R/m) τ=CL(R/m)

传播延迟将会降低 mmm 倍,但是这并不是一个方法。观察到输入的容抗变成了原来的 mmm 倍,这需要一个更大的反相器来驱动他,并没从根本上解决问题,而是把负担交给了其他反相器。

但是,这种方法给我们了一种解决问题的思路,即使用联级反相器,如图:

联级反相器
观察上图,我们发现反相器的尺寸成等比数列,我们发现每一级之间的传播延迟都为:

τ=xCR\tau = xCR τ=xCR

特别的,可以证明当满足:

τn≡CL(Rxn−1)=xCR\tau_n \equiv C_L(\frac{R}{x^{n-1}}) = xCR τnCL(xn1R)=xCR

的时候,也就是:

xn=CLCx^n = \frac{C_L}{C} xn=CCL

整体延迟最小为:

tP=τtotal=nxCRt_P = \tau_{total} = nxCR tP=τtotal=nxCR

问题是如何选定 xxxnnn 。在数学中可以证明,当 x=e≃2.718x = e \simeq 2.718x=e2.718 的时候,传播延迟最小。实际上,在2.5-4之间都可以提升性能。

相关文章:

电子技术——晶体管尺寸

电子技术——晶体管尺寸 在本节我们介绍关于IC设计的一个重要的参数晶体管尺寸(例如长度和长宽比)。我们首先考虑MOS反相器。 反相器尺寸 为了说明 (W/L)(W/L)(W/L) 的尺寸大小以及 (W/L)p(W/L)_p(W/L)p​ 和 (W/L)n(W/L)_n(W/L)n​ 的比例问题对于MO…...

Tuxera NTFS2023MacOS读写软件功能介绍使用

当我们遇到磁盘不能正常使用的情况时本能的会以为是磁盘损坏了,但某些情况下却并非如此。对于mac操作系统来说,软件无法使用设备无法正常读写似乎是很常见的事,毕竟现在的mac电脑对PC机上的产品无法完全适应使用,经常会存在兼容方…...

2022年数维杯国际大学生数学建模挑战赛A题自动地震地平线跟踪解题全过程论文及程序

2022年数维杯国际大学生数学建模挑战赛 A题 自动地震地平线跟踪 原题再现: 随着我国经济社会发展,地质工作的重要性也日益提高。地震资料解释是地震勘探工程的一个重要阶段,可以明确油气勘探的地下构造特征,为油气勘探提供良好和…...

推荐系统[八]:推荐系统常遇到问题和解决方案[物品冷启动问题、多目标平衡问题、数据实时性问题等]

相关文章推荐: 推荐系统[一]:超详细知识介绍,一份完整的入门指南,解答推荐系统相关算法流程、衡量指标和应用,以及如何使用jieba分词库进行相似推荐,业界广告推荐技术最新进展 推荐系统[二]:召回算法超详细讲解[召回模型演化过程、召回模型主流常见算法(DeepMF/TDM/Ai…...

shutil.copyfile PermissionError: [Errno 13] Permission denied

File "G:/od15/调试/翻译文件更换/更新翻译po文件.py", line 42, in <module> shutil.copyfile(gxpath,dir_file_path) File "E:\odsoft\python\lib\shutil.py", line 120, in copyfile with open(src, rb) as fsrc: PermissionError: [Er…...

07react+echart,大屏代码开发

react框架引入第三方插件原链接gitHub:GitHub - hustcc/echarts-for-react: ⛳ Apache ECharts components for React wrapper. 一个简单的 Apache echarts 的 React 封装。import ReactECharts from echarts-for-react;import * as echarts from echarts;一、软件简介echarts-…...

【数据库原理复习】ch2 SQL语句(主要基于sql server)

这里写目录标题基本知识常用基本数据类型字符型数据类型二进制数据类型日期类型数字类型约束条件表SQL语句创建语句修改基本表 & 删除基本表数据查询基本知识 常用基本数据类型 字符型数据类型 名称大小说明char(n)占n个字节只能显示英文字符nchar(n)2n字节2字节额外开销…...

Cadence Allegro 导出Component Pin Report详解

⏪《上一篇》   🏡《上级目录》   ⏩《下一篇》 目录 1,概述2,Component Pin Report作用3,Component Pin Report示例4,Component Pin Report导出方法4.1,方法14.2,方法2B站关注“硬小二”浏览更多演示视频 1,概述...

PAT甲级 1110 Complete Binary Tree

题目链接 PAT甲级 1110 Complete Binary Tree 思路 第一次的写法不是很好。 对于这种完全二叉树的层序遍历&#xff0c;比较烦人的就是空孩子使得处理很麻烦。 思来想去还是把空位置也入队比较好。 这样的话&#xff0c;访问到空指针的时机被推迟了一个level 而完全二叉树的…...

【JavaSE】逻辑控制语句

文章目录一. 顺序结构二. 分支结构1. if 语句2. switch 语句3、循环结构3.1 while 循环3.2 do while 循环3.3 for 循环3.4 break 和 continue三. 输入输出1. 输出到控制台2. 从键盘输入一. 顺序结构 顺序结构比较简单&#xff0c;即程序按照代码书写的顺序一行一行执行下去。 …...

Motionbuilder系统文件说明

安装路径 Motionbuilder 默认的安装路径在 C:\Program Files\Autodesk\MotionBuilder\ 用户数据(user data) 位于安装路径下的 bin\config 非管理员用户的配置文件路径 Motionbuilder会将配置文件备份到 \Users[user]\AppData\Local\Autodesk[MotionBuilder] 当用户第一次打开…...

【我的Android开发】AMS中Activity栈管理

概述 Activity栈管理是AMS的另一个重要功能&#xff0c;栈管理又和Activity的启动模式和startActivity时所设置的Flag息息相关&#xff0c;Activity栈管理的主要处理逻辑是在ActivityStarter#startActivityUnchecked方法中&#xff0c;本文也会围绕着这个方法进进出出&#xf…...

C++源程序的构成————学习笔记

以下内容为&#xff0c;在学校上课时的课堂总结&#xff0c;偶尔我也会扩展一些内容内容仅供参考&#xff0c;欢迎大佬的指正简单的C程序#include <iostream> using namespace std;int main() {int x0;int y 0;cout << "请输入x,y的值"<<endl;cin…...

Spark Catalyst

Spark Catalyst逻辑计划逻辑计划解析逻辑计划优化Catalyst 规则优化过程物理计划Spark PlanJoinSelection生成 Physical PlanEnsureRequirementsSpark SQL 端到端的优化流程&#xff1a; Catalyst 优化器 : 包含逻辑优化/物理优化Tungsten : Spark SQL的优化过程 : 逻辑计划 …...

element 远程搜索下拉加载

created() { this.getList(); this.getGroupList(); }, directives: { /** 下拉框懒加载 */ “el-select-loadmore”: { bind(el, binding) { const SELECTWRAP_DOM el.querySelector( “.el-select-dropdown .el-select-dropdown__wrap” ); SELECTWRAP_DOM.addEventListener…...

空间复杂度与顺序表的具体实现操作(1)

最近更新的少&#xff0c;主要是因为参加了ACM竞赛空间复杂度空间复杂度也是一个数学表达式&#xff0c;是对一个算法在运行过程中临时占用存储空间大小的量度 。空间复杂度不是程序占用了多少bytes的空间&#xff0c;因为这个也没太大意义&#xff0c;所以空间复杂度算的是变量…...

【springmvc】Rest ful风格

RESTful 1、RESTful简介 REST&#xff1a;Representational State Transfer&#xff0c;表现层资源状态转移。 a>资源 资源是一种看待服务器的方式&#xff0c;即&#xff0c;将服务器看作是由很多离散的资源组成。每个资源是服务器上一个可命名的抽象概念。因为资源是一…...

华为OD机试真题Python实现【用户调度】真题+解题思路+代码(20222023)

用户调度 题目 在通信系统中有一个常见的问题是对用户进行不同策略的调度,会得到不同系统消耗的性能。 假设由N个待串行用户,每个用户可以使用A/B/C三种不同的调度策略。 不同的策略会消耗不同的系统资源,请你根据如下规则进行用户调度,并返回总的消耗资源数。 规则是: …...

JavaSE学习笔记总结day19

今日内容 二、线程安全的集合 三、死锁 四、线程通信 五、生产者消费者 六、线程池 零、 复习昨日 创建线程的几种方式 1) 继承 2) 实现Runnable 3) callable接口 Future接口 4) 线程池 启动线程的方法 start() 线程的几种状态 什么是线程不安全 setName getName Thread.curr…...

FreeSql使用

目的: 1.方库分表 2.主从分离 3.分布式事务 过程&#xff1a; 官网&#xff1a;指南 | FreeSql 官方文档 1.Startup.cs 添加配置&#xff08;本地数据库MySql&#xff09; ConfigureServices&#xff1a; Func<IServiceProvider, IFreeSql> fsql r >{IFreeSql …...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能&#xff0c;我们需要对它的功能特点进行分析&#xff1a; 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具&#xff1a; mysql&#xff1a;关系型数据库&am…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生&#xff0c;我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要&#xff0c;而您认真负责的教学态度&#xff0c;让课程的每一部分都充满了实用价值。 尤其让我…...

使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度

文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比

在机器学习的回归分析中&#xff0c;损失函数的选择对模型性能具有决定性影响。均方误差&#xff08;MSE&#xff09;作为经典的损失函数&#xff0c;在处理干净数据时表现优异&#xff0c;但在面对包含异常值的噪声数据时&#xff0c;其对大误差的二次惩罚机制往往导致模型参数…...

并发编程 - go版

1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程&#xff0c;系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...

MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用

文章目录 一、背景知识&#xff1a;什么是 B-Tree 和 BTree&#xff1f; B-Tree&#xff08;平衡多路查找树&#xff09; BTree&#xff08;B-Tree 的变种&#xff09; 二、结构对比&#xff1a;一张图看懂 三、为什么 MySQL InnoDB 选择 BTree&#xff1f; 1. 范围查询更快 2…...

stm32wle5 lpuart DMA数据不接收

配置波特率9600时&#xff0c;需要使用外部低速晶振...

小木的算法日记-多叉树的递归/层序遍历

&#x1f332; 从二叉树到森林&#xff1a;一文彻底搞懂多叉树遍历的艺术 &#x1f680; 引言 你好&#xff0c;未来的算法大神&#xff01; 在数据结构的世界里&#xff0c;“树”无疑是最核心、最迷人的概念之一。我们中的大多数人都是从 二叉树 开始入门的&#xff0c;它…...

Python训练营-Day26-函数专题1:函数定义与参数

题目1&#xff1a;计算圆的面积 任务&#xff1a; 编写一个名为 calculate_circle_area 的函数&#xff0c;该函数接收圆的半径 radius 作为参数&#xff0c;并返回圆的面积。圆的面积 π * radius (可以使用 math.pi 作为 π 的值)要求&#xff1a;函数接收一个位置参数 radi…...