Level shifter

news/2025/3/19 21:54:59/文章来源:https://www.cnblogs.com/Rizadan/p/18231728


(M1由关断到开启,肯定是先进入饱和区,因为这个临界点时,M1的Vds=VDDH>Vgs-Vth1=VDDL-Vth1,肯定是饱和区)
M1的饱和区电流肯定先是大于M3的线性区电流,使得N点持续由VDDH放电到地,这个过程不能使得M1电流小于M3电流,否则N点下拉失败,OUT无法输出高电平VDDH。也就是说,这个过程中M1和M3竞争,M1要赢过M3,才会使得N点下拉成功,OUT输出VDDH。同理,M2也要赢过M4。
第一种情况:当N点放电的时候,N点电压由VDDH减小,即M1的Vds减小,M3的Vds增大,M1的电流减小,M3的电流增大,那么,两者会有相等的时候吗?肯定会有,当两者电流相等的时候,如果N点电压足够高,使得M4无法导通,那么M1和M3会一直保持这个电流,N点电压保持,电路维持在这个状态。这个状态是我们不希望的。

第二种情况:当M3电流增大,M1电流减小过程中,在二者电流相等之前,N点电压就足以使得M4导通,M点被上拉到VDDH,M3关断,上拉能力很快减弱到没有,使得N点继续放电到0,输出OUT输出高电平VDDH,这种情况是我们希望的。
正反馈在哪里呢,当N点电压减小到使得M4导通,那么M点电压增大,促使M3关断,下拉能力减小,使得N点继续减小,这就是正反馈。
那么,如何才能保证是第二种状态而不是第一种呢?只要nmos的下拉大于pmos的上拉就可以了。
临界点的M1和M3的宽长比计算依据:当M1和M3电流相等时,N点电压恰好使得M4导通,即N点电压为VDDH-|Vth4|。(M3和M4的Vth相等)

但是nmos的宽长比远远大于pmos的宽长比也会带来一个新问题,就是下拉电流远大于上拉的电流,这样导致risetime和fall time的不一致。

最简单的办法就是增加pmos的尺寸和修改后面inv的尺寸。
修改之后有良好的改善,将差距缩小到40ps左右。但是要注意跑一下mc仿真,以防功能不正常。但是这样的修改方式是有极限的,那需要更好的结果就需要更改架构。

在pmos管DS端增加电阻,用来扩大上拉电流,在M1/M2上增加M5/M6管子通过使能控制完全关断下拉电流,这样可以使建立更加迅速,但是需要通过后面的使能控制让其功能正常。


注意事项
虽然说高到低不加level shifter也不会影响逻辑功能,但是不加也会有坏处,关于高到低不加HL的危害有四种说法:
第一种说法,过驱动会产生额外的电流;
第二种说法,某些极端情况下,输入端的逻辑0会被输出端当做逻辑1;
第三种说法,压差过大会对信号输出端的晶体管氧化层造成破坏(一般认为高压高过低压25%就会影响器件寿命)
第四种说法,仔细观察过pmk库liberty文件会发现,level shifter有一个输入输出电压的范围,这是普通cell没有的,不用HL的话,仅使用普通cell延迟计算会不够准确,压差越大偏差越多。
HL型level shifter从结构上看,可以看做buffer或是串联的inverter,延迟很小对时序影响不大。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从上下文切换谈thread_local工作原理

介绍thread_local的实现原理从上下文切换谈thread_local工作原理 thread_local是什么 熟悉多线程编程的小伙伴一定对thread_local不陌生,thread_local 是 C++11 引入的一种存储类说明符,用于定义每个线程都有其独立实例的变量。每个线程对这些变量有自己的副本,而不共享其他…

POR

上电复位(POR)电路,其作用是保证在施加电源后,模拟和数字模块初始化至已知状态。基本上电复位(POR)功能会产生一个内部复位脉冲以避免"竞争"现象,并使器件保持静态,直至电源电压达到一个能保证正常工作的阈值。注意,此阈值电压不同于数据手册中给出的最小电…

C++U7-07-图的遍历进阶

学习目标 引例 深搜遍历 [【图的遍历进阶】有向图中的可达]【算法分析】 从 a 点广搜,并用 vis 数组标记从 a 能够到达的点,如果 vis b ​=true,则表示能够到达,否则反之。【参考代码】 #include<bits/stdc++.h> using namespace std; const int maxn = 2e5 + …

第2次总结性Blog-题目集4~6

目录前言 设计与分析 采坑心得 改进建议 总结关于java&面向对象在经过这几个月的系统性的java学习中,我始终牢记着一句话:面对对象程序设计最重要的是设计,而不是代码。设计即要遵守单一职责原则,简单来说就是什么该做,什么不该做。设计的越好,复用性就越高,需要修改…

一款WPF的精简版MVVM框架——stylet框架的初体验(包括MVVM绑定、依赖注入等操作)

今天偶然知道一款叫做stylet的MVVM框架,挺小巧的,特别是它的命令触发方式,简单粗暴,让人感觉很巴适,现在我做一个简单的demo来顺便来分享给大家。 本地创建一个WPF项目,此处我使用.NET 8来创建。然后引用stylet最新的nuget包。 然后删掉App.xaml里面自带的启动项删掉以后…

按键中断驱动程序-poll机制

前言:学东西的时候总是喜欢碎碎念,去思考该怎么学。关于嵌入式开发,以前就觉得嵌入式只是一个工具,关键还是结合专业知识赋能,比如控制、信号处理、神经网络、计算机网络、各种协议比如蓝牙、wifi,音视频,当然,如果能够把内核学的很透彻,那也是很了不起的。现在越学越…

UDP协议的应用——域名解析

设计程序实现解析www.baidu.com 的域名,把获取到的百度的IP地址全部输出到终端并验证是否正确设计程序实现解析www.baidu.com 的域名,把获取到的百度的IP地址全部输出到终端并验证是否正确 /******************************************************************************…

基于腾讯元器搭建前端小助手

通过本文,我们了解了如何利用腾讯元器搭建一个前端助手智能体。通过使用插件和观察其使用效果,我们可以发现前端助手在解决问题和提供帮助方面的潜力。这个前端助手可以成为我们在前端开发过程中的得力助手,帮助我们提高工作效率和解决难题。随着智能技术的不断进步,我们可…

根据域名获取IP

/**************************************************************************************************************************************** file name:multicast.c* author :momolyl@126.com* date :2024/06/04* brief :设计程序实现解析www.baidu.co…

npm下载依赖报错:operation not permitted

npm下载依赖报错:operation not permitted 想下个SoybeanAdmin来用下,需要用到pnpm,但是用npm下载的时候直接报错简单来说就是权限的问题,网上很多都说改nodejs下面的几个文件夹的权限,我的评价是不好使,还得修改nodejs这个文件夹的权限才行,右键属性-安全-编辑-勾上完全…