概述
闩锁效应,latch up,是个非常重要的问题。现在的芯片设计都不可避免的要考虑它。我今天就简单地梳理一下LUP的一些问题。
啥是所谓的latch up呢?一句话总结起来很简单:CMOS中形成了两个BJT,基极和集电极接在了一起,形成正反馈回路,电流大到一定程度可能会使芯片失效甚至烧坏芯片。这两个BJT其实就是一个npnp的结构,pmos的源/漏、n阱、nmos的p衬底构成一个pnp的BJT,而pmos的n阱、nmos的p衬底、nmos的源漏构成一个npn的BJT。这两个BJT共用了nmos的p substrate、pmos的n well,其等效电路图相当于这两个BJT的base和collector接在一起了。我在网上随便找了个图大家可以参考,图中的各种电阻啥的可以忽略,就看三极管怎么连的就行。
重点来了,假设现在有一个扰动,使得pmos的n well电势小于Vdd,其电势差大于PNP的开启电压,发射极正偏,PNP就工作在放大状态了,集电极出来的放大的电流将是基极电流的一个倍数,而这个电流也相当于NPN基极电流,此时NPN也会在放大区,NPN放大出来的电流又是PNP的基极电流。这就形成了一个正反馈的回路,你放大我,我放大你,只要这两个放大系数之积大于1,那么这里的电流就会越来越大,直至爆炸。
开个玩笑,爆炸应该是不会爆炸的,但是芯片停止工作是一定的。这个时候就只能把芯片断电,然后重新开启才行了——前提是芯片电路没有被烧坏。想想如果一个芯片隔一会必须断电一次,那谁受得了,所以这个latch up一定要消除才行。我就讲一讲目前我所能理解的集中消除latch up的方法。
第一,从源头出发,既然latch up的发生来自于扰动,那我们就尽量消除这个扰动对我们cell的影响。我这里所谓的扰动,基本都是来自于静电,所以越靠近IO的cell越要注意latch up的问题。一般来说,越靠近IO的cell所要遵循的LUP rule越严格。一种方法是加guard ring,可以减小噪声和静电的影响。这也是我目前唯一知道的方法哈哈。
第二,可以在BJT的放大系数上做文章。只要能保证两个BJT的beta之积小于1,就能有效消除latch up。一种方法是尽量让nmos和pmos隔的远一些,这个具体原理我还不是很清楚,需要非常深入的器件知识才行。
第三,尽量保证BJT基极与发射极电势相差不大,也就是不让BJT工作在放大区。一种方法是把n well接Vdd,p substrate接Vss。注意,这里可能就有疑惑了,我在上学的时候学的标准的CMOS本来就是n well接Vdd,p substrate接Vss的呀。实际上在老的工艺貌似确实是是这样,每一个cell都是这么接,但是这样会有点浪费面积。现在的工艺cell的layout应该不会画这部分了,而是需要我们后端摆放cell时候加进来tap cell,其作用就是接n well和p substrate到Vss和Vdd上。因为std cell一个一个排在一起的时候,它们的n well和p substrate是公用的,所以不需要每个cell都连,只需要隔一段距离摆一个tap cell就行了。这个方法可能也是和我们后端关系最大的了,前两种多是layout要考虑的吧。
另外还有别的方法,我目前还不知道。Latch up和ESD防护这一块要考虑的东西还有很多,我还要继续学习才行啊。
微信公众号:伟酱的芯片后端之路
最后
以上就是还单身乌龟为你收集整理的简单说一说闩锁效应LUP的全部内容,希望文章能够帮你解决简单说一说闩锁效应LUP所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复